PHYS 5P10 - Introduction to Scientific Computing
Instructor: R.Akis
Calendar entry

Survey of computational methods and techniques commonly used in condensed matter physics research; use of common subroutine libraries; symbolic computing systems; case studies from various areas of computational science; an independent- study term project. Use of graphing and visualization software. Numerical differentiation and integration. Use of special functions. Monte Carlo and molecular dynamics simulation of structure, energetic and thermodynamic properties of metallic, semiconducting and ionic solids and nanoparticles.

Course Outline

The course shall consist of four components:

  1. Common Toolbox
    • interacting with the OS; CLI vs GUI
    • Linux as a collection of small tools + pipes between them
    • the basics of shell, fortran and C programming
    • simulation code development:edit, compile, run,make and Makefile structure, elementary debugging, linking to program libraries
    • visualization with gnuplot and other graphing tools
    • introduction to parallel programming,scattering and gathering of data, allocating memory and resources
  2. Numerical Methods
    • Numerical differentiation: finite differences, interpolation, root finding
    • Numerical integration: special functions and quadrature
    • Solution of Ordinary Differential Equations: Euler-Cromer, Runge-Kutta
    • Linear algebra: methods of solving systems of equations and eigenvalue problems
    • Partial differential equations:boundary conditions, Diffusion equation, Poisson equation, wave equation, Gauss-Seidel, simultaneous overrelaxation and spectral methods
    • Stochastic Methods:Random number generators, importance sampling, Molecular dynamics, Monte-Carlo techniques
  3. Case Studies/Projects
    • Least-squares problem: experimental noisy data, noise distribution and filtering, importance of baseline, assumption of Gaussian noise, chi-squared; classification of LS problems, regularization and selection of lambda. Test case: spectrum of exponential relaxation rates (E. Sternin)
    • Molecular modeling:protein database data, force fields, GROMACS simulation package. Test case: a lipid bilayer with cholesterol guests (T.Harroun/B. Van Oosten)
    • Models of solids: Ising model, magnetic moment, temperature, heat capacity, Metropolis' algorithm. Test case: magnetic transitions in an Ising lattice (B. Mitrovic/S. Bose)
    • Image Analysis: filtering to remove noise, segmentation to isolate regions and objects of interest, regional and spectral analysis to extract statistical data. Test case: analysis of a photographic image (E. Sternin)
  4. Independent Study
    • Each student shall pick a scientific computing topic to study and develop a classroom presentation based on their findings.
Reference Material

There is no official textbook for the course. However, there are a number of books/sets of lecture notes available online in pdf format that shall be used as reference material for the lectures. These include:

Marking scheme

The final grade will be based on the completion of two assignments (32%), four projects (48%), and a classroom presentation (20%). There shall be a 50% deduction on late assignments and projects.


The classes are Tuesday and Thursday from 11:30 AM to 1:00 PM in MCH300. I shall have office hours from 1:00 PM to 4.00 PM on Monday in MCE220 if you want to ask questions. If you want to see me outside of that time, please set up an appointment time via email. Generally, I'll also be on campus from 10:00 AM to 3:00 PM on Tuesday and Thursday.