【问题标题】:Modeling closed hydraulic cycle in OpenModelica在 OpenModelica 中对封闭式液压循环进行建模
【发布时间】:2012-06-12 08:20:17
【问题描述】:

我想模拟一个封闭的液压循环,可以在 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;

它们与a相连

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;

谁能告诉我问题出在哪里?

【问题讨论】:

    标签: modelica openmodelica


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • P.S. - 回复较晚,抱歉。我以前一定是以某种方式忽略了这篇文章。事实上,我以为我已经回答过了。
    • 如果您想阅读其他人所说的内容,openmodelicainterest 也提出了同样的问题
    【解决方案2】:

    也许引入一个所谓的 loop-breaker 组件会有所帮助。 对于封闭式液压循环,这可能是具有可变液位的expansion vesselstorage tank (现实中也会存在这样的组件)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-29
      • 2015-10-20
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多