PHYS 5P10  Introduction to Scientific Computing
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:
 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
 Numerical Methods
 Numerical differentiation: finite differences, interpolation, root finding
 Numerical integration: special functions and quadrature
 Solution of Ordinary Differential Equations: EulerCromer, RungeKutta
 Linear algebra: methods of solving systems of equations and eigenvalue problems
 Partial differential equations:boundary conditions, Diffusion equation, Poisson equation, wave equation, GaussSeidel, simultaneous overrelaxation and spectral methods
 Stochastic Methods:Random number generators, importance sampling, Molecular dynamics, MonteCarlo techniques
 Case Studies/Projects
 Leastsquares problem: experimental noisy data, noise distribution and filtering, importance of baseline, assumption of Gaussian noise, chisquared; 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)
 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.
Schedule
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.
Lectures
 Lecture 3, Jan. 14, 2017,
printable handout,
script from slide 7,
script from slide 10,
script from slide 11,
script from slide 18,
script from slide 20,
script from slide 21,
script from slide 25,
first script from slide 29,
second script from slide 29,
first script from slide 31,
second script from slide 31,
script from slide 32,
script from slide 33,
first script from slide 35,
second script from slide 35,
script from slide 36,
script from slide 38,
script from slide 40,
script from slide 42.
 lecture 8, Feb. 2, 2017,
printable handout,
exponential.f95,
letter_grade.f95,
bug.f95,
cosines.f95,
debug.f95,
cosines1.f95,
cosines2.f95.
 lecture 10, Feb. 9, 2017,
printable handout,
mydata.dat,
exp2.dat,
parameter.dat,
4col.csv,
force.plt,
force.dat,
lagrange_data.f95,
points.dat,
interp.dat.
Assignments
Projects
