分配到连接器

Assigning into connectors

我遗漏了一些关于 Modelica 连接器的基本知识,因为每当模型分配到法兰时,我都会得到太多的方程式。译者似乎在解析连接时添加了我不想要(/不需要)的方程式,破坏了编译。

在 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;

我遗漏了什么或在哪里讨论过?

非常感谢,周五快乐。

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

在平衡物理连接器中,您总是有相同数量的流变量(带前缀流,也称为“通过”变量)和潜在变量(没有前缀,也称为“跨”变量)。这是讨论,例如在本文中: https://www.modelica.org/events/modelica2008/Proceedings/sessions/session1a3.pdf

流量和潜在变量被转化为方程式,analogy to Kirchhoff's laws:

  • 连接点中流量变量(例如扭矩、质量流量或电流)的总和,
  • 潜在 变量(例如 phi、压力或电压)相等

我推荐阅读迈克尔·蒂勒书中的这一章和下一章: https://mbe.modelica.university/components/connectors/