Dymola DAE解算器

时间:2016-08-15 13:25:05

标签: ode modelica dymola

我试图找出Dymola为解决Modelica代码所需的步骤。通过阅读一些参考文献和书籍,我理解Dymola:

  1. 将Modelica代码转换为混合DAE(展平)。
  2. 操纵DAE以将其转换为ODE形式(索引缩减和其他技术)。
  3. 使用DASSL算法。
  4. 我的问题是:为什么Dymola需要使用DASSL来解决ODE?不应该使用一般的ODE求解器,如BDF或Runge-Kutta?

    提前感谢您的关注。 一切都好,

    的Alessandro

2 个答案:

答案 0 :(得分:1)

Dymola支持多种集成算法,包括RK。但DASSL是一个很好的默认值。另请注意,有些问题不能简化为ODE格式。

答案 1 :(得分:1)

通过用它们的导数替换原始方程,索引减少抛弃了约束信息。

理论上这并不重要,因为导数方程将这些丢失的身份作为守恒量。然而,数值积分引入了漂移,可能会将状态从DAE的一致状态的多样性中移除。

这可以通过不减少到指数-0 ODE但在指数-1 DAE处停止以使得原始方程的差异较小而得到改善,并且数值积分基本上具有隐式RK方法的复杂性。 。隐式多步法。

对于order-1系统,人们需要使用像DASSL这样的DAE求解器。