5 Numerical Approximation of DAEs
Numerical Approximation of ODEs
Contents
- Basic Ideas
- One Step Methods
- Consistency / Stability / Convergence
- Runge-Kutta Methods
Lecture 5-0
Little Coding Exercise
Use your favorite programming language to
- Write an implementation of the
explicit Euler
scheme like
def explicit_euler(f, x0, timegrid):
# f -- the right hand side in `x' = f(t, x)`
# x0 -- the initial value
# timegrid -- somehow specify the stepsize and the endpoint
# integrate the ODE with explicit Euler
return xN
- Test it with the ODE
on with number of time steps by comparing the computed value of to the actual value . - Implement any Runge-Kutta method of higher-order1 and repeat this numerical study.
Basics of Numerical Approximation of DAEs
Contents
- Notions and Notations of RKM
- How to apply an RKM to
- Explicit Euler fails, Implicit Euler works
- RKM and System Transformations
- Analysis via the Kronecker Normal Form
Lecture 5-1
Consistency und Convergence for DAEs with Constant Coefficients
- Consistency error – will depend on the
-index - Convergence – need extra stability condition
- Stiffly accurate schemes – exact for index-1 DAE parts
Lecture 5-2
Exercise 4
- Python Script for the “
“s:dae-butcher.py
- Implicit Euler for time-varying DAEs: python file Jupyter Notebook
RKM for (Nonlinear) Semi-explicit DAEs of Index 1
RKM/BDF for (Nonlinear) Semi-explicit DAEs of Index 1/2
Numerical Methods for Index Reduction
- For unstructured systems – use the derivative array but compute the projections on the fly.
- For structured systems like multibody systems (like the pendulum – differentiate the relevant parts, add these equations to the system, and make the system square again by introducing new variables.
-
feel free to use an explicit method of a not so high order. ↩︎