PDE Project Course

Introduction

Johan Jansson and Karin Kraft Department of Mathematical Sciences

Welcome

Teachers:

• Johan Jansson

 • johanjan@math.chalmers.se

• Karin Kraft

 • kakr@math.chalmers.se

Course page: Follow the links education → courses, starting at

 • http://www.math.chalmers.se/cm/

Partial differential equations (PDE)

Solve

A(u) = f

where A is a differential operator, f is a given force term and u is the solution.

Important questions:

• Existence/uniqueness of solutions

• Computation of solutions

Contents of the course

• Computation of solutions to PDEs

• Finite Element Method

• Mostly implementation, not so much theory • Programming (C++ or Matlab)

• Independent work

• Presentations of results and report writing

Prerequisites

• PDE/FEM course

• Some knowledge of either C++ or Matlab (excellent opportunity to learn some C++)

Examples of PDE

• A(u) = −Δu = f Poisson’s equation • A(u) = u̇ − Δu = f The heat equation • A(u) = ü − Δu = f The wave equation

These are the main examples of linear elliptic, parabolic, and hyperbolic PDE.

Examples of PDE

The Navier–Stokes equations:

A(u) = ( \begin{matrix}v̇ + v · ∇v − νΔv + ∇p \\ ∇ · v \end{matrix} ) = ( \begin{matrix}f \\ 0 \end{matrix} )

where the solution u = (v, p) consists of the the fluid velocity v and the pressure p.

Examples of PDE

Numerical solution of the Navier-Stokes equations.

PDE Project Course 04/05 – p.8/24

Examples of PDE

Turbulent flow around a surface mounted cube: Pressure:

Norm of velocity:

Examples of PDE

The equations of linear elasticity:

\frac{∂u}{∂t} − v = 0 in Ω^{0},
\frac{∂v}{∂t} − ∇ · σ = f in Ω^{0},
σ = Eϵ(u) = E(∇u^{⊤} + ∇u)
v(0, ·) = v^{0}, u(0, ·) = u^{0} in Ω^{0}.

Only valid for small displacements.

PDE Project Course 04/05 – p.10/24

Examples of PDE

Updated Lagrangian formulation:

\frac{∂u}{∂t} − v = 0 in Ω(t),
\frac{∂v}{∂t} − ∇ · σ = f in Ω(t),
\frac{∂σ}{∂t} = Eϵ(v) = E(∇v^{⊤} + ∇v)
v(0, ·) = v^{0}, u(0, ·) = u^{0} in Ω^{0}.

Also valid for large displacements.

PDE Project Course 04/05 – p.11/24

Examples of PDE

Elastic beam (rubber) under gravity:

Literature

PDE/FEM:

• Applied Mathematics: Body and Soul, by Eriksson, Estep, and Johnson, Springer Verlag 2003

• Computational Differential Equations, by Eriksson, Estep, Hansbo, and Johnson. Studentlitteratur 1996

Books and material

Programming:

• C++ Primer, by Lippman. Addison-Wesley 1995 (Old but quite good)

• C++ direkt, by Skansholm. Studentlitteratur 2000 (Only in swedish)

• The C++ Programming Language, by Stroustrup. Addison-Wesley 1997 (Not for beginners)

Resources on the web

• Body and Soul computer sessions: http://www.phi.chalmers.se/bodysoul/sessions/

Software Tools

• Write your own solver

• Puffin (MatLab/Octave)

• Dolfin (C++)

• FemLab (mesh generation/visualisation)

• OpenDX (visualisation in 3D)

• Triangle (mesh generation in 2D)

• TetGen (mesh generation in 3D)

Lecture plan

1. Finite element method

2. Implementation of finite element methods 3. (C++ programming)

4. An introduction to DOLFIN and Puffin

Schedule

For a detailed schedule look at the homepage. Lectures:

• Tuesdays 10-12 in S1

• Fridays 10-12 in S4 Consultation:

• e-mail preferred

• Tuesdays 10-12

• Fridays 10-12

Deadlines

Project plan:

• Friday January 28 at 17.00 Progress reports:

• course week 4 and 6 Presentations:

• course week 9 Project report:

• Friday March 18 at 17.00

PDE Project Course 04/05 – p.19/24

DOLFIN

• Numerical solution of PDE using FEM • 2D / 3D

• Object-oriented (C++)

• GPL licence

Puffin

• Numerical solution of PDE using FEM • 2D

• Written for Matlab (Octave)

• GPL licence

Project / Examination

• Groups of max 2 students

• Submit a project plan

• Two mandatory oral progress reports • Presentation

• Written report

Project plan

• Easy PDE - write solver from scratch • Advanced PDE - use existing tools (if you want)

• State what grade the group is aiming for

Project ideas

• …