Polska wersja

Numerical Differential Equations


winter semester 2010-11

lecture 830-10 room 2100 and classes/lab 1015-1145 room 2100 or computer lab 3044 (MIMUW bdg., Banacha 2 - entrance - Pasteura Street)

Syllabus

Numerical methods for
  1. ordinary differential equations (ODEs)
  2. elliptic partial differential equations (PDEs)
  3. evolutionary PDEs (parabolic and hyperbolic of first order)
the following classes of methods are going to be discussed
  1. one-step and linear multi-step schemes for initial ODEs problems
  2. finite difference method
  3. finite element method
There may be a few computer labs (instead of standard "blackboard" classes)

The course is elementary - it is required to know the basics of liner algebra, mathematical analysis and theory of ODEs.

It is not necessary to have any knowledge from PDEs theory all necessary facts will be given during our course

There are lecture notes for this course in Polish.
Evaluation will be based on an oral exam.


Lecture notes

(In Polish) Leszek Marcinkowski, Numeryczne równania różniczkowe, 2010.
Published on-line: WWW page (there is a link to pdf file with the lecture notes).
Pdf file with the newest version of the notes.
Please, send me an e-mail with comments if you find any errors, typos etc,

References

Text books

  1. David F. Griffiths, Desmond J. Higham, Numerical Methods for Ordinary Differential Equations, Springer-Verlag, 1st Edition, 2010.
  2. Claes Johnson, Numerical solution of partial differential equations by the finite element method, Cambridge University Press, Cambridge, 1987.
  3. Randall J. LeVeque, Finite difference methods for ordinary and partial differential equations, Society for Industrial and Applied Mathematics (SIAM), Philadelphia, PA, 2007, Steady-state and time-dependent problems. (numerical schemes for ODES, finite difference methods for elliptic and parabolic PDEs)
  4. Alfio Quarteroni, Riccardo Sacco, and Fausto Saleri, Numerical mathematics, Texts in Applied Mathematics, vol. 37, Springer-Verlag, New York, 2000. (numerical schemes for ODEs and some PDES - hyperbolic nad parabolic)
  5. John C. Strikwerda, Finite difference schemes and partial differential equations, second ed., Society for Industrial and Applied Mathematics (SIAM), Philadelphia, PA, 2004. (FD schemes for PDEs - all types)

Monographs or advanced text books

  1. Dietrich Braess, Finite elements, third ed., Cambridge University Press, Cambridge, 2007, Theory, fast solvers, and applications in elasticity theory, Translated from the German by Larry L. Schumaker. (advanced text book)
  2. Susanne C. Brenner and L. Ridgway Scott, The mathematical theory of finite element methods, third ed., Texts in Applied Mathematics, vol. 15, Springer, New York, 2008.
  3. J. C. Butcher, Numerical methods for ordinary differential equations, second ed., John Wiley and Sons Ltd., Chichester, 2008.
  4. P. G. Ciarlet and J.-L. Lions (eds.), Handbook of numerical analysis. Vol. II, Handbook of Numerical Analysis, II, North-Holland, Amsterdam, 1991, Finite element methods. Part 1.
  5. Philippe G. Ciarlet, The finite element method for elliptic problems, Classics in Applied Mathematics, vol. 40, Society for Industrial and Applied Mathematics (SIAM), Philadelphia, PA, 2002, Reprint of the 1978 original [North-Holland, Amsterdam].
  6. E. Hairer, S. P. Norsett, and G. Wanner, Solving ordinary differential equations. I, second ed., Springer Series in Computational Mathematics, vol. 8, Springer-Verlag, Berlin, 1993, Nonstiff problems.
  7. E. Hairer and G. Wanner, Solving ordinary differential equations. II, second ed., Springer Series in Computational Mathematics, vol. 14, Springer-Verlag, Berlin, 1996, Stiff and differential-algebraic problems.
  8. Alfio Quarteroni and Alberto Valli, Numerical approximation of partial differential equations, Springer Series in Computational Mathematics, vol. 23, Springer-Verlag, Berlin, 1994. (FD schemes and FE for PDEs)

LAB

link to Octave (one can download linux or windows version of octave)
octave-forge - octave extension

octave manual in html

Octave scripts with solution of some problems from our labs

Lab 1 - introduction to octave
nrrbasic.m - a simple octave script with basic operations like matrices multiplications etc
Lab 2 - ODEs schemes - testing order of implicit and explicite Euler and midpoint - midpoint unstable for u'=-u u(0)=1 for long time
midpoint.m - implementation of midpoint scheme
testmidpoint.m - testing midpoint scheme - order of convergence and instability for long time interval (for dx/dt=-x with x(0)=1)
Lab 3 - testing starting for multistep schemes (for Adams-bashforth of 2nd order) and a shooting method
AdamsB2.m - explicit Adams-Bashforth scheme (of order 2)
testAB2start.m - tests starting value (x^h_1) for explicit Adams-Bashforth scheme (of order 2)
testshoot.m -shooting method for linear boundary value ODE problem: -y''+c(x)y=0; y(0)=1 y(b)=1 (b=1 - shooting works fine, b=20 - shooting doees not work at all - why?)
Lab 4 - Finite difference method (FDM) for -u''+cu=f with Dirichlet bnd cond : u(a)=alpha u(b)=beta and for mixed bnf conditions: u'(a)=alpha u(b)=beta
FDsolver.m function solving -u''+cu=f with Dirichlet bnd cond : u(a)=alpha u(b)=beta by FDM method (order two)
FDmixlft.m function solving -u''+cu=f with mixed bnd cond : u'(a)=alpha u(b)=beta by FDM method (order one)
FDtest.m - tests of order of the both methods for a few model examples
Lab 5 FDM for Poisson equation in 2D
Lap2Dsq.m - octave m-file with function creating sparse matrix FD -Laplacian on a unit square on uniform mesh (5 point stencil)
FDM2dtest.m - octave script testing order of convergence of FDM for -Laplacian u=f on a 2D unit square; u=g on boundary; with uniform mesh (5 point stencil) in max and L^2 discrete norms; for u solution = sin(pi*x_1)*sin(pi*x_2), (then f=2*(pi)^2*u; u=0 on boundary)
Lab 6 FD method for parabolic equations in 1D i.e. we discretized equation u_t-u_{xx}=f by FDM with respect to x - and apply octave ODE solver (lsode()) to the resulting ODEs system
FD1dtest.m - octave script with code testing convergence order for FDM discretization of u_t-u_{xx}=0 u(0)=u(pi)=0 u(0,x)=sin(x) - u(t,x)=exp(-t)sin(x) is the solution
FDstep.m - octave script with code testing diffusion in u_t-u_{xx}=0 u(0)=u(pi)=0 u(0,x)= indicator function of [1,2.5] and tests with same u0 but with force term f <>0 i.e. u_t-u_{xx}=f
My home page
Last update: February 28th, 2011