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

时间:2010-11-26 17:41:54

标签: physics modeling modelica

为记录实现构造函数的最佳方法是什么?看起来函数应该能够在树的更高版本的某个后面的模型中返回记录实例化中的记录对象,但是我无法使其工作。现在我只是在记录顶部使用一堆parameters来填充存储在记录中的变量,但看起来这只会在简单的情况下起作用。

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

2 个答案:

答案 0 :(得分:3)

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

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

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

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

我希望到目前为止回答你的问题。

答案 1 :(得分:1)

我只能评论你关于彼得弗里兹森这本书的问题。他确认他正在进行更新,他希望在2011年“准备好”。

原帖:

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

感谢发起modelica标签,我在不久的将来也可能对我有用......: - )

的问候, 罗埃尔