流体连接器¶
其中一个广泛使用Modelica的领域是各种类型流体系统的建模。我们在上一节看到了如何为各种简单领域创建连接器。但是,Modelica在流体系统建模里如此引人注目是事出有因的。那就是其创建同时涉及多个守恒量的复杂连接器的能力。这样复杂连接器在建模流体系统时必不可少。在这样的一个连接器内可能涉及到质量、动量、能量和/或介质类型的流动。这样的情况下连接器定义需要支持很多的功能。
本节开始时,我们会介绍一个非常类似此前讨论简单领域时的基本连接器。但是,我们在结束时得到的连接器会与前面的例子有着根本的不同。因为那个连接器会同时涉及质量守恒以及能量守恒。
不可压缩流体¶
不可压缩流体的建模在许多工程应用相当常用的。其中最值得注意的是液压致动系统。我们首先会介绍可用于模拟不可压缩系统的简单的连接器,以及一些重要的注意事项。
请考虑以下连接器定义
connector Incompressible
Modelica.SIunits.Pressure p;
flow Modelica.SIunits.VolumeFlowRate q;
end Incompressible;
正如我们在讨论简单领域时看到的一样,这个连接器也符合由一个穿越变量和一个横跨变量组成这一定式。在这种情况下,横空变量是p
(压力),而穿越变量则为q
(体积流率)。但是,该连接器和所有前述例子不同。flow
变量并不是一个保守量的时间导数,因为体积不是一个保守量。
只要流体被建模是不可压缩,该连接器就有效。要理解为什么,请考虑以下的公式:
其中\(q_1\)、\(q_2\)、\(q_3\)、\(q_1\)代表体积流率量(即其单位均为\(m^3/s\))。一般而言,这个方程没有资格作为一个守恒方程。因为体积(再次强调,是一般情况下)是不保守的。但是,如果我们知道这些流内是不可压缩的流体,那么我们就可以在方程的左右两边乘以此不可压缩流体的密度,即:
现在这些量单位均为\(kg/s\)。这是一个守恒方程,因为质量是守恒量。不过,如果将此连接器定义用在任何能显著压缩的流体上,你就会得到错误的答案。
这样的连接器定义对比较简单的不可压缩流体网络颇为有用。因为此定义总可以在不必指定(或知道)工作流体密度的前提下描述系统的行为。不过,这种方法本质上是有限制的。所以,在其所解决问题比创建的更多这一前提下,我们才应该使用此定义。
可压缩流体¶
前述接口定义仅可应用于不可压缩流体,而下面的连接器更为普适:
connector GenericFluid
Modelica.SIunits.Pressure p;
flow Modelica.SIunits.MassFlowRate m_dot;
end GenericFluid;
此连接器同时可用于不可压缩流体及可压缩流体。这是因为其对流体的可压缩性没有任何固有的假设。请注意,横跨变量仍然是压力p
,但是穿越变量变为质量流率m_dot
。这样,该穿越变量便符合之前的惯例,即穿越变量应该是一个保守量(在这里是质量)的时间导数。因此,该连接器定义中没有隐含假设。这也就是为什么它可以同时用来模拟可压缩和不可压缩流体组成的流。
实际上,此连接器并非与简单领域内的连接器有着根本上的不同。此连接器之所以出现在这一节,不过是因为它是下个例子的铺垫。
热流体建模¶
本节到目前为止,我们已经提出了一个用于不可压缩流体系统的连接器Incompressible
,以及一个更普适的连接器GenericFluid
。但在这两种情况下,我们唯一考虑过的守恒量是质量。前述的连接器并没有在任何时候提到或支持对液体温度建模。
在许多应用里,工作流体的温度是非常重要的。某些情况下,温度变化会改变工作流体的密度。而在其他情况下,温度可以触发相变(例如从液体到气体)。温度也可以影响像流体粘性等其它关键性质,这对例如润滑系统等的性能有显著的影响。所以,要去建模任何对工作流体温度敏感的系统,前述的连接器定义将不足够。
为了预测工作流体的温度,有必要跟踪流体流过网络时的能量。要做到这一点,连接器定义除了质量外还要必须包括能量这个流经的守恒量。下面的连接器正定义了这一点:
connector ThermoFluid
Modelica.SIunits.Pressure p;
flow Modelica.SIunits.MassFlowRate m_dot;
Modelica.SIunits.Temperature T;
flow Modelica.SIunits.HeatFlowRate q;
end ThermoFluid;
注意,此连接器包括两个有flow
限定词的变量m_dot
和q
。这分别代表了质量流和能量流。每个变量都分别搭配一个横跨变量。正如我们在本节前面的连接器看到的一样,其中一个横跨变量是压力p
。另一个横跨变量T
是工作流体的温度。