Physics 555B (206)

Advanced Computational Physics Using Mesh And Particle Methods

COURSE HOME PAGE (this page):

Instructor: Matthew (Matt) W. Choptuik
Office: Hennings 403 Office Hours: Drop-in (appointment preferred)
Office Phone: 604-822-2412 Cell Phone: 604-721-4695
E-mail: Web page:

  • TUESDAY, THURSDAY 9:30AM - 11:00 AM, HENNINGS 309B (Departmental Meeting Room)


  1. Unix Review
  2. Scientific Programmng Review (Fortran 77, C, make, ...)
  3. Linear Systems (LAPACK) with introduction to Finite Difference Techniques
    1. General Systems
    2. Tridiagonal Systems
    3. Banded Systems
  4. Bisection and Newton's Method
    1. IVP's
    2. BVPS: "shooting"
  6. Time Dependent PDEs
    1. Diffusion equations
    2. Schrodinger equation
    3. Hyperbolic (wave) equations
  7. Elliptic PDEs
    1. Classical Iterative techniques
    2. Multigrid
  8. Particle Methods
    1. Tree Codes
    2. Particle-Mesh

  1. Burden & Faires, Numerical Analysis (currently in 7th edition)
  2. Press et al, Numerical Recipes (available on-line HERE)
Additional references will be added as the course progresses.


Your mark in this course will be determined on the basis of your performance on the homework assignments and a term project with the following weighting
  • Homework Assignments: 65%
  • Term Projects, including in-class presentation: 35%
Late work may be accepted, per the policy below.


There will be2 omework sets assigned during the course.  You will generally have about 2 weeks to complete each assignment. Each homework will involve scientific programming, and, although Fortran is the instructor's preferred and recommended language for the topics to be covered in this course, you have the option to use C if you wish.  The use of C++ is strongly discouraged, and the use of Maple, Mathematica and/or MATLAB is prohibited unless otherwise noted: observe, however, that these restrictions apply only to the homework assignments.


Either individually or in consultation with the instructor, each student must choose a topic for a term paper in some area of computational physics. All topics must be approved by the instructor, and a one page outline of the project must be prepared and submitted by February 27th. Please secure the approval of the instructor regarding the topic before submitting the outline. Even if the bulk of the project involves programming, the term paper per se must be prepared in the style of a scientific/technical paper. Term papers must be prepared using LaTeX (or TeX) mathematical typesetting software. Suggested paper length is 20-30 pages, double spaced, including figures and graphs.  Source code listings may be included in the write-up: if they are, then they should be single spaced, and the write-up may well exceed 30 pages. During the last week or two of class, all students will be required to make a short in-class presentation on their project. The length of the presentation will depend to some extent on the enrollment, but will probably be 20 minutes + 5 minutes for questions. Note that term projects may still be in progress at the time of presentation, which is to be expected, and which will generally not be held against you. Speaking order will be determined via random selection. The presentation is intended to give you speaking experience as well as to educate the rest of the class and the instructor---it will not count significantly in the assessment of a grade for the project. All write-ups are due April 23rd, which is about 10 days after the end of classes.  This deadline should be considered firm.


From time to time, work may be submitted late, subject to the following conditions:

  1. If an extension is required, the extendee must submit a request for an extension, via e-mail, to the instructor, before the assignment is due.
  2. Submitted homework which absolutely must be submitted before any homework key is distributed, must similarly be accompanied by an e-mail indicating completion of the work.

Note that if you finish homework on time, no additional action on your part is required.


All students will be provided with an account for use in the Physics & Astronomy Computer Lab currently located in Hennings 205. You will also be given an account on the Linux Lab machines, which you will be encouraged to use for your homework assignments and, if you wish, your term projects. As the course progresses, and should your term project require it, you will also be given access to the Beowulf Pentium III/Linux cluster,


Tuesday Thursday
January 9
Intro and Unix Review
January 11
Scientific Programming
January 16
Linear Systems / Intro to FDA
January 18
Linear Systems / Intro to FDA
January 23
Bisection / Newton's Method / ODEs
January 25
January 30
Time Dependent PDEs
February 1
Time Dependent PDEs
February 6
Time Dependent PDEs
February 8
Time Dependent PDEs
February 13
Time Dependent PDEs
February 15
Time Dependent PDEs
February  20
Midterm Break
February 22
Midterm Break
February 27
Elliptic PDEs [Project outlines due]
March 1
Elliptic PDEs
March 6
Elliptic PDEs
March 8
Elliptic PDEs
March 13
Elliptic PDEs
March 15
Elliptic PDEs
March 20
Time Dependent PDEs (Multigrid)
March 22
Particle Methods
March 27
Particle Methods
March 29
Particle Methods
April 3
Particle Methods
April 5
Class Cancelled
April 10
Term Project Presentations
April 12
Term Project Presentations

Other links: UBC 2006/2007 Calendar, Academic Year, PHYS Exam Schedule, Exam Schedule pages.

Maintained by Supported by CIAR, NSERC, CFI, BCKDF and UBC