在OpenModelica中建模闭合液压循环

时间:2012-06-08 09:13:46

标签: modelica openmodelica

我想在Modelica标准库/流体/实例/加热系统中找到闭合液压循环的模型。使用加热系统以及我的(简约)示例我遇到了同样的问题:系统超定。 你可以在下面的讲座中找到HeatingSystem作为一个“坏例子”,所以我想这是一个众所周知的问题,但我并不是真的明白了。 http://www.modprod.liu.se/MODPROD2011/1.252944/modprod2011-day2-talk3-Keynote-Francesco-Casella-Control-and-Modelica.pdf(第20页)

我的例子是:

model producer
  pipe_flange w,k;
  parameter Real a,b,c;
equation
  w.p = k.p + a * k.Vp ^ 2 + b * k.Vp + c;
end producer;

抵抗

model consumer
  pipe_flange w,k;
  parameter Real rho;
  parameter Real d_i;
  parameter Real zeta;
equation
  k.p = w.p - rho / 2 * ((w.Vp * 4) / 3.14 * d_i ^ 2) ^ 2 * zeta;
end consumer;

它们与

连接
connector pipe_flange
  Real p;
  flow Real Vp;
end pipe_flange;

整个系统是:

model System
  consumer consumer1(rho = 1000, d_i = 0.06, zeta = 0.5);
  producer producer1(a = -740741, b = -19630, c = 1070);
equation
  connect(consumer1.w,producer1.w);
  connect(consumer1.k,producer1.k);
end System;

有人能给我一个暗示问题的全部内容吗?

2 个答案:

答案 0 :(得分:2)

您确定您的系统超定吗?我;不确定这是怎么回事,因为producerconsumer模型都不确定。

作为一般规则,组件中所需的方程式数量将等于所有连接器中的流量变量数量+内部变量数量(参数不计算)+输出数量。

通过这种方法,您的producer模型应该有2个方程式(因为它的所有连接器都有2个流量变量)。同样,您的consumer模型应该有2个方程式(因为它的所有连接器都有两个流量变量)。所以我看不出你怎么能产生太多的方程式。

您的模型也很棘手,因为您正在通过系统建模动量流(通过连接器上的速度作为流量变量表示)。但你的潜在变量是压力。你的问题中没有质量跟踪(通常存在)。

因此,总而言之,您的组件模型肯定存在问题,因为它们是“不平衡的”(根据Modelica规范),因为它们没有正确数量的方程式。但即使在“物理”水平上,你的表述(压力和速度)在我的经验中也是不寻常的,而且在我看来,一旦方程平衡问题得到克服,它也可能导致问题。

答案 1 :(得分:0)

引入所谓的 loop-breaker 组件可能会有所帮助。 对于闭合液压循环,这可以是具有可变水平的expansion vesselstorage tank (这样的组成部分也将存在)。