Physics 410: Computational Physics (Fall 2019)


COURSE HOME PAGE (this page): http://laplace.phas.ubc.ca/410/

Instructor: Matthew (Matt) W. Choptuik Office Hours: Tue 13:00-14:00 and by appointment via e-mail
Office: Hennings 403 Web page: http://laplace.physics.ubc.ca/People/matt/
Office Phone: 604-822-2412
E-mail: choptuik@phas.ubc.ca
TAs: Michael Kinach (mikin@phas.ubc.ca)
        Daniel Korchinski  (djkorchi@phas.ubc.ca)

SCHEDULE:
  • LECTURES: MWF 11:00-12:00 -- BIOLOGICAL SCIENCES 2200
  • TUTORIALS (COMPUTER LABS): 
    • T1A: FRIDAY 12:00-13:00 -- HENNINGS 205
    • T1B: FRIDAY 10:00-11:00 -- HENNINGS 205

  • This web site is the primary source of information for the course.  Canvas will be used for:
    • Announcements
    • Homework / Project submisssion
    • Grades
Prerequisites:
  • One of PHYS 312, MATH 257, MATH 316 and one of PHYS 210, EOSC 211, CPSC 110, CPSC 111, APSC 160

COURSE LINKS

Course Summary

This course will provide a survey of techniques from numerical analysis and other areas of computational science with applications to problems in physics.

A provisional list of topics is as follows (in roughly the order we will be covering them):
  • Overview/review of MATLAB
  • Floating point arithmetic and associated error analysis
  • Solution of nonlinear equations (root finding)
  • Interpolation and approximation
  • Finite difference approximation
  • Ordinary differential equations
  • Partial differential equations
  • Monte Carlo methods
  • Miscellaneous topics

Application areas will include: classical dynamics, quantum mechanics, statistical mechanics, electromagnetism and fluid dynamics.

Text, Reference Material and Notes

There is no required or optional text book for the course, but see HERE for a list of references, many of which provide coverage for much of what we will be discussing.  Note that full-text PDF versions of most of these references are available from the UBC library.

The PDFs for Powerpoint or equivalent notes will be posted HERE.  However, it is up to you to take notes when I present them on the blackboard or document camera.

Course Computer Language

The "official" computer language for this course is MATLAB.

MATLAB provides a powerful and convenient programming environment that is tailor-made for numerical calculations of the sort we will be considering.  It is an interpreted language, which makes it well suited for the type of rapid prototyping and interactive experimentation that you will be encouraged to do in the tutorials and homework assignments.

MATLAB is available for you to install on your own computers.  See HERE for details.

You are strongly encouraged to use MATLAB for this course but if you absolutely must, you can also use Python.  Work in any other language (including C/C++) will not be accepted.  You should also bear in mind that my own Python skills are extremely limited.

Grades: Homework, Projects, Tests, Late Work Policy, Submission of Work, Group Work Policy

Your work in this course will consist of several homework assignments, 2 or 3 projects (which can be viewed as advanced homeworks) and a final exam. These will have the following weighting
  • Homework Assignments and Projects: 80%
  • Final Exam: 20%
You will generally have one week to complete homework assignments and two weeks to finish projects. 

Late work will not be accepted unless there are extremely extenuating circumstances.  If you find yourself in the position of needing an extension you must request one from me via an e-mail message as soon as possible and definitely before the due date of the assignment/project.

Each homework/project submission must contain, as a PDF file, a writeup detailing how you completed the assignment, and what the results and conclusions were. This PDF file must be accompanied by the source code files that were used to complete the work.  When preparing and submitting a homework/project, you must:

  1.  Place all of the files in your assignment in a single folder.
  2. Zip that folder and then submit the zipped folder through Canvas.

Please use the following naming conventions for your zipped folders (use all lower case)

   <lastname>-<student number>-homework-<n>.zip
   <lastname>-<student number>-project-<n>.zip

where <n> is the number of the homework or project.  For example

   choptuik-31415926-homework-2.zip

is an appropriately named .zip'ed folder (do not include the "meta" symbols < and > in the filename).

Note that when creating the zip'ed folder you do not need to specify the .zip extension---that will be done automatically.

You are welcome to discuss your homework assignments and projects with your fellow students.  However, the work that you submit must be your own.

Selected Dates from the Academic Calendar

  • Tuesday, September 17: Last day for withdrawal from this course without withdrawal standing of "W" recorded on your academic record.
  • Friday, October 11: Last date for withdrawal from this course with withdrawal standing of "W" recorded on your academic record.
  • Monday, October 14: Thanksgiving Day, University closed.
  • Monday, November 11: Remembrance Day. University closed. 
  • Friday, November 29: Last day of classes.
  • Tuesday, December 3: Examinations begin.
  • Wednesday, December 18: Examinations end.

See the UBC 2019/2020 Calendar and Academic Year [all year] pages for more information