PHY 480: Computational Physics

Spring 2006

Course Outline

1. Basic Skills

1.1. The UNIX and X-windows environment
1.1.1. Overview of Unix operating system
1.1.2. Basic shell commands
1.1.3. Overview of client-server X-windows model

1.2. The vi text editor
1.2.1. Why vi?
1.2.2. Basic vi commands

1.3. The Postscript graphics language
1.3.1. Basic syntax
1.3.2. Displaying atomic structures in Postscript

1.4. Manipulating and converting graphics files
1.4.1. Introduction into graphic file formats
1.4.2. Using ImageMagick package to convert between different graphic formats

1.5. Graphic display packages
1.5.1. The xyzview and xmol, structure display programs
1.5.2. The gnuplot data display program

1.6. The Web, HTML and JAVA
1.6.1. Global exchange of documents
1.6.2. Publishing HTML documents
1.6.3. JAVA: Concept and references
1.6.4. Displaying structures using the JAVA Molecular Viewer

1.7. The FORTRAN programming language
1.7.3. The structure of a FORTRAN code
1.7.2. FORTRAN data types
1.7.2.1. Representation of integers and real numbers in the computer
1.7.2.2. Accumulation of roundoff errors
1.7.3. Basic FORTRAN I/O
1.7.4. FORTRAN control statements
1.7.5. Functions and subroutines

1.8. Projects
1.8.1. Project (given): Solving a set of second order equations
1.8.2. Project (required): Solving a set of systems of 2x2 linear equations
1.8.3. Project: Read a set of 2-dimensional coordinates from a file, rotate them by an angle alpha, plot the initial and final configuration, create a postscript file (print it), convert it to a gif file and publish it on your web page
1.8.4. Project: Same as Project 1.8.3, but in 3-dimensions using Euler angles for rotations

2. Basic Numerical Techniques in Physics

2.1. Basic concepts
2.1.1. Lattices and Taylor expansions
2.1.1. Lagrange interpolation with polynomials

2.2. Numerical derivatives
2.2.1. Overview of application of derivatives in physics
2.2.2. Formulae for first order derivatives on equally spaced lattices
2.2.3. How to find the leading term in the error
2.2.4. Second order derivatives
2.2.5. Project: Maple worksheet to find 5-terms first order derivative
2.2.6. Project: Find 5-terms second order derivative and leading error term

2.3. Integration techniques
2.3.1. Overview of application of integrals in physics
2.3.2. Approximation for integrals on equally spaced lattices
2.3.2.1. Simpson-like formulae on few lattice spaces
2.3.2.2. Composite formulae for integration
2.3.3. Approximation for integrals using orthogonal polynomials
2.3.3.1. Gauss-Legendre quadrature
2.3.3.2. Gauss-Laguerre quadrature
2.3.4. Project: Integrating radial Coulomb wave functions
2.3.5. Project: Integrating radial harmonic oscillator wave functions
2.3.6. Convolution techniques
2.3.7. Multidimensional integrals

2.4. Ordinary differential equations
2.4.1. Overview of application of differential equations in physics
2.4.2. Euler method
2.4.3. Predictor-corrector and multisteps methods
2.4.4. Runge-Kutta methods
2.4.5. Stability of predictor-corrector methods
2.4.6. Project: Integrating equation of motion of N particles interacting via Lennard-Jones potential
2.4.7. Project: Integrating equation of motion of N particles interacting via Morse potential
2.4.8. Boundary value and eigenvalue problems
2.4.8.1 Numerov algorithm for second order linear equations

2.5. Roots of nonlinear equations
2.5.1. Overview of application of roots of nonlinear equations in physics
2.5.2. Bracketing a root
2.5.3. Bisection and secant methods
2.5.4. Newton method
2.5.5. Systems of nonlinear equations

2.6. Projects
2.6.1. Project: Finding the eigenenergies and eigenfunctions of a single particle with spherical symmetry
2.6.1. Project: Fermionic mean field with spherical symmetry; the jellium model

3. Advanced Numerical Techniques in Physics

3.1. Systems of linear equations
3.1.1. Overview of physics applications for systems of linear equations
3.1.2. Gauss elimination method
3.1.3. LU decomposition
3.1.4. Matrix inversion

3.2. Eigenvalues and eigenvectors
3.2.1. Overview of physics application for systems of linear equations
3.2.2. Real symmetric and hermitian matrices
3.2.3. Jacobi method
3.2.4. Eigenvalues and eigenvectors of a tridiagonal matrix
3.2.5. Reduction of a matrix to a tridiagonal form: Givens and Householder methods
3.2.6. Reduction of a matrix to a tridiagonal form: Lanczos method
3.2.7. Project: Finding the eigenenergies and eigenfunctions of a single particle using expansion in 3-dimensional harmonic oscillator basis
3.2.8. Project: Fermionic mean field with spherical symmetry; using expansion in 3-dimensional harmonic oscillator basis

3.3. Minima and maxima
3.3.1. Physics applications of minima and maxima
3.3.2. Bracketing the minimum in one dimension: golden section search
3.3.3. Parabolic interpolation in one dimension
3.3.4. One dimensional search with first derivatives
3.3.5. Multidimensional simplex method
3.3.6. Conjugate gradient method
3.3.7. Simulating annealing method
3.3.8. Genetic algorithms
3.3.9. Project: Find the minimum energy configuration of a system of particles interacting via L-J/Morse potential using conjugate gradient
3.3.10. Project: Find the minimum energy configuration of a system of particles interacting via L-J/Morse potential using molecular dynamics
3.3.11. Small oscillation and normal modes
3.3.12. Project: Find the normal modes for a system of 4 particles
3.3.13. Project: Find the normal modes for a system of 8 particles

3.4. Fitting data
3.4.1. Fitting data vs interpolation of data
3.4.2. Maximum likelihood, least-squares method
3.4.3. Least-square fit to a straight line
3.4.4. Linear least-squares fit
3.4.5. Nonlinear least-squares fit and uncertainties in the parameters
3.4.6. Project: Least-squares fit of a straight line
3.4.7. Project: Linear least-squares fit of an angular distribution

4. Special Topics

4.1. Filtering data
4.1.1. Simulation of chaotic quantum systems: density of states
4.1.2. Savitzky-Golay smoothing filters

4.2. Monte Carlo Methods
4.2.1. Overview of application of Monte Carlo Methods in physics
4.2.2. Generation of uniformly distributed pseudo random numbers
4.2.3. Random numbers for a given distribution
4.2.4. The Metropolis algorithm
4.2.5. Calculating multidimensional integrals
4.2.6. Project: Find the minimum energy of a system of 4 particles interacting via L-J potential using Metropolis algorithm and simulating annealing
4.2.7. Project: Find the minimum energy of a system of 8 particles interacting via Morse potential using Metropolis algorithm and simulating annealing

4.3. Fourier transform and spectral analysis
4.3.1. Overview of application of Fourier transform in physics
4.3.2. Fourier series and Fourier transform
4.3.3. Fast Fourier Transform
4.3.4. Power spectrum
4.3.5. Project: Finding resonances in the power spectrum of r.m.s. for the motion of 4 particles: comparison with normal mode frequencies
4.3.6. Project: Finding resonances in the power spectrum of r.m.s. for the motion of 8 particles: comparison with normal mode frequencies


Return to the Home Page of PHY 480

Document http://www.pa.msu.edu/~tomanek/PHY480/Outline.html
has been last updated on 20 December 2002 by David Tomanek.