Openmodelica 是否会增加方程以获得确定的系统?

Does Openmodelica augment the equations to have a determined system?

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

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

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

例如,当为一个简单的电阻器 (AC1ph_DC) 实例化 class 时,它添加了使电流等于零的方程式(最后四个方程式):

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 自动完成,以便在仅实例化电阻器时拥有可求解的系统?有可用的文档吗?

此外,是否有任何 "more correct" 方法可以可视化任何块的扁平化 class 代码?

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