反演modelica仿真模型:稳态模型
我想知道一个模型是否可以在modelica中反转。(这里的反向是指:如果在因果关系陈述中反演modelica仿真模型:稳态模型,modelica,inverse,openmodelica,steady.js,Modelica,Inverse,Openmodelica,Steady.js,我想知道一个模型是否可以在modelica中反转。(这里的反向是指:如果在因果关系陈述中y=x+a;x和a是输入,y是输出;但是如果我想找到'x'作为输出,而'y'和'a'作为输入,这个模型被称为反向/反向模型)例如,如果我有一个压缩机,有输入空气端口和输出空气端口,端口有与之相关的变量是压力(P),温度(T)和质量流量(mdot)。我有一个简单的稳态模型,包含以下三个方程: OutPort.mdot=InPort.mdot OutPort.P=rc*InPort.P OutPort.T=InP
y=x+a;
x和a是输入,y是输出;但是如果我想找到'x'作为输出,而'y'和'a'作为输入,这个模型被称为反向/反向模型)例如,如果我有一个压缩机,有输入空气端口和输出空气端口,端口有与之相关的变量是压力(P)
,温度(T)
和质量流量(mdot
)。我有一个简单的稳态模型,包含以下三个方程:
OutPort.mdot=InPort.mdot
OutPort.P=rc*InPort.P
OutPort.T=InPort.T*(1+rc[(gamma-1)/gamma)-1][/sup]/eta)代码>
OutPort.mdot
,OutPort.p
和OutPort.T
和InPort.p
和InPort.T
的值,我能找到rc的值吗
我可以在Modelica中找到rc的值吗?压缩机模型应该如何使用上述方程。据我所知,有一些变量被指定为参数,在模拟过程中无法更改。modelica模型应如何与上述方程结合
感谢是的,只要您确保rc不是参数,而是正态变量,并且您提供适当数量的已知量以实现平衡系统(大致上,未知数的数量与方程式的数量匹配),这就不应该是问题。
例如,在您的情况下,如果您知道/提供
OutPort.P
和InPort.P
,rc
已根据等式2确定。然后,在第三个方程中,没有未知量,所以要么温度值与方程一致,要么你(最好)保留一个未确定的温度值。此外,如果您只想在稳态初始化期间计算参数rc,也就是说,不可能随时间变化:
...
parameter Real rc(fixed=false);
initial equation
Inport.mdot=12; // Or something else indirectly determining rc.
fixed=false表示rc是通过初始化间接确定的。但是,如果模型不是完全静止的,它只能在初始化过程中找到正确的rc,然后再使用。亲爱的Christoph,非常感谢您的回复。我尝试过创建模型,将rc设置为实变量而不是参数。我不知道在模型创建期间(模拟之前),变量的值是否已知。如果我创建模型,将rc设置为real,而不使用“parameter attribute”。它应该始终是输出。我不能把它设定为已知。可以通过实际输入设置额外的端口来设置该值;然而,它成为因果模型。如果我在不同的情况下使用相同的压缩机,我必须改变模型,以便在这种情况下实现局部平衡。谢谢。亲爱的克里斯托夫,我必须再写一条评论,因为我不能把所有的东西都放在最后一条评论中。。继续形成最后评论。。因此,在创建模型时,我需要看看它在更大的模型中是如何连接的。虽然我已经成功地执行了这个模型,但我必须做上面的更改。我不确定,但这可能是因为在端口的情况下,我不能说一些端口变量是已知的,一些是未知的。再次非常感谢。如果你能给我推荐一些关于这方面的阅读材料,我将不胜感激。谢谢