Modelica - 如何实现记录的构造函数

问题描述:

实现记录的构造函数的最佳方法是什么?看起来像一个函数应该能够在记录的实例化中返回一个记录对象,这个记录对象在树的更高一些的后面的模型中,但是我不能让它工作。现在我只是在记录的顶部使用一堆parameters来填充记录中存储的变量,但似乎只能在简单情况下使用。Modelica - 如何实现记录的构造函数

任何人都能点亮一点光线吗?也许我不应该使用记录而是模型。也有人知道PDE功能是如何来的吗?这本书只是说它即将到来,但我看到了其他一些东西。

我似乎没有影响力来添加标签(这是有道理的,因为我的“名声”比你低),所以很抱歉。我以为我实际上已经加了一个,但也许我错了。

我认为你需要明确你的意思是由构造函数决定,因为它在Modelica中有非常明确的含义。如果我正确地理解了你的问题,听起来你想要做的是创建一个记录的实例,该实例有一些在构造函数参数中指定的字段,并从这些参数计算记录中的一堆其他字段。那是对的吗?

如果是这样,有一个机制来做到这一点。你提到“这本书”,但不清楚你的意思。如果它是我的,它肯定没有提到这些所谓的“记录构造者”,因为它太旧了。我不知道Peter Fritzson的书是否也提到过他们。但是,它们确实存在并记录在Modelica 3.2 specification的12.6节中。

至于偏微分方程,已经有这样的工作,但在这个主题的设计组内没有真正做过。我想补充一点,如果你想在常规网格上求解椭圆或抛物线的偏微分方程,即使使用当前的语言,这也不算太难。唯一的缺点是大多数工具可能无法高效处理稀疏性。不规则的网格也是可能的,但是你会陷入复杂的基础函数。最后,由于时间和空间之间难以表达的隐含物理约束(即CFL条件),在我看来,双曲线偏微分方程非常复杂(在任何环境中)。

我希望能回答你的问题。

+0

谢谢,规范是足够可读的理解。我如何知道我的Modelica环境是否符合该规范(OpenModelica ubuntu repo版本),是否有一些我可以检查的命令?但是,嘿,有人为我制作了标签。我会确定另一个问题,但我需要写一个最简单的例子。再次感谢! – 2010-11-27 14:57:22

+0

哦,是的,我的意思是彼得弗里兹森的书。是否有一些更新的材料可用,或者我应该继续与他的补充规范? – 2010-11-27 15:33:34

我只能评论你关于彼得弗里兹森的书的问题。他证实他正在进行更新,他希望在2011年做好准备。

原帖在这里:

http://openmodelica.org/index.php/forum/topic?id=50

并感谢启动Modelica的标签,我可能会在不久的将来对我来说太有用了... :-)

问候, 罗埃尔