$$ \newcommand{\uex}{{u_{\small\mbox{e}}}} \newcommand{\half}{\frac{1}{2}} \newcommand{\tp}{\thinspace .} \newcommand{\Oof}[1]{\mathcal{O}(#1)} \newcommand{\x}{\boldsymbol{x}} \renewcommand{\u}{\boldsymbol{u}} \newcommand{\dfc}{\alpha} % diffusion coefficient \newcommand{\Ix}{\mathcal{I}_x} \newcommand{\Iy}{\mathcal{I}_y} \newcommand{\If}{\mathcal{I}_s} % for FEM \newcommand{\Ifd}{{I_d}} % for FEM \newcommand{\Ifb}{{I_b}} % for FEM \newcommand{\sequencei}[1]{\left\{ {#1}_i \right\}_{i\in\If}} \newcommand{\basphi}{\varphi} \newcommand{\baspsi}{\psi} \newcommand{\refphi}{\tilde\basphi} \newcommand{\xno}[1]{x_{#1}} \newcommand{\dX}{\, \mathrm{d}X} \newcommand{\dx}{\, \mathrm{d}x} \newcommand{\ds}{\, \mathrm{d}s} $$

Solving nonlinear ODE and PDE problems

Hans Petter Langtangen

Center for Biomedical Computing, Simula Research Laboratory and Department of Informatics, University of Oslo

Dec 14, 2014

Note: Preliminary version (expect typos).

Table of contents

Introduction of basic concepts
      Linearization by explicit time discretization
      Exact solution of nonlinear equations
      Linearization
      Picard iteration
            Stopping criteria
            A single Picard iteration
      Linearization by a geometric mean
      Newton's method
      Relaxation
      Implementation and experiments
      Generalization to a general nonlinear ODE
            Explicit time discretization
            Backward Euler discretization
            Crank-Nicolson discretization
      Systems of ODEs
Systems of nonlinear algebraic equations
      Picard iteration
      Newton's method
      Stopping criteria
      Example: A nonlinear ODE model from epidemiology
            Implicit time discretization
            A Picard iteration
            Newton's method
Linearization at the differential equation level
      Explicit time integration
      Backward Euler scheme and Picard iteration
      Backward Euler scheme and Newton's method
            Linearization via Taylor expansions
            Similarity with Picard iteration
            Implementation
            Derivation with alternative notation
      Crank-Nicolson discretization
Discretization of 1D stationary nonlinear differential equations
      Finite difference discretizations
      Solution of algebraic equations
            The structure of the equation system
            Picard iteration
            Newton's method
      Galerkin-type discretizations
            Fundamental integration problem
      Finite element basis functions
      The group finite element method
            Finite element approximation of functions of \( u \)
            Simplified problem
            Integrating nonlinear functions
            Application of the group finite element method
      Numerical integration of nonlinear terms
      Finite element discretization of a variable coefficient Laplace term
            Group finite element method
            Numerical integration at the nodes
      Picard iteration defined from the variational form
      Newton's method defined from the variational form
            Dirichlet conditions
Multi-dimensional PDE problems
      Finite element discretization
            Non-homogeneous Neumann conditions
            Robin conditions
      Finite difference discretization
            Picard iteration
            Newton's method
      Continuation methods
Exercises
      Problem 1: Determine if equations are nonlinear or not
      Problem 2: Experience the behavior of Newton's method
      Problem 3: Compute the Jacobian of a \( 2\times 2 \) system
      Problem 4: Solve nonlinear equations arising from a vibration ODE
      Exercise 5: Find the truncation error of arithmetic mean of products
      Problem 6: Newton's method for linear problems
      Exercise 7: Discretize a 1D problem with a nonlinear coefficient
      Exercise 8: Linearize a 1D problem with a nonlinear coefficient
      Problem 9: Finite differences for the 1D Bratu problem
      Problem 10: Integrate functions of finite element expansions
      Problem 11: Finite elements for the 1D Bratu problem
      Exercise 12: Discretize a nonlinear 1D heat conduction PDE by finite differences
      Exercise 13: Use different symbols for different approximations of the solution
      Exercise 14: Derive Picard and Newton systems from a variational form
      Exercise 15: Derive algebraic equations for nonlinear 1D heat conduction
      Exercise 16: Differentiate a highly nonlinear term
      Exercise 17: Crank-Nicolson for a nonlinear 3D diffusion equation
      Exercise 18: Find the sparsity of the Jacobian
      Problem 19: Investigate a 1D problem with a continuation method
Bibliography