Notes from Langtangen's "Finite Difference Computing with Exponential Decay Models", published by Springer.
- Algorithms and implementations
- The Forward Euler scheme
- The Backward Euler scheme
- The Crank-Nicolson scheme
- The unifying / theta-rule
- Numerical Error
- Differentiate
- Integrate
- Analysis
- Experimental investigations
- Stability
- Accuracy
- Amplification error
- Global error
- Global integrated error
- Truncation error
- Consistency, stability, and convergence
- Model errors
- Data errors
- Discretisation errors
- Rounding errors
- Exponential growth
- Generalisations
- Include variable coefficient and source term
- Verification
- Convergence
- Systems of ODEs
- Generic first-order ODEs
- Implicit 2-step backward scheme
- Leapfrog schemes
- 2nd-order Runge-Kutta method
- 2nd-order Taylor-series method
- The 2nd- and 3rd-order Adams-Bashforth schemes
- 4th-order Runge-Kutta method
- Models
- Scaling and dimensionless variables
Python
>= 3.7NumPy
SciPy
SymPy
Matplotlib
Overview of chapters is given above. To run all code for a particular chapter, e.g. chapter 1, simply run
python chap1.py
To specify a particular method(s), then enter the name of the method after the
filename, e.g. to run the methods forward_euler
and backward_euler
inside
chap1.py
, do
python chap1.py forward_euler backward_euler