为什么 "across variable" 不计入 Modelica 规范中的局部未知数?

Why doesn't the "across variable" count in the local number of unknowns in Modelica specification?

Modelica specification 3.4的4.7章节中,局部未知数的定义没有计算“跨变量”,它给出的Example也暗示了同样的方法,但我不知道为什么我不应该考虑“跨变量”吗?

“局部未知数”不是模型中所有未知变量的总和吗?

我也查了论文Balanced Models in Modelica 3.0 for Increased Model Quality,这里是这篇论文的截图。 本文中显示对物理连接器的限制的最简单示例也没有说明为什么它不计算交叉变量。

在我看来,局部未知数是nf+np,根据Modelica语义,Modelica编译器生成了nf个方程(m1.c.f = 0; // nf equations)。所以外方程的个数应该是ne=nf+np-nf=np。但是在这篇论文中,它说外部方程的数量应该是ne=nf

如果连接器在下一级未连接,这将添加 nf=ne 方程(所有流量为零),如果我们改为连接它,也会有 nf=ne 方程。

因此,如果我们将跨变量计算为本地未知数,那么我们还必须通过添加 nf 或 ne 方程来进行补偿。那也可以,但我们决定不这样做 - 这可能与下一点有关:

使用流变量数量而不是跨变量的原因是,还有 over-determined 个连接器,您无法简单地计算跨变量。