Modelica 分配到连接器

Modelica 分配到连接器,modelica,openmodelica,Modelica,Openmodelica,我遗漏了Modelica连接器的一些基本内容,因为任何时候模型分配到法兰中,我都会得到太多的方程。在解析连接时,翻译器似乎添加了我不想要的等式(/need),破坏了编译 在OMEdit 1.16中,该模型因10个方程式、9个未知数而失效: model scratch Modelica.Mechanics.Rotational.Interfaces.Flange_b flange; Modelica.Mechanics.Rotational.Components.Inertia load(

我遗漏了Modelica连接器的一些基本内容,因为任何时候模型分配到法兰中,我都会得到太多的方程。在解析连接时,翻译器似乎添加了我不想要的等式(/need),破坏了编译

在OMEdit 1.16中,该模型因10个方程式、9个未知数而失效:

model scratch
  Modelica.Mechanics.Rotational.Interfaces.Flange_b flange;
  Modelica.Mechanics.Rotational.Components.Inertia load(J = 1.5);
equation
  flange.tau = 1;
  connect(flange, load.flange_a);
end scratch;
实例化时,它已定义了两次
flange.tau

  flange.phi = load.flange_a.phi;
  load.flange_a.tau - flange.tau = 0.0;
  flange.tau = 0.0;
  load.flange_b.tau = 0.0;
  load.phi = load.flange_a.phi;
  load.phi = load.flange_b.phi;
  load.w = der(load.phi);
  load.a = der(load.w);
  load.J * load.a = load.flange_a.tau + load.flange_b.tau;
  flange.tau = 1.0;
我遗漏了什么,或者这是在哪里讨论的


非常感谢,星期五快乐。

您的观察是正确的,连接方程被转换为正常方程。
法兰的定义如下所示:

在平衡物理连接器中,始终具有相同数量的流变量(带前缀flow,也称为“通过”变量)和潜在变量(不带前缀,也称为“跨越”变量)。本文对此进行了讨论,例如:

流量和势变量转换为方程式,单位为:

  • 连接点中流量变量(例如扭矩、质量流量或电流)的和为
  • 电位变量(如φ、压力或电压)等于
我建议阅读迈克尔·蒂勒的书中的这一章和下一章:

谢谢@matth的建议,我的示例模型可能太简单了。我在一篇论文中对一台电机进行建模,其中的局部变量表示总转矩和电枢角,与法兰的内部变量直接类似。在将法兰添加到电机模型后,局部变量应该在转换过程中被消除,但它们被保留,导致两个额外的方程。将局部状态变量替换为法兰中的变量修复了它,但仍有部分翻译我不理解。