Dymosim Integrators

All integrators support the entire range of events that are present in Modelica models, i.e. state events, time events, and dynamic state selection.

Along with traditional algorithm such as Euler, DASSL etc., new algorithms are provided.

This section provides you with information about:

Variable Step Size Integration Algorithms Output

Dymosim provides a number of variable step size integration algorithms. The most important characteristics of these algorithms are given in the following table:

Algorithm Order Stiff A-stable Dense Output Root Finder Method
LSODAR 1-12,

1-5

Both No Yes Yes Multiple step / Adams methods
DASSL 1-5 Yes No Yes Yes Multiple step / BDF
Radau Ila 5 Yes Yes Yes Yes Single step / Runge Kutta
Esdirk23a 3 Yes Yes Yes Yes Single step / Runge Kutta
Esdirk34a 4 Yes Yes Yes Yes Single step / Runge Kutta
Esdirk45a 5 Yes Yes Yes Yes Single step / Runge Kutta
Dopri45 5 No N/A Yes Yes Single step / Runge Kutta
Dopri853 8 No N/A Yes Yes Single step / Runge Kutta
Sdirk34hw 4 Yes Yes Yes Yes Single step / Runge Kutta
Cerk23 3 No N/A Yes Yes Single step / Runge Kutta
Cerk34 4 No N/A Yes Yes Single step / Runge Kutta
Cerk45 5 No N/A Yes Yes Single step / Runge Kutta

Fixed Step Size Integration Algorithms Output

There are also four different fixed step size integration algorithms, intended for real-time simulations:

Algorithm Order Stiff Dense Output Root Finder Method
Euler 1 No No Yes Euler
Rkfix2 2 No No No Single step / Runge Kutta
Rkfix3 3 No No No Single step / Runge Kutta
Rkfix4 4 No No No Single step / Runge Kutta

Advanced Algorithm

A number of algorithms are available for an advanced use.

If the model does not contain many events:

  • and is stiff: use LSODAR.
  • and is non-stiff: use DASSL.

If the model contains many events:

  • and is stiff: use Radau Il or Esdirk (use higher order if stricter tolerance is wanted).
  • and is non-stiff: use Cerk or Dopri can (use higher order if stricter tolerance is wanted).

Inline Integration Algorithm

Inline integration is provided to increase the simulation speed, in particular for real-time simulation.

Inline integration is a combined symbolic and numeric approach to solving differential-algebraic equations systems. Discretization expressions representing the numerical integration algorithm are symbolically inserted into the differential algebraic equation model. The equations are then transformed into a representation that is efficient for numeric simulation.

The following inline integration algorithms are provided:

  • Inline Explicit Euler
  • Inline Implicit Euler
  • Inline Trapezoidal Method
  • Inline Mixed Implicit/Explicit Euler
  • Inline Explicit Runge Kutta
  • Inline Implicit Runge Kutta