Numerical Methods for Partial Differential Equations CAAM 452 Spring 2005 Instructor: Tim Warburton Class Location: Duncan Hall 1046 Class Time: 9:25am to 10:40am Office Hours: 10:45am to noon in DH 3021 Homeworks will be set each Thursday and due the following Thursday unless otherwise notified. Homework should be typed (with equations written by hand if necessary) You must use a word processor (e.g. open office, kword, Microsoft Word…) or latex. IMPORTANT: you must include your name at the top right of every page (see web page for example latex template). All homework should be an individual effort unless otherwise specified. Students are expected to be proficient in Matlab or C or C++ For homework with a coding component, include a print out of your code in the body of the work (if small) or in an appendix (if the code is long). You may only use outsourced code if notified explicitly. I will post the original source of homeworks handouts – you may cut and paste the problem descriptions into your homework. All lecture notes will be posted as soon as possible. Any student who does not attend multiple classes without reasonable explanation will incur point deductions at 1.5 times the usual rate (i.e. if you achieve 8/10 on a homework but have noticeably been absent for the relevant classes you will receive 7/10 unless you can explain your absence) Homework which is more than one day late will incur point deductions at a rate of 1.5 times the usual rate. Grade Distribution 60% homeworks 20% midterm 20% final Books Finite Element Method: Linear Static and Dynamic Finite Element Analysis, Thomas J. R. Hughes (Dover Publications) Finite Volume Methods for Hyperbolic Problems, by Randall J. LeVeque, D. G. Crighton (Series Editor) (Cambridge Texts in Applied Mathematics) Time Dependent Problems and Difference Methods by Bertil Gustafsson, Heinz-Otto Kreiss, Joseph Oliger (Pure and Applied Mathematics: A Wiley-Interscience Series of Texts, Monographs and Tracts) Syllabus Sample equations which we will aim to solve with numerical methods: 1D 1) one-way wave equation: u u a 0 t x 2) second order wave equation: 2 2u 2 u c t 2 x 2 3) linearized Euler equations: u 0 c u f u, p, x, t t p c 0 x p g u, p, x, t 4) heat equation: u 2u 2 t t 5) advection-diffusion: u u u a b t x x x 6) Poisson’s equation: 2u f x x 2 7) one-way wave equation: u u u a b 0 t x y 8) second order wave equation: 2u c 2 2u 2 t 2D q q q A B 0 t x y 9) linearized Euler equations: 0 0 1 0 0 0 u A 0 0 0 , B 0 0 1 , q v 1 0 0 0 1 0 p 10) heat equation: u 2 u t 11) advection-diffusion: u a u bu t 12) Nonlinear conservation law: q f q , x, y , t 0 t 13) Poisson’s equation: 2u f x, y These prototype equations will be used extensively as they each illustrate certain properties of partial differential equations (a.k.a. PDE’s). They include classic examples of hyperbolic, parabolic and elliptic PDE’s. The course will consist of four overlapping sections, focusing on four topics: 1) Temporal discretization of ODE’s (also known as time stepping methods): these are introduced to explain how we will treat the temporal part of the above equations. The choice of time-stepping method to use will be determined by the properties of the spatial differential operators of the PDE being discretized. Understanding how time-stepping of an ODE can be performed is fundamentally important for using numerical methods to solve a specific partial differential equation. Topics: a. Stability of time stepping b. Stability regions in the complex plane c. Accuracy of time stepping d. Convergence of time stepping method with decreasing time step e. Examples of explicit time stepping methods: i. Euler forward ii. Leap-frog iii. Adams-Bashford iv. Runge-Kutta 2) Finite Difference Methods (FDM): we will use these straightforward methods to motivate the ideas behind and understanding of stability/consistency/accuracy and convergence. Topics a. Approximation of spatial derivatives with difference formulae b. Taylor’s theorem c. Interpretation of differentiation by differencing in terms of interpolants d. Stencils e. Periodic domains f. Example “canned” methods for some of the above 1D PDE’s g. Method of lines h. Spectral properties of finite difference operators i. Stability j. Consistency k. Accuracy l. Role of function regularity. m. Convergence (Lax-Richtmyer equivalence theorem) n. von Neumann analysis o. Courant-Friedrichs-Lewy (CFL) time step restrictions 3) Finite Volume Methods (FVM): we will focus on discretizing hyperbolic conservation laws with these methods, because of their local nature. a. Formulation of conservation laws in terms of integro-differential equations b. c. d. e. f. g. h. i. j. k. l. m. Flux formulae Characteristic variables. Stability Consistency Accuracy Impact of nonlinearity in the conservation law. Nonlinear stability Monotone methods Total variation diminishing algorithms Limiting Special time-stepping algorithms Discontinuous Galerkin methods 4) Finite Element Methods (FEM): we will focus on discretizing elliptic and parabolic components of the equations using these methods. a. b. c. d. e. f. g. h. i. j. k. l. m. n. o. Basis functions Test spaces/Trial spaces Dirichlet boundary conditions Variational statement of an example PDE Bilinear forms Choosing an approximate basis for the test and trial spaces. Forming the discrete Galerkin system. FEM techniques related to mesh generation and geometry processing Solving large sparse linear systems Stability (Coercivity, Lax-Milgram Theorem) Accuracy (Cea’s Theorem and Bramble-Hilbert’s Lemma) Convergence Error estimates using an adjoint based error estimator Ideas behind higher order FEM (a.k.a. spectral elements and hp-FEM) If time permits I will discuss operator splitting for treating stiff PDE’s. This are by no means an exhaustive survey of all methods available to us to for solving PDE’s numerically, however it will provide an overview of three very commonly used techniques. Through examining the properties of each method gain an understanding of how and when to use a given method. Note on theorems: typically I will state hard theorem’s without proof, but with reference to texts containing proofs. This will allow us to cover a large amount of material quickly, and also to focus on the consequences of the theoretical results. For example, I may discuss a theorem dependent on multiple conditions – I will then demonstrate what can go wrong if we ignore those conditions. You will be required to prove some simple results and will be expected to use the theorems introduced in class. Note on computer codes: I will try to design homework code problem components to take less than 5 hours. If you take more time than this seek help. Also, make sure you test your code and describe the tests in your homework write up. Note on students starting after the first day of class: If you miss any classes at the beginning of the semester (perhaps because you are shopping class options) then you must read all online notes and email me the following text with any missed homework assignments: I (INSERT YOUR NAME HERE) confirm that I have read this syllabus and all available class notes. I am also able to code proficiently in one of C/C++/Matlab.