Introduction to Scientific Computing

MA471-Section 3

Lecturer: Dr Tim Warburton



Week 1


Lecture 2: basic structure of a card game code(pdf)(ppt)


Week 2

Lecture 3: Basic mode of exchanging messages with MPI (pdf)(ppt)

Example MPI code (MA471Lec3F03.tar.gz)


Week 3

Lecture 4: non-blocked message passing with MPI (pdf)(ppt)

Lecture 5: collective message passing with MPI (pdf)(ppt)


Week 4

Lecture 6: introduction of the first order, one way, wave equation and finite volume representation. (pdf)(ppt)

Lecture 7: serial and parallel schemes for the first order, finite volume approximation of the wave equation. (pdf)(ppt)


Week 5

Lecture 8: two-dimensional one way, wave equation and finite volume representation. (pdf)(ppt)

Lecture 9: example matlab scripts for the one-dimensional, one way, wave equation using a (basic) finite volume representation. (pdf)(ppt)

Example Matlab code: 1d one way wave equation (waveqn.m)

Plotting code (waveplot.m)

Example Matlab code: 2d one way wave equation (waveqn2da.m)

Example triangle mesh 1 (block2.neu)

Example triangle mesh 2 (squareA002.neu)

Example triangle mesh 3 (holesA0005.neu)

Example triangle mesh 4 (holesA0001.neu)

(directory of meshes for a square [-1,1]x[-1,1])


Week 6

Lecture 10: impoving cache usage and partitioning meshes. (pdf)(ppt)

Early paper on graph partitioning by Karypis: (pdf)

Publications by Karypis

Karypis Homepage

Metis Homepage

1D finite volume, project report by 471 student Ru Han : (pdf)


Week 7

Lecture 13: A sample linear system derived from a simple electrical circuit. (pdf)(ppt)

Lecture 14: A larger sample linear system derived from a simple electrical circuit. Renumbering for bandwidth optimization. Scaling to larger circuits.(pdf)(ppt)

Example circuit matrix: (bigcircuit.m)

(Bad) random circuit generator: (hugecircuit.m)

(Visibly Bad) random circuit generator: (randcirc.m)

Cartesian grid circuit with random resistors: (gridcircuit.m)


Week 8

Lecture 15: Jacobi and Gauss-Seidel iterative methods. (pdf)(ppt)



Lecture 16: Jacobi convergence "proof". (pdf)(ppt)


Week 9

Lecture 17: conjugate gradient iterative method. (pdf)(ppt)

Lecture 18: construction of a parallel sparse matrix vector multiplication routine. (pdf)(ppt)

(sparsecircuit.c -- read comments at top of file)


Week 10

Lecture 19: finite difference method for the heat equation (pdf)(ppt)



Week 11

Lecture 20: relaxed Jacobi iteration (pdf)(ppt)



Upshot and timings for parsparsecircuit3.c(ppt) (pdf)



Lecture 21: two grid multigrid solver for the 1d heat equation matrix (pdf)(ppt)

Project descriptions (ppt)


Week 12

Lecture 22a: discrete Fourier transform and application to the one way wave equation (pdf)(ppt)

Lecture 23: guest lecture: details on optimization (pdf)(ppt)




Week 14

Lecture 24: Brief introduction to block LU factorization and parallel implementation. (pdf)(ppt)




Student Projects

Ru Han -- 1D multigrid in parallel. (pdf)

Karin Leiderman --non-Fickian diffusion in parallel (ppt)(avi)(avi)(avi)(C++ code)

Jose Rodriguez -- Runge-Kutta/spectral methods for 2d advection (ppt)