【问题标题】:Does Openmodelica augment the equations to have a determined system?Openmodelica 是否将方程扩充为具有确定的系统?
【发布时间】:2016-07-20 18:00:29
【问题描述】:

我正在使用 PowerSystem 库玩 OpenModelica,发现了一些奇怪的东西。

为了全面了解块类中的方程约束是什么,我总是单独打开每个块并对其进行实例化,以获得扁平模型的变量和方程的完整列表。

但是,我注意到,当我这样做时,实例化的模型有额外的方程,这些方程没有在代码中定义,涉及模块的类或任何父类的类,当我在另一个模型中使用模块时也不存在。

例如,在为简单电阻器 (AC1ph_DC) 实例化类时,它会添加使电流为零的方程式(最后四个方程式):

R[1] * i[1] = v[1];
R[2] * i[2] = v[2];
v[1] = term_p.v[1] - term_n.v[1];
v[2] = term_p.v[2] - term_n.v[2];
i[1] = term_p.i[1];
i[2] = term_p.i[2];
(...)
term_p.i[1] = 0.0;
term_p.i[2] = 0.0;
term_n.i[1] = 0.0;
term_n.i[2] = 0.0;

这是否由 OpenModelica 自动完成以在仅实例化电阻器时拥有一个可解的系统?是否有任何可用的文档?

另外,是否有任何“更正确”的方法来可视化任何块的扁平类代码?

【问题讨论】:

  • 正确的方法是实例化模型以查看完整的方程(扁平化的 Modelica 代码)。
  • 感谢 cmets。虽然实例化模型可能是“正确的”方法,但我觉得它不太有趣,因为我们无法追踪与特定变量/方程相关的类(块)。
  • 然后您可以使用 OMEdit 中的静态调试器来了解最终方程系统。它提供了返回源代码的链接。

标签: modelica openmodelica


【解决方案1】:

在 Modelica 中,未连接的流变量设置为零。 参见 Modelica 规范中的 9.2: https://modelica.org/documents/ModelicaSpec33Revision1.pdf

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-09
    • 2013-03-28
    • 1970-01-01
    • 2011-01-07
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多