Discretization of Pdes and Tools for the Parallel Solution of the Resulting Systems
Total Page:16
File Type:pdf, Size:1020Kb
Discretization of PDEs and Tools for the Parallel Solution of the Resulting Systems Stan Tomov Innovative Computing Laboratory Computer Science Department The University of Tennessee Wednesday March 17, 2010 CS 594, 03-17-2010 CS 594, 03-17-2010 Outline Part I Partial Differential Equations Part II Mesh Generation and Load Balancing Part III Tools for Numerical Solution of PDEs CS 594, 03-17-2010 Part I Partial Differential Equations CS 594, 03-17-2010 Mathematical Modeling Mathematical Model: a representation of the essential aspects of an existing system which presents knowledge of that system in usable form (Eykhoff, 1974) Mathematical Modeling: Real world Model Navier-Stokes equations: ! r · u = 0 @u 1 = −(u · r)u − rp + νr2u + f @t ρ B:C:; etc: CS 594, 03-17-2010 Mathematical Modeling We are interested in models that are Dynamic i.e. account for changes in time Heterogeneous i.e. account for heterogeneous systems Typically represented with Partial Differential Equations CS 594, 03-17-2010 Mathematical Modeling How can we model for e.g. Heat Transfer? Heat * a form of energy (thermal) Heat Conduction * transfer of thermal energy from a region of higher temperature to a region of lower temperature Some notations Q : amount of heat k : material conductivity T : temperature A : area of cross-section CS 594, 03-17-2010 Heat Transfer The Law of Heat Conduction 4Q 4T = k A 4t 4x Change of heat is proportional to the gradient of the temperature and the area A of the cross-section. Q : amount of heat k : material conductivity T : temperature A : area of cross-section CS 594, 03-17-2010 Heat Transfer Consider 1-D heat transfer in a thin wire so thin that T is piecewise constant along the slides, i.e. T0(t), T1(t), T2(t), etc. ideally insulated Let us write a balance for the temperature at T1 for time t + 4t T1(t + 4t) =? CS 594, 03-17-2010 Heat Transfer T1(t + 4t) ≈ T1(t) (T (t) − T (t)) + k4t 2 1 (4x)2 (T (t) − T (t)) + k4t 0 1 (4x)2 T (t) − 2T (t) + T (t) = T (t) + k4t 2 1 0 1 (4x)2 Take lim4x;4t!0 @T @2T ) = k (Exercise) @t @x2 CS 594, 03-17-2010 Heat Transfer Extend to 2-D and put a source term f to easily get @T @2T @2T = k + + f ≡ k 4T + f @t @x2 @y 2 Known as the Heat equation CS 594, 03-17-2010 Other Important PDEs Poisson equation (elliptic) 4u = f Heat equation (parabolic) @T = k 4T + f @t Wave equation (hyperbolic) 1 @2u = 4u + f ν2 @t2 CS 594, 03-17-2010 Classification of PDEs For a general second-order PDE in 2 variables: Auxx + Buxy + Cuyy + ··· = 0 Elliptic: if B2 − 4AC < 0 process in equilibrium (no time dependence) easy to discretize but challenging to solve Parabolic: if B2 − 4AC = 0 processes evolving toward steady state Hyperbolic: if B2 − 4AC > 0 not evolving toward steady state difficult to discretize (support discontinuoities) but easy to solve in characteristic form CS 594, 03-17-2010 How do we solve them? Numerical solution approaches: Finite difference method Finite element method Finite volume method Boundary element method CS 594, 03-17-2010 Finite Difference Method use finite differences to approximate differential operators one of the simplest and extensively used method in solving PDEs the error, called truncation error, is due to finite approximation of the Taylor series of the differential operator CS 594, 03-17-2010 A Finite Difference Method Example Consider the 2-D Poisson equation: @2u @2u + = f @x2 @y 2 The idea, first in 1-D: d2u Use Taylor series to approximate dx2 (x) with u(x); u(x + h); u(x − h) du h2 d2u h3 d3u u(x + h) = u(x) + h (x) + (x) + (x) + O(h4) dx 2 dx2 3! dx3 du h2 d2u h3 d3u u(x − h) = u(x) − h (x) + (x) − (x) + O(h4) dx 2 dx2 3! dx3 d2u 1 ) (x) = (u(x + h) + u(x − h) − 2u(x)) + O(h2) dx2 h2 CS 594, 03-17-2010 A Finite Difference Method Example Similarly in 2-D Use Taylor series to approximate 4u(x; y) with u(x; y); u(x + h; y); u(x − h; y); u(x; y + h); u(x; y − h). @u h2 @2u h3 @3u u(x + h; y) = u(x; y) + h (x; y) + (x; y) + (x; y) + O(h4) @x 2 @x2 3! @x3 @u h2 @2u h3 @3u u(x − h; y) = u(x; y) − h (x; y) + (x; y) − (x; y) + O(h4) @x 2 @x2 3! @x3 @u h2 @2u h3 @3u u(x; y + h) = u(x; y) + h (x; y) + (x; y) + (x; y) + O(h4) @y 2 @y 2 3! @y 3 @u h2 @2u h3 @3u u(x; y − h) = u(x; y) − h (x; y) + (x; y) − (x; y) + O(h4) @y 2 @y 2 3! @y 3 1 ) ∆u(x; y) = (u(x + h; y) + u(x − h; y) + u(x; y + h) + u(x; y − h) − 4u(x)) + O(h2) h2 CS 594, 03-17-2010 A Finite Difference Method Example Consider the 1-D equation: d2u (x) = f (x); for x 2 (0; 1) dx2 and the Dirichlet boundary condition we obtain a linear system of the form u(0) = u(1) = 0 Ax = b The interval [0; 1] is discretized uniformly with where b = (fi )i=1;n and x = (ui )i=1;n and n + 2 points x0 x1 xn xn+1 0 2 −1 1 −1 2 −1 -- -- B C B −1 2 −1 C h h h h 1 B C b b b b b b b b A = B . C 2 B . C h B . C At any point xi we are looking for ui , an B C @ −1 2 −1 A approxmation of the exact solution u(xi ), using −1 2 the approximation 2 −ui−1 + 2ui − ui+1 = h fi ; and the fact that u0 = un+1 = 0 , (slide used material from Julien Langou's presentation) CS 594, 03-17-2010 A Finite Difference Method Example The interval [0; 1] × [0; 1] is discretized uniformly with (n + 2) × (n + 2) points Consider the 2-D Poisson equation: b b b b b b ∆u = f b b b b b b and the Dirichlet boundary condition b b b b b b u(x; y) = 0 for (x; y) 2 @Ω b b b b b b h 6 ?b- b b b b b h b b b b b b 0 B −I 1 0 4 −1 1 −IB −1 −1 4 −1 B C B C B −IB −1 C B −1 4 −1 C 1 B C B C B C B C A = B . C where B = B . C h2 B . C B . C B . C B . C @ −IB −I A @ −1 4 −1 A −IB −1 4 (slide used material from Julien Langou's presentation) CS 594, 03-17-2010 Finite Element Method Remember the slides from lecture 2 http://www.cs.utk.edu/∼dongarra/WEB-PAGES/SPRING-2010/Lect02-2010.pdf Main pluses/minuses of FEM vs FDM FEM can handle complex geometries FDM is easy to implement CS 594, 03-17-2010 A Finite Element Method Example Consider the 1-D Dirichlet problem: (1) u00(x) = f (x); for x 2 (0; 1) and the Dirichlet boundary condition u(0) = u(1) = 0 Weak or Variational formulation: Multiply (1) by smooth v and integrate over (0,1) Z 1 Z 1 f (x)v(x)dx = u00(x)v(x)dx 0 0 Integrate by parts the above RHS Z 1 Z 1 00 0 1 0 0 u (x)v(x)dx = u (x)v(x)j0 − u (x)v (x)dx 0 0 Z 1 = − u0(x)v 0(x)dx ≡ −a(u; v) 0 1 Variational formulation: Find u 2 H0 (0; 1) such that Z 1 1 f (x)v(x)dx = −a(u; v) for 8v 2 H0 (0; 1) 0 CS 594, 03-17-2010 A Finite Element Method Example Discretization (Galerkin FE problem): 1 Replace H0 (0; 1) with finite dimensional subspace V Shown is a 4 dimensional space V (basis in blue) and a linear combination (in red) What is the matrix form of the problem (Exercise) CS 594, 03-17-2010 Part II Mesh Generation and Load Balancing slides at: http://www.cs.utk.edu/∼dongarra/WEB-PAGES/SPRING-2010/Lect09-p2.pdf CS 594, 03-17-2010 Part III Tools for Numerical Solution of PDEs CS 594, 03-17-2010 Parallel PDE Computations Challenges: Software Complexity Data Distribution and Access Portability, Algorithms, and Data Redistribution Read more in Chapter 21 CS 594, 03-17-2010 Software for PDEs There is software; to mention a few packages: Overture FFTW OO framework for PDEs in complex moving geometry parallel FFT routines PARASOL Diffpack Parallel, sparse matrix solvers; in Fortran 90 OO framework for solving PDEs SAMRAI Doug OO framework for parallel AMR applications FEM for elliptic PDEs Hypre POOMA Large sparse linear solvers and preconditioners OO framework for HP applications PETSc UG Tools for numerical solution of PDEs PDEs on unstructured grids using multigrid See also: http://www.mgnet.org/ http://www.nhse.org/ http://www.netlib.org/ CS 594, 03-17-2010 PETSc PETSc: Portable, Extensible Toolkit for Scientific computation for large-scale sparse systems facilitate extensibility provides interface to external packages, e.g. BlockSolve95, ESSL, Matlab, ParMeTis, PVODE, and SPAI.