gpt4 book ai didi

modelica - 计算带有连接器的模型中的方程数量

转载 作者:行者123 更新时间:2023-12-02 22:12:57 37 4
gpt4 key购买 nike

我目前正在评估 Dymola 2020 以构建太阳能发电厂模型,但我对使用自定义连接器的模型中的方程数量感到困扰。

代码如下:

connector Port
flow Real Q;
Real P;
Real T;
end Port;
model Inlet
parameter Real Q = 1;
parameter Real P = 2;
parameter Real T = 3;
Port a;
equation
a.Q = Q;
a.P = P;
a.T = T;
end Inlet;

我在模型中设置了 3 个方程,但出现错误,显示有 4 个方程。方程是如何计算的?为什么是4个?

The problem is structurally singular.

It has 3 scalar unknowns and 4 scalar equations. The Real part has 3 unknowns and 4 equations. The Integer part has 0 unknowns and 0 equations. The Boolean part has 0 unknowns and 0 equations. The String part has 0 unknowns and 0 equations.

The number of scalar Real unknown elements are 3. The number of scalar Real equation elements are 4.

Part of the problem for Real elements is overdetermined. There are 1 scalar equations too many in the set: a.T = T; a.P = P; a.Q = Q;

最佳答案

您的示例有两个独立的问题:

  1. 连接器通常包含跨/势和流/通过变量 Modelica Language Specification ,第 9.3.1 节。遵循此约定,使用这些连接器的模型通常定义流和跨变量之间的关系。有关连接器定义的一些通用且非常易读的信息,请参阅 Modelica by Exmple 。我认为遵循这个约定并不是强制性的,但是如果在物理系统建模时这样做的话,事情会变得容易很多。

  2. Inlet 设置所有接口(interface)变量。物理源模型设置横向或流动变量。您有一个压力源一个流量源,它不能同时设置两者。这归结为管道计算流量的压降或压降的流量。模型通常假设交叉变量或流变量是由外部决定的。由此,模型使用其equation部分中定义的关系来计算另一个。对于您的示例,所有这一切都归结为:如果您删除任何方程,例如a.Q = Q;Inlet 开始,模型进行检查。对此的解释是如何从连接器和模型生成方程。有关这方面的更多信息,请参阅 Modelica Language Specification ,第 9.2 节,第 110 页底部,说“每个连接集用于生成...”

关于以上两点,我建议您查看一下Modelica标准库的FluidHeatFlow库,尤其是Modelica.Thermal.FluidHeatFlow.Interfaces.FlowPort中定义的接口(interface)。从您的接口(interface)变量来看,该库服务于类似的物理域。

为了更简单地开始,仔细查看 Modelica.Thermal.HeatTransfer 也很有意义。这个包只有一对跨/流变量,使其更容易理解。

关于modelica - 计算带有连接器的模型中的方程数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58805965/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com