Lecturer Prof. Petros Koumoutsakos
Dr. Shilpa Khatri
   
Class Times Monday, 15.00 – 17.00 in CAB G11
Friday, 13.00 – 15.00 in HG D3.2

   
Assistants Dr. Diane de Zelicourt, CAB F81, diane.dezelicourt@inf.ethz.ch
Babak Hejazialhosseini, CAB F81, babak.hejazi@inf.ethz.ch
Eivind Fonn, HG J59, eivind.fonn@sam.math.ethz.ch
   
TA Sessions Thursday, 13.00 – 15.00 in HG D7.1
Thursday, 13.00 – 15.00 in HG D7.2
Friday, 10.00 – 12.00 in HG D3.2
   
 Office Hours
(in assistant offices)
Monday, 17.00 – 18.00
Wednesday, 17.00 – 18.00
 

 
Note:
Please make sure to include [NPDE] in the subject field of your emails.

Latest Updates:

  • 07/29: References. 
  • 07/29: Midterm solution. Sample solution code. The pdf was updated as well to use the exact same notations.
  • 08/10: HW10 solution code. The latest version uploaded.
  • 08/29: 6 solution code. On page 3, “Now, we must subsitutute …”, beta should have been written to be proportional to the time step and not the square of the time step. The manipulations are still correct.

 

Course Overview:

Introduction to numerical methods for the solution of Partial Differential Equations for scientific and engineering problems.
Topics include: Finite element, finite difference, finite volume and particle methods.
Focus on algorithms, efficient computer implementation, scope and limitations of the methods.

 

Goal:
Introduce students to problem solving in Computational Science and Engineering. The students will acquire skills in :
  • Efficient implementation of numerical methods for the solution of partial differential equations in scientific and engineering applications
  • Ability to modify and adapt numerical algorithms guided by awareness of their mathematical foundations
  • Selection and assessment of numerical methods in light of the predictions of theory and the demands of the applications
Examples will be drawn from areas such as Physics, Computer Graphics and Electromagnetics.



Content (and number of dedicated lectures):
I. Introductio
n (1 lecture)

II. Parabolic Differential Equations (8 lectures)

– Finite Difference Methods

 
III. Elliptic Differential Equations (8 lectures)
– Finite Element Method (FEM)
– Variational analysis
IV. Hyperbolic equations for Conservation Laws (7 lectures)
– Finite volume methods
V. Summary and Other Methods (1 lecture)
– Particle Methods

Lecture Schedule and Notes:
Lecture slides will be made available to the audience as the semester progresses.

Week   Monday   Friday
1 (21/02)
  Class Cancelled   00. Introduction: Why study PDEs? (notes)
2 (28/02)
  01. PDE of the 1st and 2nd order: General form & Characteristics (notes)
  02. Characteristics. Introduction to parabolic equations. Derivation of the diffusion eq. (notes)
   – quadratic eq. in geometry (wikipedia)
   – random walk (applet)
3 (07/03)
  03. Parabolic Equations (notes)
   – analytical considerations
   – finite differences
   – semi-discretization
  04. Fourier Series & Transforms (notes)
4 (14/03)
  05. DFT – Part A (notes, slides)
  06. DFT – Part B (notes)
     
FFT (notes, slides)
5 (21/03)
  07. ODEs (notes)   08. ODEs, stability and stiff ODEs (notes, slides)
6 (28/03)
  09. Parabolic PDEs in 1D – Stability analysis: eigenvalue & Von Neuman (notes)
  10. Parabolic PDEs in 1D: Modified equation, Crank-Nicholson, Dufort-Frankel (notes)
7 (04/04)
  11. Parabolic PDEs in 2D or 3D – Alternative Direction Implicit (notes)   12. Approximate Factorization (notes)
      Notes on Newton-Raphson (notes)
8 (11/04)
  NO CLASS
(Sechseläuten)
  13. Elliptic equations (notes)(suppl.)
9 (18/04)       NO CLASS
(Easter holidays)
10 (25/04)   NO CLASS
(Easter holidays)
  NO CLASS
(Easter holidays)
11 (02/05)   MID-TERM
Solution: (pdf) (code)
   15. Iterative methods: Point Jacobi, Gauss-Seidel, SOR (notes)(slides)
12 (09/05)   16. FFT and Fast Poisson solvers (notes)    17. Finite Element Method 1D (notes)(slides)
13 (16/05)   18. Finite Element Method 2D (notes)(slides)    19. 1D Hyperbolic Equations (notes)
14 (23/05)   20. Finite Volume, general considerations (notes)    21. Finite Volume Schemes (notes)
15 (30/05)   22. Rieman problem, Godunov scheme (notes)(slides)    

Homework:
Homeworks and solutions will be provided as the semester progresses.


Grades and Testat:

  • Testat: To get a “PASS” you need to have a score of 75% (or more) on 50% of the HW assignements
  • Grade: The total grade will be computed as a weighted average of your homeworks, mid-term and final exams, with the following weights:
    • Homeworks:      25%
    • Mid-term exam: 25%
    • Final exam:       50%
  • Exam dates
    • Mid-term exam: May, 2nd 2011
    • Final exam: during semester session (August or September)


 

Books and References used for the Lectures:
DFT and FFT

  • Introduction to Applied Mathematics. G Strang
  • Advanced Engineering Mathematics. M. Greenberg
  • Wikipedia (FFT, Cooley-Tukey Algorithm)

ODEs, stability and stiff ODEs

  • A First Course in the Numerical Analysis of Differential Equations. A. Isereles
  • Numerical Methods for Engineering Application. JH Ferziger 1998
  • Computer Methods for Ordinary Differential Equations and Differential Algebraic Equations. Ascher and Petzold
  • Numerical solution of initial value problems in differential algebraic equations. Brennan, Campbell and Petzold

Parabolic PDEs in 1D, FEM 1D and 2D

  • Fundamentals of Engineering Numerical Analysis. P. Moin 2010

Riemann Problems, Godunov schemes

  • Finite Volume Methods for Hyperbolic Problems (Chap 3). RJ LeVeque 2004

Additional Reading:

  • Solving PDEs in C++: numerical methods in a unified object-oriented approach. Y Shapira
  • Python Scripting for Computational Science. H P Langtangen
  • Lecture notes from Prof. Hiptmair: Numerical Methods of PDES (Hiptmair, Schwab, Harbrecht, Gradinaru, Chernov): link
  • S. Childress. Notes on Traffic Flow. 2005 (pdf)

C++ Tutorials and References:


Useful Libraries for Solving PDEs:
– PETSc: link
– BLAS: link
– LAPACK: link
– Boost:link
– FFTW: link
– CLAWPACK: link
– Overture: link
– CCSE Software infrastructure: link

Visualization:
Paraview
VMD
Grace
POVray
DataTank