Overview
Introductory lecture material
Programming
Basic numerical methods
Methods and Algorithms
Monte Carlo methods
Quantum Monte Carlo methods
Continuous Time Quantum Monte Carlo
Hartree-Fock method
Density functional theory
Molecular Dynamics
|
|
Left: Simulation of a bacteria growth by DLA method, Right: Molecular dynamics simulation of a small system of atoms
Simulation codes is available to download in lecture material.
The goal of this course is to make students aware of what is involved
in computational physics, and the large variety of tools which can
help us do classical and quantum physics using the computer. Examples
will be drawn from various areas of physics.
This course has no prerequsites except for familiarity with some
programming language. It is designed for the student who wishes to
broaden his/her knowledge of applications and develop techniques.
Class Time: ARC building (212), 12:00-1:20pm on Tuesday, 12:00-1:20pm on Thursday
| Instructor: |
Kristjan Haule
Office: Serin E267
email: haule@physics.rutgers.edu
Phone: 445-3881
Office hours: Friday 4:45pm
|
Homeworks
Preliminary Course Outline and Tentative List of Topics include
A)Survey of hardware and software of a computer:
- Representation of numbers in the computer
- Why do we need to be aware of roundoff error
- How to use computer hardware more efficiently
- Use of debuggers, profilers and memory leakage tools
- Where to find useful numerical routines on the web and learn how
to use them in solving physics problems
- How to use Fortran routines in C++
B) Some basics of high level programming
with examples in C++, Perl and Python:
- Importance of data abstraction, data encapsulation and data hiding
- Concept of templates and their use (functors)
- Be aware of 80-20 rule in optimizing code
- Modern Scientific Computing using Python, SciPy
Literature for C++:
- More Effective C++ by Scott Meyers
- C++ Programming language by Bjarne Stroustrup
Literature for Pythons:
- How to Think Like a Computer Scientist: Learning with Python
- Python for beginners
- Dive Into Python
- Python documentation
- Python regular expressions
C) Basic numerical methods:
- Numeric integration (source code)
- Interpolation, Splines and Fourier transformation (source code)
- Differential equations (source code)
- Random numbers and multidimensional integration (source_code)
- Parallel programming with MPI
Literature:
Numerical Recipes online from http://www.nrbook.com/b/bookcpdf.php
D) Computational methods and algorithms (Core part of the Course):
- Hartree-Fock method
- Density functional theory
- Monte Carlo methods and Simulated Annealing
- Quantum Monte Carlo methods
- Continuous Time Quantum Monte Carlo method
- Molecular dynamics simulation
Literature:
- Computational Physics by J.M. Thijssen (The core part of the lectures is build from this book)
- Introduction to Computer Simulation Methods by H. Gould, J Tobocnik and W. Christian
- Electronic Structure, Basic Theory and Practical Methods by Richard M. Martin(Very good book for the Density functional part of the course)
- An Introduction to Computational Physics by Tao Pang
- Computational Physics by Rubin H. Landau and Manuel J. Paez(More elementary but good book)
Students with Disabilities
igor win
igor mac
up
|