Details of PH3105 (Autumn 2016)
Level: 3  Type: Laboratory  Credits: 3.0 
Course Code  Course Name  Instructor(s) 

PH3105  Computational Physics  Ritesh Kumar Singh 
Preamble 

This course provides an introduction to some of the widely used methods of computational physics. In addition to giving the students a basic working knowledge of particular numerical techniques, the course aims to make them comfortable with scientific computing in general, so that they will be prepared to tackle other computational problems as well that they may encounter in the future.

Syllabus 

(1) Introduction to the programming language (e.g. C, C++, Fortran, Matlab etc. or
any combination of above). The introduction is accompanied by examples in the following general areas. (a) Sorting Algorithms  selection sort, Quick sort etc. (b) Solution of equation  Newton's method, Secant method etc. (c) Simple numerical integratons  Trapezoidal rule, simpson 1/3 rule etc. and any other basic numerical techniques, that are useful for the later part of the course. (2) Classical mechanics (2nd order ODE, initial value problems). Euler mthod, ModifiedEuler (predictorcorrector) method, RungeKutta method, Leapfrog method, Verlet method, Velocity Verlet method, each with and without velocity dependent drag terms. Examples from (but not limited to) harmonic oscillator with damping, forced one, anharmonic pieces addred, realistic projectile motion with air drag, realistic planetary orbit calculation etc. Simplectic integration, taking advantage of conservation principle. (3) Quantum Mechanics (2nd order ODE, boundary value and eigenvalue problems). Shooting method and Numerov's method, examples of bound states calculation for 1D wells of regular and unusual shapes (those do not admit analytical solutions) quantum harmonic oscillators. Eigenvalue problem in matrix form (finite dimensional basis), and exact (Lanczos) diagonalization, Variational calculation with orthogonal basis states. Timedependent Schrodinger equation, wave equation etc. (4) Statistical Mechanics (Stochastic and Monte Carlo Methods). Uniform random number generation, Randon walk and diffusion, Monte Carlo Integration  advantage in higher dimension, error analysis. Importance sampling and detailed balance. Generation of random numbers from a Gaussian distribution Box Miller method, using central limit theorem, Sampling points from arbitrary distributions  Metropolis sampling and examples. 
Prerequisite 

Prior credit of course CS1101 is helpful but not essential. Basic
knowledge of the Unix (or Linux) operating system (including use of a text editor) and some understanding of elementary computer programming will be assumed, however, extensive prior programming skills are not necessary. A brief introduction to the particular programming language used will be given at the beginning. The physics knowledge expected will be at the level typically achieved after the first two year of undergraduation. Reviews of the relevant physics will be integrated with the discussions of numerical algorithms. 
References 

(g) Long List of References:
(1) Computational Physics, N. J. Giordano and H. Nakanishi, Pearson Prentice Hall (2006) (2) Introduction to Computational Physics, Pao Tang, Cambridge University Press (3) Computational Physics, S. E. Koonin and D. C. Meredith, AddisonWesley Publishing Company (4) Numerical Recipe. (5) Computational Physics, J. M. Thijssen, Cambridge University Press (h) Short List of References: (1) Computational Physics, N. J. Giordano, Prentice Hall (2) Numerical Recipe. 
Course Credit Options
Sl. No.  Programme  Semester No  Course Choice 

1  IP  1  Core 
2  IP  3  Not Allowed 
3  IP  5  Not Allowed 
4  MR  1  Not Allowed 
5  MR  3  Not Allowed 
6  MS  5  Core 
7  RS  1  Elective 
8  RS  2  Elective 