$$
\newcommand{\half}{\frac{1}{2}}
\newcommand{\tp}{\thinspace .}
\newcommand{\uex}{{u_{\small\mbox{e}}}}
\newcommand{\Aex}{{A_{\small\mbox{e}}}}
\newcommand{\x}{\boldsymbol{x}}
\newcommand{\dfc}{\alpha}  % diffusion coefficient
\newcommand{\If}{\mathcal{I}_s}     % for FEM
\newcommand{\Ifb}{{I_b}}  % for FEM
\newcommand{\basphi}{\varphi}
\newcommand{\baspsi}{\psi}
\newcommand{\xno}[1]{x_{#1}}
\newcommand{\dx}{\, \mathrm{d}x}
\newcommand{\ds}{\, \mathrm{d}s}
$$
    
Study guide: Time-dependent problems and variational forms
  
Hans Petter Langtangen [1, 2]
[1] Center for Biomedical Computing, Simula Research Laboratory
[2] Department of Informatics, University of Oslo
Oct 30, 2015
 
Table of contents
 Time-dependent problems 
       Example: diffusion problem 
       A Forward Euler scheme; ideas 
       A Forward Euler scheme; stages in the discretization 
       A Forward Euler scheme; weighted residual (or Galerkin) principle 
       A Forward Euler scheme; integration by parts 
       New notation for the solution at the most recent time levels 
       Deriving the linear systems 
       Structure of the linear systems 
       Computational algorithm 
       Example using sinusoidal basis functions 
       Approximating the initial condition 
       Computing the \( M \) and \( K \) matrices 
       Solving the equation system 
       Comparing P1 elements with the finite difference method; ideas 
       Comparing P1 elements with the finite difference method; results 
       Discretization in time by a Backward Euler scheme 
       The variational form of the time-discrete problem 
       Calculations with P1 elements in 1D 
       Dirichlet boundary conditions 
       Boundary function 
       Finite element basis functions 
       Modification of the linear system; the raw system 
       Modification of the linear system; setting Dirichlet conditions 
       Modification of the linear system; Backward Euler example 
 Analysis of the discrete equations 
       Handy formulas 
       Amplification factor for the Forward Euler method; results 
       Amplification factor for the Backward Euler method; results 
       Amplification factors for smaller time steps; Forward Euler 
       Amplification factors for smaller time steps; Backward Euler 
Time-dependent problems
 -  So far: used the finite element framework for discretizing in space
 
 -  What about \( u_t = u_{xx} + f \)?
 
  -  Use finite differences in time to obtain a set of recursive spatial
     problems
 
  -  Solve the spatial problems by the finite element method
 
Example: diffusion problem 
$$
\begin{align*}
\frac{\partial u}{\partial t} &= \dfc\nabla^2 u + f(\x, t),\quad
&\x\in\Omega, t\in (0,T]\\ 
u(\x, 0) & = I(\x),\quad &\x\in\Omega\\ 
\frac{\partial u}{\partial n} &= 0,\quad &\x\in\partial\Omega,\ t\in (0,T]
\end{align*}
$$
A Forward Euler scheme; ideas 
$$
\begin{equation*}
[D_t^+ u = \dfc\nabla^2 u + f]^n,\quad n=1,2,\ldots,N_t-1
\end{equation*}
$$
Solving wrt \( u^{n+1} \):
$$
\begin{equation*}
u^{n+1} = u^n + \Delta t \left( \dfc\nabla^2 u^n + f(\x, t_n)\right)
\end{equation*}
$$
 -  \( u^n = \sum_jc_j^n\baspsi_j\, \in V \),
   \( u^{n+1} = \sum_jc_j^{n+1}\baspsi_j\,\in V \)
 
 -  Compute \( u^0 \) from \( I \)
 
 -  Compute \( u^{n+1} \) from \( u^n \) by solving the PDE for \( u^{n+1} \)
   at each time level
 
A Forward Euler scheme; stages in the discretization 
 -  \( \uex(\x,t) \): exact solution of the PDE problem
 
 -  \( \uex^n(\x) \): exact solution of time-discrete problem (after applying
   a finite difference scheme in time)
 
 -  \( \uex^n(\x)\approx u^n = \sum_{j\in\If}c_j^n\baspsi_j = \)
   solution of the time- and space-discrete problem
   (after applying a Galerkin method in space)
 
$$
\begin{equation*}
\frac{\partial \uex}{\partial t} = \dfc\nabla^2 \uex + f(\x, t)
\end{equation*}
$$
$$
\begin{equation*}
\uex^{n+1} = \uex^n + \Delta t \left( \dfc\nabla^2 \uex^n + f(\x, t_n)\right)
\end{equation*}
$$
$$
\uex^n \approx u^n = \sum_{j=0}^{N} c_j^{n}\baspsi_j(\x),\quad
\uex^{n+1} \approx u^{n+1} = \sum_{j=0}^{N} c_j^{n+1}\baspsi_j(\x)
$$
$$ R = u^{n+1} - u^n - \Delta t \left( \dfc\nabla^2 u^n + f(\x, t_n)\right)$$
A Forward Euler scheme; weighted residual (or Galerkin) principle 
$$ R = u^{n+1} - u^n - \Delta t \left( \dfc\nabla^2 u^n + f(\x, t_n)\right)$$
The weighted residual principle:
$$ \int_\Omega Rw\dx = 0,\quad \forall w\in W$$
results in
$$
\int_\Omega
\left\lbrack
u^{n+1} - u^n - \Delta t \left( \dfc\nabla^2 u^n + f(\x, t_n)\right)
\right\rbrack w \dx =0, \quad \forall w \in W
$$
Galerkin: \( W=V \), \( w=v \)
A Forward Euler scheme; integration by parts 
Isolating the unknown \( u^{n+1} \) on the left-hand side:
$$
\int_{\Omega} u^{n+1}v\dx = \int_{\Omega}
\left\lbrack u^n + \Delta t \left( \dfc\nabla^2 u^n + f(\x, t_n)\right)
\right\rbrack v\dx
$$
Integration by parts of \( \int\dfc(\nabla^2 u^n) v\dx \):
$$ \int_{\Omega}\dfc(\nabla^2 u^n)v \dx =
-\int_{\Omega}\dfc\nabla u^n\cdot\nabla v\dx +
\underbrace{\int_{\partial\Omega}\dfc\frac{\partial u^n}{\partial n}v \dx}_{=0\quad\Leftarrow\quad\partial u^n/\partial n=0}
$$
Variational form:
$$
\begin{equation*}
\int_{\Omega} u^{n+1} v\dx =
\int_{\Omega} u^n v\dx -
\Delta t \int_{\Omega}\dfc\nabla u^n\cdot\nabla v\dx +
\Delta t\int_{\Omega}f^n v\dx,\quad\forall v\in V
\end{equation*}
$$
New notation for the solution at the most recent time levels 
 -  \( u \) and 
u: the spatial unknown function to be computed 
 -  \( u_1 \) and 
u_1: the spatial function at the previous time level \( t-\Delta t \) 
 -  \( u_2 \) and 
u_2: the spatial function at \( t-2\Delta t \) 
 -  This new notation gives close correspondence between code and math
 
$$
\begin{equation*}
\int_{\Omega} u v\dx =
\int_{\Omega} u_1 v\dx -
\Delta t \int_{\Omega}\dfc\nabla u_1\cdot\nabla v\dx +
\Delta t\int_{\Omega}f^n v\dx
\end{equation*}
$$
or shorter
$$
\begin{equation*}
(u,v) = (u_1,v) -
\Delta t (\dfc\nabla u_1,\nabla v) +
\Delta t (f^n, v)
\end{equation*}
$$
Deriving the linear systems 
 -  \( u = \sum_{j=0}^{N}c_j\baspsi_j(\x) \)
 
 -  \( u_1 = \sum_{j=0}^{N} c_{1,j}\baspsi_j(\x) \)
 
 -  \( \forall v\in V \): for \( v=\baspsi_i \), \( i=0,\ldots,N \)
 
Insert these in
$$
(u, \baspsi_i) = (u_1,\baspsi_i) -
\Delta t (\dfc\nabla u_1,\nabla\baspsi_i) +
\Delta t (f^n,\baspsi_i)
$$
and order terms as matrix-vector products (\( i=0,\ldots,N \)):
$$
\begin{equation*}
\sum_{j=0}^{N} \underbrace{(\baspsi_i,\baspsi_j)}_{M_{i,j}} c_j =
\sum_{j=0}^{N} \underbrace{(\baspsi_i,\baspsi_j)}_{M_{i,j}} c_{1,j}
-\Delta t \sum_{j=0}^{N}
\underbrace{(\nabla\baspsi_i,\dfc\nabla\baspsi_j)}_{K_{i,j}} c_{1,j}
+ \Delta t (f^n,\baspsi_i)
\end{equation*}
$$
Structure of the linear systems 
$$
\begin{equation*}
Mc = Mc_1 - \Delta t Kc_1 +\Delta t f
\end{equation*}
$$
$$
\begin{align*}
M &= \{M_{i,j}\},\quad M_{i,j}=(\baspsi_i,\baspsi_j),\quad i,j\in\If\\ 
K &= \{K_{i,j}\},\quad K_{i,j}=(\nabla\baspsi_i,\dfc\nabla\baspsi_j),\quad i,j\in\If\\ 
f &= \{(f(\x,t_n),\baspsi_i)\}_{i\in\If}\\ 
c &= \{c_i\}_{i\in\If}\\ 
c_1 &= \{c_{1,i}\}_{i\in\If}
\end{align*}
$$
Computational algorithm 
-  Compute \( M \) and \( K \).
 
-  Initialize \( u^0 \) by either interpolation or projection
 
-  For \( n=1,2,\ldots,N_t \):
 
  -  compute \( b = Mc_1 - \Delta t Kc_1 + \Delta t f \)
 
  -  solve \( Mc = b \)
 
  -  set \( c_1 = c \)
 
Initial condition:
 -  Either interpolation: \( c_{1,j} = I(\x_j) \) (finite elements)
 
 -  Or projection: solve \( \sum_j M_{i,j}c_{1,j} = (I,\baspsi_i) \), \( i\in\If \)
 
Example using sinusoidal basis functions
$$
\begin{align}
\frac{\partial u}{\partial t} &= \dfc\frac{\partial^2 u}{\partial x^2},\quad
&x\in (0,L),\ t\in (0,T],
\label{fem:deq:diffu:pde1D:eq}\\ 
u(x, 0) & = A\cos(\pi\x/L) + B\cos(10\pi x/L),\quad &x\in[0,L],
\label{fem:deq:diffu:pde1D:ic}\\ 
\frac{\partial u}{\partial x} &= 0,\quad &x=0,L,\ t\in (0,T]
\label{fem:deq:diffu:pde1D:bcN}
\tp
\end{align}
$$
$$ \baspsi_i = \cos(i\pi x/L)\tp$$
Approximating the initial condition 
\( I(x)\in V \) implies perfect approximation of the initial condition:
$$ c_{1,1}=A,\quad c_{1,10}=B,$$
while \( c_{1,i}=0 \) for \( i\neq 1,10 \).
Computing the \( M \) and \( K \) matrices 
Note that \( \baspsi_i \) and \( \baspsi_i' \)
are orthogonal on \( [0,L] \) such that we only need
to compute the diagonal elements \( M_{i,i} \) and \( K_{i,i} \)!
$$ M_{0,0}=L,\quad M_{i,i}=L/2,\ i>0,\quad K_{0,0}=0,\quad K_{i,i}=\frac{\pi^2 i^2}{2L},\ i>0\tp$$
Solving the equation system 
$$
\begin{align*}
Lc_0 &= Lc_{1,0} - \Delta t \cdot 0\cdot c_{1,0},\\ 
\frac{L}{2}c_i &= \frac{L}{2}c_{1,i} - \Delta t
\frac{\pi^2 i^2}{2L} c_{1,i},\quad i>0\tp
\end{align*}
$$
$$ c_i = (1-\Delta t (\frac{\pi i}{L})^2) c_{1,i}\tp $$
We actually get a closed-form discrete solution:
$$ u^n_i = A(1-\Delta t (\frac{\pi}{L})^2)^n \cos(\pi x/L)
+ B(1-\Delta t (\frac{10\pi }{L})^2)^n \cos(10\pi x/L)\tp$$
Comparing P1 elements with the finite difference method; ideas
 -  P1 elements in 1D
 
 -  Uniform mesh on \( [0,L] \) with cell length \( h \)
 
 -  No Dirichlet conditions: \( \baspsi_i=\basphi_i \), \( i=0,\ldots,N=N_n-1 \)
 
 -  Have found formulas for \( M \) and \( K \) at the element level
 
 -  Have assembled the global matrices
 
 -  Have developed corresponding finite difference operator formulas
 
 -  \( M \): \( h[u + \frac{1}{6}h^2D_xD_x u]^n_i \)
 
 -  \( K \): \( h[\dfc D_xD_x u]^n_i \)
 
Comparing P1 elements with the finite difference method; results 
Diffusion equation with finite elements is equivalent to
$$
\begin{equation*}
[D_t^+(u + \frac{1}{6}h^2D_xD_x u) = \dfc D_xD_x u + f]^n_i
\end{equation*}
$$
Can lump the mass matrix by Trapezoidal integration and get
the standard finite difference scheme
$$
\begin{equation*}
[D_t^+u  = \dfc D_xD_x u + f]^n_i
\end{equation*}
$$
Discretization in time by a Backward Euler scheme
Backward Euler scheme in time:
$$
[D_t^- u = \dfc\nabla^2 u + f(\x, t)]^n
$$
$$
\begin{equation*}
\uex^{n} - \Delta t \left( \dfc\nabla^2 \uex^n + f(\x, t_{n})\right) =
\uex^{n-1}
\end{equation*}
$$
$$ \uex^n \approx u^n = \sum_{j=0}^{N} c_j^{n}\baspsi_j(\x),\quad
\uex^{n+1} \approx u^{n+1} = \sum_{j=0}^{N} c_j^{n+1}\baspsi_j(\x)$$
The variational form of the time-discrete problem 
$$
\begin{equation*}
\int_{\Omega} \left( u^{n}v
+ \Delta t \dfc\nabla u^n\cdot\nabla v\right)\dx
= \int_{\Omega} u^{n-1}  v\dx +
\Delta t\int_{\Omega}f^n v\dx,\quad\forall v\in V
\end{equation*}
$$
or
$$
\begin{equation*}
(u,v)
+ \Delta t (\dfc\nabla u,\nabla v)
= (u_1,v) +
\Delta t (f^n,v)
\end{equation*}
$$
The linear system: insert \( u=\sum_j c_j\baspsi_i \) and \( u_1=\sum_j c_{1,j}\baspsi_i \),
$$
\begin{equation*}
(M + \Delta t K)c = Mc_1 + \Delta t f
\end{equation*}
$$
Calculations with P1 elements in 1D 
Can interpret the resulting equation system as
$$
\begin{equation*}
[D_t^-(u + \frac{1}{6}h^2D_xD_x u) = \dfc D_xD_x u + f]^n_i
\end{equation*}
$$
Lumped mass matrix (by Trapezoidal integration) gives a standard
finite difference method:
$$
\begin{equation*}
[D_t^- u = \dfc D_xD_x u + f]^n_i
\end{equation*}
$$
Dirichlet boundary conditions
Dirichlet condition at \( x=0 \) and Neumann condition at \( x=L \):
$$
\begin{align*}
u(\x,t) &= u_0(\x,t),\quad & \x\in\partial\Omega_D\\ 
-\dfc\frac{\partial}{\partial n} u(\x,t) &= g(\x,t),\quad
& \x\in\partial{\Omega}_N
\end{align*}
$$
Forward Euler in time, Galerkin's method, and integration by parts:
$$
\begin{equation*}
\int_\Omega u^{n+1}v\dx =
\int_\Omega (u^n - \Delta t\dfc\nabla u^n\cdot\nabla v)\dx +
\Delta t\int_\Omega fv \dx -
\Delta t\int_{\partial\Omega_N} gv\ds,\quad \forall v\in V
\end{equation*}
$$
Requirement: \( v=0 \) on \( \partial\Omega_D \)
Boundary function 
$$ u^n(\x) = u_0(\x,t_n) + \sum_{j\in\If}c_j^n\baspsi_j(\x)$$
$$
\begin{align*}
\sum_{j\in\If} & \left(\int_\Omega \baspsi_i\baspsi_j\dx\right)
c^{n+1}_j = \sum_{j\in\If}
\left(\int_\Omega\left( \baspsi_i\baspsi_j -
\Delta t\dfc\nabla \baspsi_i\cdot\nabla\baspsi_j\right)\dx\right) c_j^n - \\ 
&\quad  \int_\Omega\left( \left(u_0(\x,t_{n+1}) - u_0(\x,t_n)\right) \baspsi_i
+ \Delta t\dfc\nabla u_0(\x,t_n)\cdot\nabla
\baspsi_i\right)\dx \\ 
& \quad  + \Delta t\int_\Omega f\baspsi_i\dx -
\Delta t\int_{\partial\Omega_N} g\baspsi_i\ds,
\quad i\in\If
\end{align*}
$$
Finite element basis functions 
 -  \( B(\x,t_n)=\sum_{j\in\Ifb} U_j^n\basphi_j \)
 
 -  \( \baspsi_i = \basphi_{\nu(j)} \), \( j\in\If \)
 
 -  \( \nu(j) \), \( j\in\If \), are the node numbers corresponding to all
   nodes without a Dirichlet condition
 
$$
\begin{align*}
u^n &= \sum_{j\in\Ifb} U_j^n\basphi_j + \sum_{j\in\If}c_{1,j}\basphi_{\nu(j)},\\ 
u^{n+1} &= \sum_{j\in\Ifb} U_j^{n+1}\basphi_j +
\sum_{j\in\If}c_{j}\basphi_{\nu(j)}
\end{align*}
$$
$$
\begin{align*}
\sum_{j\in\If} & \left(\int_\Omega \basphi_i\basphi_j\dx\right)
c_j = \sum_{j\in\If}
\left(\int_\Omega\left( \basphi_i\basphi_j -
\Delta t\dfc\nabla \basphi_i\cdot\nabla\basphi_j\right)\dx\right) c_{1,j}
- \\ 
&\quad  \sum_{j\in\Ifb}\int_\Omega\left( \basphi_i\basphi_j(U_j^{n+1} - U_j^n)
+ \Delta t\dfc\nabla \basphi_i\cdot\nabla
\basphi_jU_j^n\right)\dx \\ 
&\quad + \Delta t\int_\Omega f\basphi_i\dx -
\Delta t\int_{\partial\Omega_N} g\basphi_i\ds,
\quad i\in\If
\end{align*}
$$
Modification of the linear system; the raw system 
 -  Drop boundary function
 
 -  Compute as if there are not Dirichlet conditions
 
 -  Modify the linear system to incorporate Dirichlet conditions
 
 -  \( \If \) holds the indices of all nodes \( \{0,1,\ldots,N=N_n-1\} \)
 
$$
\begin{align*}
\sum_{j\in\If}
\biggl(\underbrace{\int_\Omega \basphi_i\basphi_j\dx}_{M_{i,j}}\biggr)
c_j &= \sum_{j\in\If}
\biggl(\underbrace{\int_\Omega \basphi_i\basphi_j \dx}_{M_{i,j}} -
\Delta t\underbrace{\int_\Omega
\dfc\nabla \basphi_i\cdot\nabla\basphi_j\dx}_{K_{i,j}}\biggr) c_{1,j}
\\ 
&\quad \underbrace{+\Delta t\int_\Omega f\basphi_i\dx -
\Delta t\int_{\partial\Omega_N} g\basphi_i\ds}_{f_i},\quad i\in\If
\end{align*}
$$
Modification of the linear system; setting Dirichlet conditions 
$$
\begin{equation*}
Mc = b,\quad b = Mc_1 - \Delta t Kc_1 + \Delta t f
\end{equation*}
$$
For each \( k \) where a Dirichlet condition applies,
\( u(\xno{k},t_{n+1})=U_k^{n+1} \),
 -  set row \( k \) in \( M \) to zero and 1 on the diagonal:
   \( M_{k,j}=0 \), \( j\in\If \), \( M_{k,k}=1 \)
 
 -  \( b_k = U_k^{n+1} \)
 
Or apply the slightly more complicated modification which
preserves symmetry of \( M \)
Modification of the linear system; Backward Euler example 
Backward Euler discretization in time gives a more complicated
coefficient matrix:
$$
\begin{equation*}
Ac=b,\quad A = M + \Delta t K,\quad b = Mc_1 + \Delta t f
\end{equation*}
$$
 -  Set row \( k \) to zero and 1 on the diagonal:
   \( M_{k,j}=0 \), \( j\in\If \), \( M_{k,k}=1 \)
 
 -  Set row \( k \) to zero: \( K_{k,j}=0 \), \( j\in\If \)
 
 -  \( b_k = U_k^{n+1} \)
 
Observe: \( A_{k,k} = M_{k,k} + \Delta t K_{k,k} = 1 + 0 \), so
\( c_k = U_k^{n+1} \)
Analysis of the discrete equations
The diffusion equation \( u_t = \dfc u_{xx} \) allows a (Fourier)
wave component
$$
\begin{equation*}
u = \Aex^n e^{ikx},\quad \Aex = e^{-\dfc k^2\Delta t}
\end{equation*}
$$
Numerical schemes often allow the similar solution
$$
\begin{equation*}
u^n_q = A^n e^{ikx}
\end{equation*}
$$
 -  \( A \): amplification factor to be computed
 
 -  How good is this \( A \) compared to the exact one?
 
Handy formulas 
$$
\begin{align*}
[D_t^+ A^n e^{ikq\Delta x}]^n &= A^n e^{ikq\Delta x}\frac{A-1}{\Delta t},\\ 
[D_t^- A^n e^{ikq\Delta x}]^n &= A^n e^{ikq\Delta x}\frac{1-A^{-1}}{\Delta t},\\ 
[D_t A^n e^{ikq\Delta x}]^{n+\half} &= A^{n+\half} e^{ikq\Delta x}\frac{A^{\half}-A^{-\half}}{\Delta t} = A^ne^{ikq\Delta x}\frac{A-1}{\Delta t},\\ 
[D_xD_x A^ne^{ikq\Delta x}]_q &= -A^n \frac{4}{\Delta x^2}\sin^2\left(\frac{k\Delta x}{2}\right)
\end{align*}
$$
Amplification factor for the Forward Euler method; results 
Introduce \( p=k\Delta x/2 \) and \( C=\dfc\Delta t/\Delta x^2 \):
$$ A = 1 - 4C\frac{\sin^2 p}{1 - \underbrace{\frac{2}{3}\sin^2 p}_{\hbox{from }M}}$$
(See notes for details)
Stability: \( |A|\leq 1 \):
$$
\begin{equation*}
C\leq \frac{1}{6}\quad\Rightarrow\quad \Delta t\leq \frac{\Delta x^2}{6\dfc}
\end{equation*}
$$
Finite differences: \( C\leq {\half} \), so finite elements give a stricter
stability criterion for this PDE!
Amplification factor for the Backward Euler method; results 
Coarse meshes:
$$
A = \left( 1 + 4C\frac{\sin^2 p}{1 + \frac{2}{3}\sin^2 p}\right)^{-1}
\hbox{ (unconditionally stable)}
$$

Amplification factors for smaller time steps; Forward Euler 

Amplification factors for smaller time steps; Backward Euler 
