$$ \newcommand{\D}{\displaystyle} \renewcommand{\eqref}[1]{Eq.~(\ref{#1})} $$




search engine by freefind advanced

Numerical Methods for Engineers

Leif Rune Hellevik

Department of Structural Engineering, NTNU

Jan 13, 2020

Table of contents

1 Preliminaries
      1.1 Acknowledgements and dedications
      1.2 Check Python and LiClipse plugin
      1.3 Scientific computing with Python
2 Initial value problems for Ordinary Differential Equations
      2.1 Introduction
            2.1.1 Example: A mathematical pendulum
            2.1.2 n-th order linear ordinary differential equations
      2.2 Existence and uniqueness of solutions for initial value problems
      2.3 Taylor's method
            2.3.1 Example: Taylor's method for the non-linear mathematical pendulum
            2.3.2 Example: Newton's first differential equation
      2.4 Reduction of Higher order Equations
            2.4.1 Example: Reduction of higher order systems
      2.5 Differences
            2.5.1 Example: Discretization of a diffusion term
      2.6 Euler's method
            2.6.1 Example: Euler's method on a simple ODE
            2.6.2 Example: Euler's method on the mathematical pendulum
            2.6.3 Example: Generic euler implementation on the mathematical pendulum
            2.6.4 Example: Sphere in free fall
            2.6.5 Euler's method for a system
            2.6.6 Example: Falling sphere with constant and varying drag
      2.7 Python functions with vector arguments and modules
      2.8 How to make a Python-module and some useful programming features
            2.8.1 Example: Numerical error as a function of \( \Delta t \)
      2.9 Heun's method
            2.9.1 Example: Newton's equation
            2.9.2 Example: Falling sphere with Heun's method
      2.10 Generic second order Runge-Kutta method
      2.11 Runge-Kutta of 4th order
            2.11.1 Example: Falling sphere using RK4
            2.11.2 Example: Particle motion in two dimensions
      2.12 Basic notions on numerical methods for IVPs
      2.13 Variable time stepping methods
      2.14 Numerical error as a function of \( \Delta t \) for ODE-schemes
      2.15 Absolute stability of numerical methods for ODE IVPs
            2.15.1 Example: Stability of Euler's method
            2.15.2 Example: Stability of Heun's method
            2.15.3 Stability of higher order RK-methods
            2.15.4 Stiff equations
            2.15.5 Example: Stability of implicit Euler's method
            2.15.6 Example: Stability of trapezoidal rule method
      2.16 Exercises
            Exercise 1: Solving Newton's first differential equation using euler's method
            Exercise 2: Solitary wave
            Exercise 3: Mathematical pendulum
            Exercise 4: Comparison of 2nd order RK-methods
3 Shooting Methods for Boundary Value Problems
      3.1 Shooting methods for boundary value problems with linear ODEs
            3.1.1 Example: Couette-Poiseuille flow
            3.1.2 Example: Simply supported beam with constant cross-sectional area
            3.1.3 Example: Simply supported beam with varying cross-sectional area
      3.2 Shooting methods for boundary value problems with nonlinear ODEs
            3.2.1 Example: Large deflection of a cantilever
      3.3 Notes on similarity solutions
            3.3.1 Example: Freezing of a water pipe
            3.3.2 Example: Stokes' first problem: flow over a suddenly started plate
            3.3.3 Example: The Blasius equation
      3.4 Shooting method for linear ODEs with two unknown initial conditions
            3.4.1 Example: Liquid in a cylindrical container
      3.5 Exercises
            Exercise 5: Stokes first problem for a non-Newtonian fluid
            Exercise 6: The Falkner-Skan equation
4 Finite difference methods for ordinary differential equations
      4.1 Introduction
      4.2 Errors and stability
            4.2.1 Local truncation error
            4.2.2 Global error
            4.2.3 Stability
            4.2.4 Consistency
            4.2.5 Convergence
            4.2.6 Stability - Example in 2-norm
      4.3 Tridiagonal systems of algebraic equations
      4.4 Examples
            4.4.1 Example: Heat exchanger with constant cross-section
            4.4.2 Cooling rib with variable cross-section
            4.4.3 Example: Numerical solution for specific cooling rib
      4.5 Linearization of nonlinear algebraic equations
            4.5.1 Picard linearization
            4.5.2 Newton linearization
            4.5.3 Example: Newton linearization of various nonlinear ODEs
            4.5.4 Various stop criteria
            4.5.5 Example: Usage of the various stop criteria
            4.5.6 Linearizations of nonlinear equations on incremental form
            4.5.7 Quasi-linearization
            4.5.8 Example:
      4.6 Exercises
            Exercise 7: Circular clamped plate with concentrated single load
            Exercise 8: Heat conduction in a triangle of two different materials
5 Mathematical properties of partial differential equations
      5.1 Model equations
            5.1.1 List of some model equations
      5.2 First order partial differential equations
            5.2.1 Example 1:
            5.2.2 Example 2:
      5.3 Second order partial differenatial equations
            5.3.1 Example 3:
            5.3.2 Example 4: Examples of classification of various PDEs
      5.4 Boundary conditions for 2nd order PDEs
            5.4.1 Hyperbolic equations
            5.4.2 Elliptic equations
            5.4.3 Parabolic equations
6 Elliptic partial differential equations
      6.1 Introduction
      6.2 Finite differences. Notation
            6.2.1 Example: Discretization of the Laplace equation
      6.3 Direct numerical solution
            6.3.1 Neumann boundary conditions
      6.4 Iterative methods for linear algebraic equation systems
            6.4.1 Stop criteria
            6.4.2 Optimal relaxation parameter
            6.4.3 Example using SOR
            6.4.4 Initial guess and boundary conditions
            6.4.5 Example: A non-linear elliptic PDE
            Exercise 9: Symmetric solution
            Exercise 10: Stop criteria for the Poisson equation
7 Diffusion problems
      7.1 Introduction
      7.2 Confined, unsteady Couette flow
      7.3 Stability: Criterion for positive coefficients. PC-criterion
      7.4 Stability analysis with von Neumann's method
            7.4.1 Example: Practical usage of the von Neumann condition
      7.5 Some numerical schemes for parabolic equations
            7.5.1 Richardson scheme (1910)
            7.5.2 Dufort-Frankel scheme (1953)
            7.5.3 Crank-Nicolson scheme. \( \theta \)-scheme
            7.5.4 Generalized von Neumann stability analysis
      7.6 Truncation error, consistency and convergence
            7.6.1 Truncation error
            7.6.2 Consistency
            7.6.3 Example: Consistency of the FTCS-scheme
            7.6.4 Example: Consistency of the DuFort-Frankel scheme
            7.6.5 Convergence
      7.7 Example with radial symmetry
            7.7.1 Example: Start-up flow in a tube
            7.7.2 Example: Cooling of a sphere
8 Convection problems and hyperbolic PDEs
      8.1 The advection equation
      8.2 Forward in time central in space discretization
      8.3 Upwind schemes
      8.4 The modified differential equation
      8.5 Errors due to diffusion and dispersion
            8.5.1 Example: Advection equation
            8.5.2 Example: Diffusion and dispersion errors for the upwind schemes
            8.5.3 Example: Diffusion and disperision errors for the Lax-Wendroff scheme
      8.6 The Lax-Friedrich Scheme
      8.7 Lax-Wendroff Schemes
            8.7.1 Lax-Wendroff for non-linear systems of hyperbolic PDEs
            8.7.2 Code example for various schemes for the advection equation
      8.8 Order analysis on various schemes for the advection equation
            8.8.1 Separating spatial and temporal discretization error
      8.9 Flux limiters
      8.10 Example: Burger's equation
            8.10.1 Upwind Scheme
            8.10.2 Lax-Friedrich
            8.10.3 Lax-Wendroff
            8.10.4 MacCormack
            8.10.5 Method of Manufactured solution
            Exercise 11: Stability analysis of the Lax-Friedrich scheme
9 Python Style Guide
      9.1 The conventions we use
      9.2 Summary
      9.3 The code is the documentation... i.e. the docs always lie!
      9.4 Docstring Guide
10 Sympolic computation with SymPy
      10.1 Introduction
      10.2 Basic features
11 References