Partial Differential Equations Introduction Deng Li Discretization Methods Chunfang Chen, Danny Thorne, Adam Zornes CS521 Feb.,7, 2006
What do You Stand For? A PDE is a Partial Differential Equation This is an equation with derivatives of at least two variables in it. In general, partial differential equations are much more difficult to solve analytically than are ordinary differential equations
What Does a PDE Look Like Let u be a function of x and y. There are several ways to write a PDE, e.g., u x + u y = 0 δu/δx + δu/δy = 0
The Baskin Robin s esq Characterization of PDE s The order is determined by the maximum number of derivatives of any term. Linear/Nonlinear A nonlinear PDE has the solution times a partial derivative or a partial derivative raised to some power in it Elliptic/Parabolic/Hyperbolic
Six One Way Say we have the following: Au xx + Bu xy + Cu yy + Du x + Eu y + F = 0. Look at B 2-4AC < 0 elliptic = 0 parabolic > 0 hyperbolic
Or Half a Dozen Another A general linear PDE of order 2: n! a ij u xi x j +! b i u xi + cu = d. i, j =1 i=1 Assume symmetry in coefficients so that A = [aij] is symmetric. Eig(A) are real. Let P and Z denote the number of positive and zero eigenvalues of A. Elliptic: Z = 0 and P = n or Z = 0 and P = 0.. Parabolic: Z > 0 (det(a) = 0). n Hyperbolic: Z=0 and P = 1 or Z = 0 and P = n-1. Ultra hyperbolic: Z = 0 and 1 < P < n-1.
Elliptic, Not Just For Exercise Anymore Elliptic partial differential equations have applications in almost all areas of mathematics, from harmonic analysis to geometry to Lie theory, as well as numerous applications in physics. The basic example of an elliptic partial differential equation is Laplace s Equation u xx - u yy = 0
The Others The heat equation is the basic Hyperbolic u t - u xx - u yy = 0 The wave equations are the basic Parabolic u t - u x - u y = 0 u tt - u xx - u yy = 0 Theoretically, all problems can be mapped to one of these
What Happens Where You Can t Tell What Will Happen Types of boundary conditions Dirichlet: specify the value of the function on a surface Neumann: specify the normal derivative of the function on a surface Robin: a linear combination of both Initial Conditions
Is It Worth the Effort? Basically, is it well-posed? A solution to the problem exists. The solution is unique. The solution depends continuously on the problem data. In practice, this usually involves correctly specifying the boundary conditions
Why Should You Stay Awake for the Remainder of the Talk? Enormous application to computational science, reaching into almost every nook and cranny of the field including, but not limited to: physics, chemistry, etc.
Example Laplace s equation involves a steady state in systems of electric or magnetic fields in a vacuum or the steady flow of incompressible non-viscous fluids Poisson s equation is a variation of Laplace when an outside force is applied to the system
Poisson Equation in 2D
Example: CFD
Discretization for PDEs Chunfang Chen,Danny Thorne Adam Zornes,, Deng Li CS 521 Feb., 9,2006
Classification of PDEs Different mathematical and physical behaviors: Elliptic Type Parabolic Type Hyperbolic Type System of coupled equations for several variables: Time : first-derivative (second-derivative for wave equation) Space: first- and second-derivatives
Classification of PDEs (cont.) General form of second-order PDEs ( 2 variables)
PDE Model Problems Hyperbolic (Propagation) Advection equation (First-order linear) Wave equation (Second-order linear )
PDE Model Problems (cont.) Parabolic (Time- or space-marching) Burger s s equation(second-order nonlinear) (Diffusion / dispersion) Fourier equation (Second-order linear )
PDE Model Problems (cont.) Elliptic (Diffusion, equilibrium problems) Laplace/Poisson (second-order linear) Helmholtz equation (second-order linear)
PDE Model Problems (cont.) System of Coupled PDEs Navier-Stokes Equations
Well-Posed Problem Numerically well-posed Discretization equations Auxiliary conditions (discretized( approximated) the computational solution exists (existence) the computational solution is unique (uniqueness) the computational solution depends continuously on the approximate auxiliary data the algorithm should be well-posed (stable) also
Boundary and Initial Conditions Initial conditions: starting point for propagation problems Boundary conditions: specified on domain boundaries to provide the interior solution in computational domain R s R n
Numerical Methods Complex geometry Complex equations (nonlinear, coupled) Complex initial / boundary conditions No analytic solutions Numerical methods needed!!
Numerical Methods Objective: : Speed, Accuracy at minimum cost Numerical Accuracy (error analysis) Numerical Stability (stability analysis) Numerical Efficiency (minimize cost) Validation (model/prototype data, field data, analytic solution, theory, asymptotic solution) Reliability and Flexibility (reduce preparation and debugging time) Flow Visualization (graphics and animations)
computational solution procedures Governing Equations ICS/BCS Discretization System of Algebraic Equations Equation (Matrix) Solver Approximate Solution Continuous Solutions Finite-Difference Finite-Volume Finite-Element Spectral Boundary Element Hybrid Discrete Nodal Values Tridiagonal ADI SOR Gauss-Seidel Krylov Multigrid U i (x,y,z,t) p (x,y,z,t) T (x,y,z,t) or φ (ξ,η,ζ,τ ) DAE
Discretization Time derivatives almost exclusively by finite-difference methods Spatial derivatives - Finite-difference: : Taylor-series expansion - Finite-element: : low-order shape function and interpolation function, continuous within each element - Finite-volume: : integral form of PDE in each control volume - There are also other methods, e.g. collocation, spectral method, spectral element, panel method, boundary element method
Finite Difference Taylor series Truncation error How to reduce truncation errors? Reduce grid spacing, use smaller Δx = x-x o Increase order of accuracy, use larger n
Finite Difference Scheme Forward difference Backward difference Central difference
Example : Poisson Equation (-1,1) (1,1) y x (-1,-1) (1,-1)
Example (cont.) (i,j+1)!y (i-1,j)!x (i,j) (i+1,j) (i,j-1)
Rectangular Grid After we discretize the Poisson equation on a rectangular domain, we are left with a finite number of gird points. The boundary values of the equation are the only known grid points 0,4 1,4 2,4 3,4 4,4 0,3 1,3 2,3 3,3 4,3 0,2 1,2 2,2 3,2 4,2 0,1 1,1 2,1 3,1 4,1 0,0 1,0 2,0 3,0 4,0
What to solve? Discretization produces a linear system of equations.! 4 1 0 1 The A matrix is a pentadiagonal banded matrix of a standard form: 1! 4 1 0 0 1! 4 1 1 0 1! 4 0 1 0 1 A solution method is to be performed for solving 0 1 0 1! 4
Matrix Storage We could try and take advantage of the banded nature of the system, but a more general solution is the adoption of a sparse matrix storage strategy.
Limitations of Finite Differences Unfortunately, it is not easy to use finite differences in complex geometries. While it is possible to formulate curvilinear finite difference methods, the resulting equations are usually pretty nasty.
Finite Element Method The finite element method, while more complicated than finite difference methods, easily extends to complex geometries. A simple (and short) description of the finite element method is not easy to give. PDE Weak Form Matrix System
Finite Element Method (Variational Formulations) Find u in test space H such that a(u,v) = f(v) for all v in H, where a is a bilinear form and f is a linear functional. V(x,y) = Σ j V j φ j (x,y), j = 1,,n,n I(V) =.5 Σ j Σ j A ij V i V j - Σ j b i V i, i,j = 1,,n,n A ij = a( φ j, φ j ), i = 1,,n,n B i = f φ j, i = 1,,n,n The coefficients V j are computed and the function V(x,y) is evaluated anyplace that a value is needed. The basis functions should have local support (i.e., have a limited area where they are nonzero).
Time Stepping Methods Standard methods are common: Forward Euler (explicit) Backward Euler (implicit) Crank-Nicolson (implicit) T n+ 1 j " T! t L xx n j T = # L j = T xx j" 1 T n+ 1 j " 2T! x + j 2 (1 "# ) L + T j+ 1 xx T n j θ = 0, Fully-Explicit θ = 1, Fully-Implicit θ = ½, Crank-Nicolson
Time Stepping Methods (cont.) Variable length time stepping Most common in Method of Lines (MOL( MOL) ) codes or Differential Algebraic Equation (DAE( DAE) ) solvers
Solving the System The system may be solved using simple iterative methods - Jacobi,, Gauss-Seidel, SOR, etc. Some advantages: - No explicit storage of the matrix is required - The methods are fairly robust and reliable Some disadvantages - Really slow (Gauss-Seidel) - Really slow (Jacobi( Jacobi)
Solving the System Advanced iterative methods (CG, GMRES) CG is a much more powerful way to solve the problem. Some advantages: Easy to program (compared to other advanced methods) Fast (theoretical convergence in N steps for an N by N system) Some disadvantages: Explicit representation of the matrix is probably necessary Applies only to SPD matrices
Multigrid Algorithm: Components Residual compute the error of the approximation Iterative method/smoothing Operator Gauss-Seidel iteration Restriction obtain a coarse grid Prolongation from the coarse grid back to the original grid
Residual Vector The equation we are to solve is defined as: So then the residual is defined to be: Where u q is a vector approximation for u As the u approximation becomes better, the components of the residual vector(r), move toward zero
Multigrid Algorithm: Components Residual compute the error of your approximation Iterative method/smoothing Operator Gauss-Seidel iteration Restriction obtain a coarse grid Prolongation from the coarse grid back to the original grid
Multigrid Algorithm: Components Residual compute the error of your approximation Iterative method/smoothing Operator Gauss-Seidel iteration Restriction obtain a coarse grid Prolongation from the coarse grid back to the original grid
The Restriction Operator Defined as half-weighted restriction. Each new point in the courser grid, is dependent upon it s s neighboring points from the fine grid
Multigrid Algorithm: Components Residual compute the error of your approximation Iterative method/smoothing Operator Gauss-Seidel iteration Restriction obtain a coarse grid Prolongation from the coarse grid back to the original grid
The Prolongation Operator The grid change is exactly the opposite of restriction (0,2) (1,2) (2,2) (0,1) (1,1) (2,1) (0,0) (1,0) (2,0) (0,4) (1,4) (2,4) (3,4) (4,4) (0,3) (1,3) (2,3) (3,3) (4,3) (0,2) (1,2) (2,2) (3,2) (4,2) (0,1) (1,1) (2,1) (3,1) (4,1) (0,0) (1,0) (2,0) (3,0) (4,0)
Prolongation vs. Restriction The most efficient multigrid algorithms use prolongation and restriction operators that are directly related to each other. In the one dimensional case, the relation between prolongation and restriction is as follows:
Full Multigrid Algorithm 1.Smooth initial U vector to receive a new approximation Uq 2. Form residual vector: Rq =b -A Uq 3. Restrict Rq to the next courser grid Rq-1 4. Smooth Ae= Rq-1 starting with e=0 to obtain e q-1 5.Form a new residual vector using: Rq-1= Rq-1 -A e q-1 6. Restrict R2 (5x? where? 5) down to R1(3x? where? 3) 7. Solve exactly for Ae= R1 to obtain e 1 8. Prolongate e 1 e 2 & add to e 2 you got from restriction 9. Smooth Ae= R2 using e 2 to obtain a new e 2 10. Prolongate e q-1 to e q and add to Uq
Reference http://www.mgnet.org/~douglas www.mgnet.org/~douglas/ http://www.mgnet.org/~douglas/classes/cs 521/2006-index.html
Practice (Option) processing Introduce the following processing by read the book A A Tutorial on Elliptic PDE Solvers and Their Parallelization PDE Weak Form Discrete Matrix