9 Numerical Analysis and Software Overview

9.1 Theory: RKMs and BDF for DAEs

Table 9.1: Overview of convergence results of RKM/BDF schemes for DAEs
DAEs
unstructured, linear \(E(t)\dot x = A(t)x + f(t)\)
semi-linear \(E(t)\dot x = f(t,x)\)
unstructured \(F(t,\dot x, x)=0\)
unstructured, strangeness-free/index-1 \(\begin{cases}\hat F_1(t,\dot x, x)=0 \\ \hat F_2(t,x)=0 \end{cases}\)
semi-explicit, strangeness-free/index-1 \(\begin{cases}\dot x= f(t, x, y) \\ 0=g(t,x,y) \end{cases}\)
semi-explicit, index-2 \(\begin{cases}\dot x= f(t, x, y) \\ 0=g(t,y) \end{cases}\)
Table 9.2: Overview of convergence results of BDF/RKM schemes for DAEs of various index and, possibly, semi-explicit structure. Here, we equate and . A \(\cdot\) indicates that this case is included in a result for a more general case left or above in the table.
RKM
BDF
unstructured
semi-explicit
unstructured
semi-explicit
Problem / Index \(*\) \(2\) \(1\) \(*\) \(2\) \(1\) \(*\) \(2\) \(1\) \(*\) \(2\) \(1\)
nonlinear c g,i b f h e
linear TV \(\cdot\) \(\cdot\) \(\cdot\) \(\cdot\) \(\cdot\) \(\cdot\)
linear CC a \(\cdot\) \(\cdot\) \(\cdot\) \(\cdot\) \(\cdot\) d \(\cdot\) \(\cdot\) \(\cdot\) \(\cdot\) \(\cdot\)
Description Reference
a RKM, linear constant coefficients KM Thm. 5.12
b RKM, nonlinear, strangeness-free/index-1, semi-explicit KM Thm 5.16 / HW Thm. VI.1.1
c RKM, nonlinear, strangeness-free KM Thm. 5.18
d BDF, linear constant coefficients KM Thm. 5.24
e BDF(\(\subset\) MSM), nonlinear, strangeness-free/index-1, semi-explicit KM Thm. 5.26 (\(\subset\) HW Thm. VI.2.1)
f BDF, nonlinear, strangeness-free/index-1 KM Thm. 5.27
g RKM, nonlinear, index-2, semi-explicit HW Ch. VII.4
h BDF, nonlinear, index-2, semi-explicit HW Thm. VII.3.5
i half-explicit RKM, nonlinear, index-2, semi-explicit HW Thm. VII.6.2
HW Ernst Hairer, Gerhard Wanner (1996) Solving ordinary differential equations. II: Stiff and differential-algebraic problems
KM Peter Kunkel, Volker Mehrmann (2006) Differential-Algebraic Equations. Analysis and Numerical Solution

9.2 Solvers

As can be seen from the table above, generally usable discretization methods for unstructured DAEs are only there for index-1 problems. However, the solvers GELDA/GENDA include an automated reduction to the strangeness-free form so that they apply for any index; see Lecture Chapter 4++.

9.2.1 Multi purpose

DAEs Methods h/p Language Remark Avail
GELDA l-\(\mu\)-\(*\) BDF/RKM \(*\)/\(*\) F-77 \(*\)/\(\cdot\)
GENDA n-\(\mu\)-\(*\) BDF \(*\)/\(*\) F-77 \(\phantom{*}\)/\(\cdot\)
DASSL n-\(\nu\)-\(1\) BDF \(*\)/\(*\) F-77 base for Sundials IDA – the base of many DAE solvers \(*\)/\(\phantom{\cdot}\)
LIMEX sl-\(\nu\)-\(1\) x-SE-Eul \(*\)/\(*\) F-77 \(\phantom{*}\)/\(\phantom{\cdot}\)
RADAU sl-\(\nu\)-\(1\) RKM \(*\)/\(*\) F-77 \(*\)/\(\phantom{\cdot}\)

Notes:

Explanation
DAEs l-linear, sl-semilinear, nl-nonlinear
classification: \(\mu\)-strangeness index, \(\nu\)-differentiation index
\(*\)-includes index reduction
h/p time step control / order control
availability code for download / licence provided(\(*\)) or other statement(\(\cdot\))
methods x-SE-Eul: extrapolation based on semiexplicit Euler

9.2.2 Application specific

Furthermore, there are solvers for particularly structured DAEs.

DAEs Resources
Navier-Stokes (nl-se-\(2\)) See, e.g., our preprint on definition of different schemes
Multi-Body (nl-se-\(3\)) See, e.g., the code on Hairer’s homepage

9.3 Software

Many software suits actually wrap SUNDIALS IDA.

DAEs Routines Method Remark
Matlab ind-\(1\) ode15{i,s} BDF
Python no built-in functionality, DASSL/IDA wrapped in the modules assimulo, pyDAS, DAEtools
Julia ind-\(1\) DifferentialEquations.jl BDF calls SUNDIALS IDA