Claudio Rebbi

Professor - Physics Department

Office:  Physics Research Building (PRB), 3 Cummington Mall, room 551.
Telephone:  617-353-9058.

PY 421 - Introduction to Computational Physics - Spring term 2019

Instructor: Claudio Rebbi

This course introduces computational techniques for the solution of research problems in physics.

The course does not assume any prior knowledge of computer programming. During the first few weeks of the course the students learn basics aspects of programming that will be sufficient to complete the homework assignments and to follow the lectures. As the course progresses the students will further develop their programming skills.

Lectures will be held on Tuesday and Thursday from 11AM to 12:15PM in the CAS Computing Laboratory, room CAS 327. The CAS Computing Laboratory is a workstation equipped room. The students will have user accounts on all the workstations and will also be able to access their accounts remotely. A discussion session will be held on Friday from 3:35PM to 4:25PM in room CAS 330.

Prerequisites are PY351 or equivalent, or consent of the instructor. But what is really needed to follow the course is a basic knowledge of multivariate calculus, of linear algebra, especially the notions of eigenvalues and eigenvectors of a matrix, and of complex numbers. It is assumed that physics majors who passed PY351, "Modern Physics", will have developed these notions, but students in different majors who have that mathematical knowledge can attend the course with profit even if they did not take PY351.

There is no required textbook: lecture notes, software and other materials for the course are distributed through a shared file system, on a server accessible to the students, in the CAS workstation classroom.

Note: the dates of the final exams have been announced. The final exam for PY 421 will be held on Wednesday May 8, from 12:30PM to 2:30PM in room CAS 327. This information has also been entered into the syllabus.

Please consult the syllabus for detailed information about lectures, exams, grading and many other matters related to the course.


After introductory lectures on the basics of computing, the course proceeds toward modern methods of computational physics. In particular the data parallel paradigm and graphics rendering are illustrated through computationally intensive applications. All of the techniques are presented in the context of specific projects. For some problems, students are asked to play the role of application scientists, working with the computer in an interactive manner to perform a variety of numerical experiments. For other problems, students are required to take an active part in designing the code that will be used for the solution. Emphasis in all cases will be on the importance that the proper formulation of a problem plays for its ultimate computational solution.

Application problems:

Image manipulations.

Some simple operations are implemented by parallel algorithms on a two-dimensional array representing the intensity values of the pixels in a monochrome image. A relationship is established between the operations performed by computer (e.g. blurring of the image) on the discrete set of image data and fundamentals equations of mathematical physics for continuum fields (e.g. the diffusion equation). Advanced visualization software is presented.

Top and bottom left: the image before and after the blurring operation, which can be interpreted as a diffusion process.

Calculation of the Electrostatic Potential.

Various methods for solving Poisson's equation are evaluated in terms of their suitability for the data parallel paradigm. Students are asked to write the code for some basic iterative methods of solution on a parallel machine. Numerical experiments are used to demonstrate the occurrence of critical slowing down. Multigrid methods and other algorithms for overcoming critical slowing down are analyzed for implementation in a data parallel environment.

Solution of the One-Dimensional Schrödinger Equation.

The time-dependent Schrödinger equation in one space dimension is solved by means of an algorithm that uses repeated fast Fourier transforms in order to preserve the norm of the wave function. The complex wave function is represented graphically by means of a color map whereby its phase is encoded by the color circle. Here the student is provided with code and asked to use it as an application scientist, experimenting with a wide range of initial data.
A program for the simulation and visualization of the evolution of the quantum mechanical wave-function in one dimension, from the course material, can be downloaded here, as a compressed tar archive.

Simulation of Phase Transitions in Spin Systems.

Stochastic algorithms (Monte Carlo methods) are introduced for the simulation of models, such as the Ising model and the N-state Potts model, which exhibit interesting thermodynamical behavior and phase transitions. Programs for the implementation of such algorithms on a parallel machine are analyzed. Students then use these programs to perform large scale numerical experiments on phase transitions. Particular attention is given to the management of the large base of data that the simulations generate and to developing the auxiliary programs required for the analysis and interpretation of the data.

Molecular Dynamics Simulations.

Students are asked to write serial code for the implementation of molecular dynamics simulations. Following optimization and numerical experimentation with this code, the students and instructor collaborate to write highly efficient code for the simulation on a parallel machine. Performance for the serial and parallel modes of computation are compared and evaluated.

Further information:

Please consult the syllabus for office hours, the dates of the midterm (and final when available) exams, grading criteria, and other topics related to the course.

PY 351 - Modern Physics - Fall term 2018

Instructor: Claudio Rebbi

Goal of this course is to teach the basics aspects of modern physics (relativity, quantum mechanics, statistical mechanics etc.), at a level appropriate for students who intend to major in physics. Emphasis will also be put on the historical developments which led to the foundation of modern physics.

Note: the dates of the final exams have been announced. The final exam for PY 351 will be held on Tuesday December 18, from 3:00PM to 5:00PM in room PHO 211. This information has also been entered into the syllabus.

Please consult this website regularly for assignments, readings, and other course information. Please also check the syllabus for detailed information about lectures, schedule of exams, grading criteria, and many other matters related to the course.

Prerequisites: CAS PY 251, 252 (or 211, 212) and CAS MA 124.
Corequisite: CAS MA 225.

Course textbook: Modern Physics by James Rohlf, Wiley, 1994.

Book for readings: Physics and Philosophy: The Revolution in Modern Science by Werner Heisenberg, HarperCollins, 2007.

Laboratory Manual: On-line Lab Manual and Pre-lab Assignments for Modern Physics, available at

Lecture notes:

Lecture notes on special relativity.
Lecture 1.
Lecture 2.
Lecture 3.
Lecture 4.
Discussion on Sept. 12: notes by Sal Pace.
Discussion on Sept. 19: notes by Sal Pace.
Discussion on Sept. 26: notes by Sal Pace.
Discussion on Oct. 24: notes by Sal Pace.
Discussion on Oct. 31: notes by Sal Pace.
Discussion on Nov. 14: notes by Sal Pace.
Discussion on Nov. 28: notes by Sal Pace.
Discussion on Dec. 5: notes by Sal Pace.

Exam solutions:

First midterm exam and solutions.
Second midterm exam and solutions.
Final exam and solutions.

Last modified: Mon Mar 11 17:41:43 EDT 2019