2017-03-31 63 views
3

我很讨厌,建模工具(在我的例子中是OpenModelica和Dymola--建模语言Modelica)如何求解方程组(线性和/或非线性)。这些工具是为解决微分代数方程而设计的。我对将微分代数方程系统转化为ODE(关键字“索引减少”)的理论稍微有点了解。我的问题:在仿真工具中求解(非线性)方程

  1. 这些工具如何解决没有微分方程的方程组?该系统是否转换(指数减少)为ODE?
  2. 如果我有一个模型,有几个代数方程和几个ODE - 但它们不耦合?

非常感谢。

回答

2

OpenModelica将根据输出时间点数(或间隔数)使用等距时间网格,并为每个时间点求解代数系统。

+1

非常感谢这个答案 - 我不是真的在数字:)。你能详细解释一下吗?例如。如果我使用DASSL求解器:假设有几个ODE,一些代数方程(其中一些变量也在ODE中),还有一些代数方程不与ODE耦合。据我了解,这将导致一个DAE解算器在与ODE耦合的代数方程上执行索引减少,以及一个牛顿?解决了在每个时间步骤中都不耦合的方程组? – Kenni