无法实现非常简单的质量流量源

时间:2014-05-22 15:48:16

标签: connector modelica dymola

我目前正在通过尝试一些非常简单的示例来学习Modelica。我为不可压缩的流体定义了一个连接器Incompressible,如下所示:

connector Incompressible
  flow Modelica.SIunits.VolumeFlowRate V_dot;
  Modelica.SIunits.SpecificEnthalpy h;
  Modelica.SIunits.Pressure p;
end Incompressible;

我现在希望定义质量流量或体积流量来源:

model Source_incompressible
  parameter Modelica.SIunits.VolumeFlowRate V_dot;
  parameter Modelica.SIunits.Temperature T;
  parameter Modelica.SIunits.Pressure p;
  Incompressible outlet;
equation 
  outlet.V_dot = V_dot;
  outlet.h = enthalpyWaterIncompressible(T);  // quick'n'dirty enthalpy function
  outlet.p = p;
end Source_incompressible;

然而,在检查Source_incompressible时,我明白了:

The problem is structurally singular for the element type Real.
The number of scalar Real unknown elements are 3.
The number of scalar Real equation elements are 4.

我在这里不知所措。显然,模型中有三个方程式 - 第四个方程式来自哪里?

非常感谢您的任何见解。

2 个答案:

答案 0 :(得分:3)

星,

这里有几个问题。正如Martin指出的那样,连接器是不平衡的(在该连接器中没有匹配的“通过”和“跨”对)。对于流体系统,这是可以接受的。然而,强烈的流体性质(例如焓)必须标记为所谓的“流”变量。

诚然,这个话题非常复杂。我打算在这个主题上为我的online Modelica book添加一个高级章节,但我还没有时间。在此期间,我建议您查看其作者之一Modelica.Fluid和/或this presentation Francesco Casella。

答案 1 :(得分:1)

该连接器不是物理连接器。每个潜在变量都需要一个流量变量。如果它有点帮助,这是OpenModelica错误消息:

Warning: Connector .Incompressible is not balanced: The number of potential variables (2) is not equal to the number of flow variables (1).
Error: Too many equations, over-determined system. The model has 4 equation(s) and 3 variable(s).
Error: Internal error Found Equation without time dependent variables outlet.V_dot = V_dot

这是因为未连接的连接器将为流生成一个等式:

outlet.V_dot = 0.0;

这意味着outlet.V_dot将替换为:

outlet.V_dot = V_dot;

你得到:

0.0 = V_dot;

但是V_dot是一个参数,不能在方程式部分中分配(如果参数有fixed = false,则需要初始方程,或者在默认情况下需要绑定方程)。