Partial Differential Equation Lab

These notes are an updated and expanded version of the PHYS3070 notes originally written by Professor P. D. Drummond.

This manual covers the partial differential equation lab section of the University of Queensland PHYS3071 course in Computational Physics. This section of the course is assessed by submission of a report analysing and discussing two projects. This report must be submitted along with a laboratory workbook. Laboratory assessment requires you to keep a laboratory workbook (either on paper or electronically) to keep track of your progress in the lab, as well as the project report.

Partial differential equations (PDEs) occur in many different areas of physics, ranging from quantum mechanics to general relativity, and including fields like hydrodynamics and electrodynamics. These equations have enormous numbers of applications in the real world, from environmental studies to laser physics. They cover practical areas like weather prediction and geophysical studies, as well as the most fundamental studies of cosmology and general relativity. Some current examples of importance to both technology and to novel physics, include pulse propagation in communications fibers, and the theory of Bose-Einstein Condensation (BEC), or atom lasers.

Many of these equations can be cast as quasi-linear parabolic equations, in which there is a first order derivative in one dimension, together with higher-order derivatives in the others. These types of equation, which are called quasi-linear if the derivative terms are all linear in the equation, are extremely common. It may be thought at first that wave-equations cannot be treated this way, since most wave equations have second-order derivatives. However, any wave equations derived from a Lagrangian have equivalent Hamiltonian forms, which are the first-order Hamilton's equations.

The techniques for treating PDEs numerically are extremely diverse. However, the basic criteria of the order of the algorithm, the stability properties, and the types of errors that occur, are common to all types of algorithm. For this reason, we focus in this lab on two types of algorithm--an explicit type which is simple to program (but rather unstable), and a more stable semi-implicit type, which is slightly more complex, but of greater accuracy.

A large number of useful texts exist. Of particular interest, are:

In the rest of this manual, we cover types of PDEs, elementary techniques for solving PDEs numerically, the projects required for the laboratory, and a sample source code.

Paul Cochrane 2002-04-18