8.12: Stability behavior of Euler’s method We consider the so-called linear test equation ẏ(t) = λy(t) where λ ∈ C is a system parameter which mimics the eigenvalues of linear systems of differential equations. The equation is stable if Real(λ) ≤ 0. In this case the solution is exponentially decaying. (limt→∞ y(t) = 0). When is the numerically solution ui also decaying, limi→∞ ui = 0? C. Führer: FMN081-2005 183 8.12: Stability behavior of Euler’s method (Cont.) Explicit Euler discretization of linear test equation: ui+1 = ui + hλui This gives ui+1 = (1 + hλ)i+1u0. i The solution is decaying (stable) if |1 + hλ| ≤ 1 -2 hλ -i C. Führer: FMN081-2005 184 8.13: Stability behavior of Euler’s method (Cont.) Implicit Euler discretization of linear test equation: ui+1 = ui + hλui+1 This gives ui+1 = i+1 1 u0 . 1−hλ The solution is decaying (stable) if |1 − hλ| ≥ 1 i -i hλ 2 C. Führer: FMN081-2005 185 8.14: Stability behavior of Euler’s method (Cont.) Explicit Euler’s instability for fast decaying equations: λ =-5 10 h=0.41 5 0 -5 -10 0 2 4 6 8 10 12 14 C. Führer: FMN081-2005 186 8.15: Stability behavior of Euler’s method (Cont.) Facit: For stable ODEs with a fast decaying solution (Real(λ) << −1 ) or highly oscillatory modes (Im(λ) >> 1 ) the explicit Euler method demands small step sizes. This makes the method inefficient for these so-called stiff systems. Alternative: implicit Euler method. C. Führer: FMN081-2005 187 8.16: Implementation of implicit methods Implicit Euler method ui+1 = ui + hif (ti+1, ui+1) Two ways to solve for ui+1: (k+1) • Fixed point iteration: ui+1 k is the iteration counter, i the integration step counter (k) = ui + hif (ti+1, ui+1) | {z } (k) =ϕ(ui+1 ) • Newton iteration: ui+1 = ui + hif (ti+1, ui+1) ⇔ ui+1 − ui − hif (ti+1, ui+1) = 0 | {z } =F (ui+1 ) (k) (k) F 0(ui+1)∆ui+1 = −F (ui+1) (k+1) ui+1 (k) = ui+1 + ∆ui+1 C. Führer: FMN081-2005 188 8.17: Implementation of implicit methods (Cont.) These iterations are performed at every integration step! They are started with explicit Euler method as so-called predictor: (0) ui+1 = ui + hif (ti, ui) When should fixed points iteration and when Newton iteration be used? The key is contractivity! Let’s check the linear test equation again: ẏ = λy. Contractivity: |ϕ0(u)| = |hλ| < 1. C. Führer: FMN081-2005 189 8.18: Implementation of implicit methods (Cont.) If the differential equation is • nonstiff: explicit Euler or • nonstiff: implicit Euler with fixed point iteration • stiff: implicit Euler with Newton iteration C. Führer: FMN081-2005 190