Skip to content
Lorena A. Barba edited this page Dec 8, 2015 · 31 revisions

Welcome to the numerical-mooc wiki!

This repository is the core of the "Practical Numerical Methods with Python course. Each course module consists of a set of IPython Notebooks (links below to the rendered notebook on nbviewer), practice exercises and a coding assignment. To access the practice problems and assignment, you need to register in the GW Online course platform.

Module 0: Getting Started.

How is this course going to work?

  1. What to expect from the instructors
  2. What is expected of you
  3. The idea of connected courses

Module 1: The phugoid model.

  1. Phugoid motion
  2. Phugoid oscillation
  3. Full phugoid model
  4. Bonus! Second-order and multi-step methods

Module 2: Space and Time

Introduction to finite-difference solutions of PDEs

  1. 1D linear and nonlinear convection
  2. CFL condition
  3. Diffusion equation in 1D
  4. Burgers' equation

Module 3: Riding the wave

Convection problems

  1. Conservation laws and the traffic-flow problem
  2. Numerical schemes for hyperbolic PDEs
  3. A better flux model
  4. Finite volume and MUSCL methods.
  5. Assignment: Sod's test problems

Module 4: Spreading out

Diffusion problems

  1. Diffusion equation in 1D and boundary conditions
  2. Implicit schemes in 1D and boundary conditions
  3. 2D heat (diffusion) equation with explicit scheme
  4. 2D heat equation with implicit scheme, and applying boundary conditions
  5. Crank-Nicolson scheme and spatial & time convergence study
  6. Assignment: Reaction-diffusion with the Gray-Scott model in 2D

Module 5: Relax and hold steady

Elliptic problems

  1. 2D Laplace equation with Jacobi iterations
  2. 2D Poisson equation with Jacobi, and algebraic convergence
  3. Gauss-Seidel, successive over-relaxation (SOR) and tuned SOR, introducing Numba
  4. The conjugate gradient method
  5. Assignment: Stokes flow in vorticity-streamfunction formulation