PY 502, Computational Physics, Fall 2017

Department of Physics, Boston University

Instructor: Anders Sandvik

Lectures: Tuesday, Thursday 11 - 12:30, in PRB 146
Programming help & tutorials, Friday 2:30-3:20 PM, in PRB 146
Office hours: Wednesday 11 AM - noon, Thursday 2 - 3 PM, in SCI 450A

This course provides an introduction to some of the most widely used methods of computational physics, including numerical solutions of differential equations (initial and boundary value prob- lems) in classical and quantum mechanics, Monte Carlo simulations, and numerical diagonalization of quantum many-body Hamiltonians. In addition to giving the students a basic working knowledge of these particular techniques, the goal is to make them comfortable with scientific computing in general, so that they will be prepared to tackle also other computational problem that they may encounter in the future. The Fortran 90 programming language will be used. The full syllabus is available here.

Course News

Lecture Notes and Program Examples

1) Introduction to the Fortran 90 programming language [Notes] [Programs]
     Lecture slides: [Sep 5] [Sep 7] [Sep 12] [Sep 14]
2) Numerical integration and Monte Carlo integration [Notes] [Programs]
     Lecture slides: [Sep 19] [Sep 21(anim)]
3) Integrating equations of motion [Notes] [Programs]
     Lecture slides: [Sep 26] [Sep 28] [Oct 26(anim)]
4) Numerical solutions of the Schrodinger equation [Notes] [Programs]
     Lecture slides: [Oct 3 (anim1) (anim2) (anim3) (anim4) (anim5) (anim6)] [Oct 5] [Oct 12] [Oct 17]
     [Oct 19 (anim1) (anim2) (anim3) (anim4)] [Oct 24 (anim1) (anim2) (anim3) (anim4) (anim5)]
5) Monte Carlo Simulations in Statistical Physics [Notes] [Programs]
     Lecture slides: [Oct 31] [Nov 2 (anim1) (anim2) (anim3) (anim4) (anim5) (anim6) (anim7)]
     [Nov 7] [Nov 9] [Nov 14]
6) Quantum many-body systems (quantum magnetism) [Notes] [Programs]
     Lecture slides: [Dec 5] [Dec 7] [Dec 12]

Homework assignments

1) Due: Tuesday, September 26 [Problem text] [Solutions]
2) Due: Tuesday, October 3 [Problem text] [Solutions]
3) Due: Thursday, October 12 [Problem text] [Solutions]
4) Due: Tuesday, October 24 [Problem text] [Solutions]
5) Due: Tuesday, November 7 [Problem text] [Solutions]
6) Due: Tuesday, November 21 [Problem text] [Solutions]
7) Due: Thursday, December 5 [Problem text] [Input data files:,,] [Solutions]

On-line Fortran resources

Comprehensive collection of links, discussion, best practices
Tutorial by C. K. Shene, Michigan Technological University
Advanced Fortran 90 discussion and examples by T. Kaiser
List of intrinsic functions in Fortran 90

Graphics tools and resources resources

User's guide for Xmgrace graphing program
2D color intensity plot program
Simple line-fitting program
Tutorial on the PostScript language
File conversion and animation with ImageMagick