【问题标题】:Modelica - how to implement a constructor for a recordModelica - 如何为记录实现构造函数
【发布时间】:2015-12-02 15:12:46
【问题描述】:

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

谁能解释一下?也许我不应该使用唱片,而应该使用模型。还有人知道 PDE 功能是如何出现的吗?书上只说它来了,但我看到了一些其他的东西。

【问题讨论】:

    标签: physics modeling modelica


    【解决方案1】:

    我似乎没有添加标签的影响力(这是有道理的,因为我的“声誉”低于您的),对此感到抱歉。我以为我实际上一次添加了一个,但也许我弄错了。

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

    如果是这样,有一种机制可以做到这一点。您提到“这本书”,但不清楚您指的是哪本书。如果是我的,肯定没有提到这些所谓的“记录构造器”,因为它太旧了。我不知道彼得弗里茨森的书是否也提到了他们。但是,它们确实存在,并记录在 Modelica 3.2 specification 的第 12.6 节中。

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

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

    【讨论】:

    • 谢谢,规范的可读性足以理解。我怎么知道我的 Modelica 环境是否符合该规范(OpenModelica ubuntu repo 版本),我可以给出一些命令来检查吗?但是,嘿,有人为我创建了标签。我会有另一个问题,但我需要写一个最小的例子。再次感谢!
    • 哦,是的,我指的是 Peter Fritzson 的书。是否有一些更新的材料可用,还是我应该继续使用他的并补充规范?
    • 当然有更旧的材料可用。 ;-)(无耻的插头)
    • 老实说,我的意思是,有时较旧的文档更适合学习,因为它先于所有的花里胡哨,因此更清楚地包含核心原则(只要它们仍然正确) )。我想我会查一下。
    【解决方案2】:

    我只能评论你关于彼得弗里茨森的书的问题。他确认他正在开发更新,并希望“在 2011 年”准备好。

    此处为原帖:

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

    感谢您启动 modelica 标签,在不久的将来我可能也会对我有用... :-)

    问候, 罗尔

    【讨论】:

    • 好极了,期待。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    相关资源
    最近更新 更多