我'd like to model a closed hydraulic cycle as one can find in the Modelica Standard Library/Fluid/Examples/HeatingSystem. With the heating system as well as with my (minimalistic) example I'也有同样的问题:系统超定 . 您可以在下面的讲座中找到HeatingSystem作为"bad example",所以我想这是一个众所周知的问题,但我并不是真的明白这一点 . 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 回答
你确定你的系统是 overdetermined 吗?我;不确定这是怎么回事,因为你的
producer
和consumer
模型都不确定 .作为一般规则,组件中所需的方程数将等于所有连接器中的流变量数,内部变量的数量(参数不计)输出的数量 .
通过这种方法,您的
producer
模型应该有2个方程式(因为它的所有连接器都有2个流量变量) . 同样,您的consumer
模型应该有2个方程式(因为它的所有连接器都有两个流量变量) . 所以我看不出你怎么能产生太多的方程式 .您的模型也很棘手,因为您正在通过系统对动量流进行建模(通过连接器上的速度作为流量变量表示) . 但你的潜在变量是压力 . 您的问题中没有质量跟踪(通常存在) .
因此,总而言之,您的组件模型肯定存在问题,因为它们是“不 balancer 的”(根据Modelica规范),因为它们没有正确数量的方程式 . 但即使在“物理”水平上,你的配方(压力和速度)在我的经验中也是不寻常的,而且在我看来,一旦方程 balancer 问题得到克服,它也可能导致问题 .
也许它有助于引入一个所谓的 loop-breaker 组件 . 对于闭合的液压循环,这可能是具有可变水平的expansion vessel或storage tank(实际上也存在这样的组件) .