2017-03-31 67 views
3

我很討厭,建模工具(在我的例子中是OpenModelica和Dymola--建模語言Modelica)如何求解方程組(線性和/或非線性)。這些工具是爲解決微分代數方程而設計的。我對將微分代數方程系統轉化爲ODE(關鍵字「索引減少」)的理論稍微有點了解。我的問題:在仿真工具中求解(非線性)方程

  1. 這些工具如何解決沒有微分方程的方程組?該系統是否轉換(指數減少)爲ODE?
  2. 如果我有一個模型,有幾個代數方程和幾個ODE - 但它們不耦合?

非常感謝。

回答

2

OpenModelica將根據輸出時間點數(或間隔數)使用等距時間網格,併爲每個時間點求解代數系統。

+1

非常感謝這個答案 - 我不是真的在數字:)。你能詳細解釋一下嗎?例如。如果我使用DASSL求解器:假設有幾個ODE,一些代數方程(其中一些變量也在ODE中),還有一些代數方程不與ODE耦合。據我瞭解,這將導致一個DAE解算器在與ODE耦合的代數方程上執行索引減少,以及一個牛頓?解決了在每個時間步驟中都不耦合的方程組? – Kenni