3

I am intersted, how a modelling tool (in my case OpenModelica and Dymola - modelling language Modelica) solves systems of equations (linear and/or nonlinear). These tools are designed for solving differential algebraic equations. I know a little bit the theory behind transforming a differential algebraic equation sytem into an ODE (keyword "index-reduction"). My questions:

  1. How do these tools solve a system of equations without differential equations? Is the system nevertheless transformed (index reduction) into an ODE?
  2. What if I have a model that has a few algebraic equations and a few ODE - but they are not coupled?

Thank you very much.

Kenni
  • 437
  • 1
  • 4
  • 12

2 Answers2

2

OpenModelica will use an equidistant time grid based on the number of output time points (or number of intervals) and solve the algebraic system for each of these time points.

lochel
  • 94
  • 4
  • 1
    Thank you very much for this answer - I am not really in numerics :). Could you please explain that a little in detail? E.g. if i use the DASSL Solver: Let's assume there are a few ODEs, some algebraic equations (where some variables are also in the ODEs) and there are also some algebraic equations that are not coupled with the ODE. So as I understand it, this would lead to an DAE where the solver would perform index reduction on the algebraic equations that are coupled with the ODE, and a Newton? solves the system of equations that are not coupled also in every time-step? – Kenni Mar 31 '17 at 18:05
2

The basics of how equations are transformed into assignments are covered very well in the slide-decks 1-6 of Prof. Cellier's Lecture at the ETH Zurich: https://www.inf.ethz.ch/personal/fcellier/Lect/MMPS/Refs/mmps_refs.html

You will find further references at the end of every lecture.

The only difference for systems without differential equations is that you don't have state-variables, the rest works the same way.

Markus A.
  • 6,300
  • 10
  • 26