Modelica 为什么FMU作为FMI1导出时的统计数据与作为FMI2导出时的统计数据不同

Modelica 为什么FMU作为FMI1导出时的统计数据与作为FMI2导出时的统计数据不同,modelica,dymola,fmi,Modelica,Dymola,Fmi,假设我用Dymola导出一个带有FMI-1标准的模型: translateModelFMU("SomeModel", false, "", "1", "me", false) translateModelFMU("SomeModel", false, "", "2", "me", false) 然后我用FMI-2标准导出相同的模型: translateModelFMU("SomeModel", false, "", "1", "me", false) translateModelFMU("

假设我用Dymola导出一个带有FMI-1标准的模型:

translateModelFMU("SomeModel", false, "", "1", "me", false)
translateModelFMU("SomeModel", false, "", "2", "me", false)
然后我用FMI-2标准导出相同的模型:

translateModelFMU("SomeModel", false, "", "1", "me", false)
translateModelFMU("SomeModel", false, "", "2", "me", false)
我注意到模型统计(非线性方程组的大小、初始化问题)发生了变化


有人能解释一下原因吗?

FMI标准2.0版在FMI标准中增加了许多内容,使工具能够更有效地模拟导出的模型。这些变化包括:

  • 雅可比矩阵的支持

  • 界面变量的新分类

  • 连续状态变量显式列为 FMU变量


有关这些变化的更多信息,请参阅Modelica 2012年会议的这篇文章:

感谢您的回复。是的,我知道FMI 2.0引入的(大部分)变化。目前,我关注的是我的模型的性能,因为它必须是实时的。当用2.0输出时,非线性系统增加了,我的闹钟响了。考虑到效率,到目前为止,使用FMI 1.0导出的模型运行速度更快(虽然不多,但足以引起注意),我的答案是“模型统计数据为什么会发生变化?”。听起来你真正的问题是如何让你的模型实时运行。我建议为此打开一个新问题,最好是使用模型代码。