一致的术语:建模,DAE,ODE

Ass*_*ero 5 modeling symbolic-math modelica simscape

我是"物理系统建模"主题的新手.我阅读了一些基础文献,并在Modelica和Simulink/Simscape中做了一些教程.如果我理解以下内容,我想问你:

  • 符号操作是将方程的微分代数系统(物理模型:DAE)转换为微分方程(ODE)系统的过程,可以通过标准求解器(Runge,Kutta,BDF,......)求解
  • 还有解算器可以直接解决DAE问题.但Modelica(openModelica,Dymola)和Simscape将系统转换为ODE(为什么这种方法与直接DAE求解器相比更好?)
  • "平面Modelica代码"是转换的结果(= ODE).

非常感谢您的回答.

Adr*_*Pop 8

Modelica的符号处理包括:

  • 删除面向对象的结构并获得混合DAE(平面Modelica)
  • 执行匹配,索引缩减,临时化以获得ODE
  • 执行优化(撕裂,常见的子表达式消除等)
  • 为特定解算器生成代码

OpenModelica也可以在DAE模式下解决系统而无需将其转换为ODE,我猜其他Modelica工具也可以做到这一点.

"平面Modelica代码"是Modelica代码,其中对象方向被移除,连接方程被扩展为正规方程.结果是混合DAE.

有关所有这些的更多信息,请参阅Modelica Spec 3.3(例如附录C):https: //modelica.org/documents/ModelicaSpec33Revision1.pdf