Physics 410: Computational Physics (Fall 2021)


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

Instructor: Matthew (Matt) W. Choptuik
Web page: http://laplace.physics.ubc.ca/People/matt/
Home Phone: 604-569-3374
Cell: 778-323-4887
Virtual office hours (Zoom): By appointment via e-mail
E-mail: choptuik@phas.ubc.ca
TAs: Michael Kinach (mikin@phas.ubc.ca)
         Daniel Wong (danielk@phas.ubc.ca)

SCHEDULE:
  • LECTURES: MWF 11:00-12:00 -- Hebb 114
  • TUTORIALS (COMPUTER LABS):
    • T1A: FRIDAY 12:00-13:00 -- Hebb B112
    • T1B: FRIDAY 10:00-11:00 -- Hebb B112
  • This web site is the primary source of information for the course.  Canvas will be used for:
    • Recorded lectures from 2020
    • Announcements
    • Homework / Project submission
    • Grades
    • Zoom link for office hours
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 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
  • Polynomial interpolation
  • Solution of nonlinear equations (root finding)
  • Finite difference approximation
  • Ordinary differential equations
  • Partial differential equations
  • Monte Carlo methods

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

Text, Reference Material, Notes, 2020 Recordings & Help

There is no required or optional textbook 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 glassboard, which will be the usual mode of operation.

NOTE: For students unable to attend one or more lectures, note that a complete set of recordings from 2020's offering of this course is available on Canvas.  The coverage for the two instances of the course will be essentially identical.

Getting help

You can use the course Piazza to post questions, particularly those that are likely to also be of interest to one or more of your classmates.  Although I will endeavour to answer posts promptly, I encourage all students to post replies as they feel they are able.  However, please do not ask, or supply answers to, questions of the form "How do I do X in homework/project Y?".  That type of query should be minimized as much as possible, and directed to me via e-mail. Note that this does not mean that general discussions about the homework/projects are precluded from Piazza.

You should feel free to e-mail me with questions that you feel should be kept private or, in general, that you are not comfortable in posting on Piazza.

You can arrange a virtual office visit by emailing me to set up an appointment at a mutually convenient time.  The Zoom link for such visits is available on Canvas.

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.

My previous experience with this course suggests that it is not a hardship to require that students use MATLAB for their coursework, so this is the official course policy.

Grades: Homework, Projects, Term Paper, Late Work Policy, Submission of Work, Group Work Policy

Your work in this course will consist of two homework assignments, two projects (which can be viewed as advanced homeworks) and a term paper. These will have the following weighting
  • Homework Assignments and Projects: 80%
    • Homework 1: 20 points
    • Project 1: 50 points
    • Homework 2: 30 points
    • Project 2: 50 points
    • Total homework/project: 150 points
  • Term Paper: 20%
You will generally have one week to complete homework assignments and two weeks to finish projects. 

Late work will generally not be accepted unless there are 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. If in doubt about whether your circumstances are sufficiently extenuating note that I tend to be lenient in these matters: on the basis of some issue that arises, I would rather you submit late complete work than timely incomplete work.

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.

   homework-<n>.zip
   project-<n>.zip

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

   homework-2.zip
   project-1.zip

Note that when creating the zip'ed folder you do not need to specify the .zip extension---that will be done automatically. Also, please minimize use of the submission comment feature in Canvas.  If you have information that you wish conveyed to the TAs include it in your writeup.

IMPORTANT!!

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

TERM PAPER

Your term paper is to be based on a topic in computational physics, or broadly related area, of your own choosing.  For example, you might report on a sub-branch of computational physics, or on an algorithm that has had a major impact in some field of computational science.  If you are unsure whether what you have in mind is appropriate, simply check with me.  Your paper should be approximately 1500-2000 words in length (not including references), and may contain figures from other sources, provided that proper attribution of these is made.  As a model, you might want to think of a relatively short, well-written Wikipedia article (but make sure you use more than just a Wikipedia article or two as your source(s)).  There is no required style for term papers, including citation style, but papers should be presented in some specific style appropriate for a scientific communication, including a consistent referencing method.

Note that I will not be providing any sample term papers for your perusal: I have great faith that at this point in your education you will, for the most part, be able to produce good papers on your own!

Also note that your term paper is not to be viewed as another programming exercise analogous to the homework and project assignments. There is no need for any coding for your papers, and, indeed, coding is explicitly discouraged.

Term papers must be submitted in PDF format only.

Term papers are due Friday, December 10.

Selected Dates from the Academic Calendar

  • Monday, September 20: Last day for withdrawal from this course without withdrawal standing of "W" recorded on your academic record.
  • Thursday, September 30: National Day for Truth and Reconciliation. University closed.
  • Monday, October 11: Thanksgiving Day, University closed.
  • Friday, October 29: Last date for withdrawal from this course with withdrawal standing of "W" recorded on your academic record.
  • Wednesday, November 10--Friday, November 12: Mid-term break. Lectures and tutorials cancelled.
  • Thursday, November 11: Remembrance Day. University closed.
  • Tuesday December 7: Last day of classes.
  • Saturday, December 11: Examinations begin.
  • Wednesday, December 22: Examinations end.

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