Modelica Dymola:如何在状态图模拟期间更改组件参数?

时间:2015-05-27 16:00:02

标签: dymola

假设我有一个流体模型,具有初始压力,温度,阀门设置等。

是否有办法运行状态图模拟,其中每个状态包含模型的新组件参数设置,即某些选定组件的某些参数在一个状态期间更改,并在下一个状态期间再次更改?

例如,在State1期间,设置以下组件参数的值:

  • source.pressure = 1
  • source.temperature = 1
  • valve1.opening = 1

直到State1切换到State2,参数为:

  • source.pressure = 0.5
  • source.temperature = 0.5
  • valve1.opening = 0.5

感谢您的时间: - )

1 个答案:

答案 0 :(得分:1)

简短回答:不。对于该用例,您应该使用离散变量(并使用when子句更改它们)。

答案很长:从版本3.3开始,Modelica有一个名为State Machines的新功能(参见规范的第17章)。从理论上讲,它应该做你需要的,但它可能仍然是错误的,因为它是新的。

您尝试做的事情被称为“变量结构建模”(尽管只更改参数几乎不是“变量结构”,而是可以使用离散变量来实现,正如我的简短回答所示)。早在StateMachines被介绍到Modelica之前,这是(并且仍然)是一个活跃的研究领域。您还可以使用外部工具来实现目标,例如: DysMo