Most disciplines within physics require computational methods in some way. It is our intention to train students to apply computational methods to physics problems using Fortran or C code. We will provide a three-way balance between understanding the theory behind the methods, actually implementing the method to a specific problem (programming from scratch, using existing libraries), and becoming accustomed to doing so within a Unix-like environment (which might entail, for example, using scripts to manage data sets and program execution).
We will select a few methods that may include, but are not limited to, the following: numerical differentiation and integration; linear algebra, including solving systems of equations and finding the eigenvalues of a matrix (e.g. useful for vibrational normal modes of a set of oscillators); ordinary differential equations (charged particles in an electromagnetic); partial differential equations (like the Scrhodinger equations); Monte Carlo and molecular dynamics simulations (properties of condensed matter systems).
Classes Tuesdays and Thursdays 9am to 10:15am CSF 2218
Lab: Fridays 2pm to 3:50pm (+ extra time after), CSF 2218 This is a LabNet facility. Please get a LabNet account if you haven't already.
Office Hours: TBD; also drop by my office or email to arrange a time.
tar -zcf project1sol-YOUR-NAME.tgz Project1solUpload this .tgz to Brightspace. Now, if you've been working on your own machine, you need to copy your files over to LabNet. To copy a file or directory from your machine to your home directory on LabNet, execute (don't miss the colon at the end!)
scp -r dirname username@garfield.cs.mun.ca:Note: this may not work since such things as ssh and scp might be disabled, or disabled soon, as part of MUN's cybersecurity efforts.
| No. | Due | |
|---|---|---|
| 1 | January 30 | Summary Project Project Grading Scheme Website for Gaussian integration |
| 2 | Tuesday, Feb. 17. 2026 | Summary Project Computational Physics notes by Professor A. MacKinnon, Imperial College London* |
| 3 | March 13, 2026 | Project description M vs T in thermodynamic limit Suscept. vs T near Tc in thermodynamic limit Sample 10x10 Ising configuration gnuplot file for viewing the sample config |
| 4 | Presentations in class on Thursday April 2 and Tuesday April 7; report due Tuesday April 7 | Project description presentation marking guide (plain text) |
*I gratefully acknowledge the author of "Computational Physics -- 3rd/4th Year Option",
Emeritus Professor Angus MacKinnon of Imperial College London,
for kindly permitting me to use and post his notes. -ISV
Getting NR routines in C working for Project 2
Note: In getting the RK4 code to compile properly,
in rkdumb.c the line declaring global variables should use the keyword
extern, i.e.,
extern float **y, *xx;
If you are really only interested in the Fortran version, I still recommend watching the first five minutes or so of the C video before going on to the one for Fortran.
Getting NR routines in Fortran 90 working for Project 2
| No. | Due | ||
|---|---|---|---|
| 1 | due January 23, 5pm | Assignment 1 | |
| 2 | due Friday Feb 6 (postponed to Tuesday, Feb. 10 on account of snow day) | Assignment 2 | |
| 3 | March 6, 2026 | Assignment 3 optional starter code A3Q1.f90 optional Jupyter notebook A3.ipynb | |
| 4 | March 20 (class time will be devoted to working on this assignment) | Assignment 4 | Q1: poisson-student.f90 Q2: sqwell-student.f90 Q3: sqwell-time-student.f90 movie.gnu notes.txt |