Inheritance 在Modelica中测试包的继承结构

Inheritance 在Modelica中测试包的继承结构,inheritance,modelica,Inheritance,Modelica,我想在一组模型中测试媒体包的继承结构,这样我就可以为一个模型定义正确的变量集,而我不知道如何做到这一点 例如,我正在尝试编写一个通用模型,可以将一些不同的介质作为输入,例如DryarNASA和R134a。由于DryAirNasa没有对两相区进行建模,因此状态记录liq和vap将无效,因此我想用某种方法创建一组有条件的变量声明,以便这些状态记录仅为R134a定义。在我看来,一种自然的方法是测试中间包的继承结构。如果使用的介质继承自PartialTwoPhaseMedium,那么我可以定义两个阶段变

我想在一组模型中测试媒体包的继承结构,这样我就可以为一个模型定义正确的变量集,而我不知道如何做到这一点

例如,我正在尝试编写一个通用模型,可以将一些不同的介质作为输入,例如DryarNASA和R134a。由于DryAirNasa没有对两相区进行建模,因此状态记录liq和vap将无效,因此我想用某种方法创建一组有条件的变量声明,以便这些状态记录仅为R134a定义。在我看来,一种自然的方法是测试中间包的继承结构。如果使用的介质继承自PartialTwoPhaseMedium,那么我可以定义两个阶段变量;否则,我将不定义它们

然而,我不清楚如何在Modelica中编写这样的测试。理想情况下,我希望代码类似于:

如果isEqual(媒体类,Modelica.Media.Interfaces.partialtwophasemedia),则

变量定义

如果结束


有什么想法吗?

如果你使用jsut一些媒体,你可以测试
Medium.mediumName
。或者看看布尔值
Medium.singleState
。我认为返回或测试基类的函数不存在。