3450:730 Advanced Numerical Solution of Partial Differential Equations
Spring 2017

Policy sheet
Course outline

Homework Sets

Homework 1, due Thursday 19 January
Homework 2, due Tuesday 31 January
Homework 3, due Tuesday 7 February
Homework 4, due Thursday 9 February
Homework 5, due Tuesday 14 February
Homework 6, due Thursday 16 February
Homework 7, due Tuesday 7 March
Homework 8, due Tuesday 11 April

Computer Projects

CP1: Crank-Nicolson, due Thursday 2 March
CP2: Crank-Nicolson with Successive Approximations, due Thursday 16 March
CP2a: expected errors for the unstable version of CNSA
CP3: Peaceman-Rachford ADI, due Tuesday 25 April


The Force 2.0 FORTRAN compiler
Information about installing Windows applications on a Mac
FORTRAN 77 manual: I'm looking for a decent link to add. (1) search for 'FORTRAN 77 manual', (2) search for 'FORTRAN 77 tutorial', (3) send me an email and I can send you a pdf file
FORTRAN programming issues
Common programming errors
Classic Scheme in FORTRAN
Classic Scheme in MATLAB
How to write to a file in FORTRAN
Building the spatial grid in a code
Saving memory in arrays
Handling the time variable
Creating file names to save data
Routine chan3 for file names
Handling different cases in a code
A tridiagonal solver (FORTRAN)
A tridiagonal solver (C)
Using the tridiagonal solver
A barebones pentadiagonal solver


MATLAB Resources
Mathworks Academy
Mathworks Examples
Visualization Examples
Cross Sections
writetofile.m: writing data to a text file
autofilename.m: writing data to files at various time steps
caseidentifiers.m: running different cases in a code
tridiag.m: tridiagonal solver
A FORTRAN pentadiagonal solver

Here are some routines for inputting data files for plotting in MATLAB.
MATLAB file to input a 2d array for line plotting
MATLAB file to input a set of 2d files for multiple line plotting
MATLAB file to input a 3d array for surface plotting

Chapter 1 Introduction and Notation

Derivative formulas
Example of instability

Chapter 2 Parabolic PDEs

Crank-Nicolson, FD1 vs FD2 with row reduction, transport BCs
Crank-Nicolson, ghost points versus row reduction
Ghost point versus row reduction implementation of a flux condition
2d parabolic code, full Gauss Elimination
2d parabolic code, block SOR
MATLAB example of SOR iteration
Typical view of diffusion
Typical view of convection
Typical view of a source
Comparison of different boundary conditions

Chapter 3 Hyperbolic PDEs

MATLAB example of travelling waves

MATLAB example of a discontinuity in an advection equation

MATLAB example of numercial dispersion
MATLAB example of physical dispersion with numercial dispersion
MATLAB example of nonlinear advection
MATLAB example of dispersion in the upwind scheme
  Exact solution -- square wave
MATLAB example of dispersion in the upwind scheme
  Exact solution -- gaussian pulse
Lax-Wendroff with smooth profile
Lax-Wendroff with discontinuous profile (embedded functions)
Lax-Wendroff with artifacts
Beam Warming with discontinuities (vary R to see effects)
Equations for 4th order compact scheme
Standard schemes for conservation laws
Compact scheme in FORTRAN
Simple slope limiter

Lele JCP 1992 Compact Finite Difference Schemes with Spectral-like Resolution
MUSCL code
MUSCL beats LW