Word Version - University of Colorado Boulder

advertisement
Computational Physics
Physics 4810/7820
3 credits, 11:00-12:15pm, Duane G1B31
Web Site: http://www.colorado.edu/physics/phys4810/phys4810_sp08
Professor: Scott Parker, Duane F-815, sparker@colorado.edu, 492-3292.
Office Hours: Tues 2:30-3:30pm, Wed 3:00-4:00pm, or by
appointment.
TA: Jianhua Cheng, Duane F-923, Jianhua.Cheng@colorado.edu, 492-6728.
Office Hours: Wed 3:00-4:00pm, Thur 5:00-6:00pm,
or by appointment
Physics Computer Lab: Duane 116. The PCs in the lab have what you will
need to do the coursework. We will occasionally meet in the computer lab
for hands-on examples and discussion of the assigned projects.
You will
need to know the:
Login:__________________ and Password:___________________ .
This course will be an introduction to current research topics in
computational physics including: nonlinear dynamics, wave equations
(including quantum), spectral methods, random processes, Monte-Carlo
methods, molecular dynamics, the Ising model, and phase transitions. We
will also touch on select interdisciplinary topics such as neural nets
and protein folding. Using interesting examples we will cover numerical
solution of initial-value ordinary and partial differential equations,
including finite-difference, spectral and Monte-Carlo methods. You will
learn by doing projects that involve writing computer programs and
diagnosing simulation data. Lectures and examples will help set the
theoretical framework and get you started, but the real learning will
take place by doing the computer projects. The course grade is based
solely on these projects.
Though not the main point of this course, one thing you will gain is a
working knowledge of IDL (Interactive Data Language) which is a powerful
tool for visualization, graphics, and data analysis. Scientists planning
to do experimental work or computing will benefit enormously from a
working knowledge of software of this type. CU has a site license for
IDL. The software can be purchased from Karin Berglund,
karin.berglund@colorado.edu, 492- 4175, Information Technology Services,
see http://www.colorado.edu/its/tpsitelic/
It is recommended that you
try out IDL first in the computer lab before considering purchasing a
personal copy.
Experience with computer programming is helpful, but not a requirement.
Prerequisites are a minimum of three semesters of calculus, two semesters
of calculus-based physics, and two semesters of chemistry. We will
assume some familiarity with ordinary and partial differential equations.
In addition, some familiarity with Schrodinger's equations and statistics
(or introductory statistical mechanics) is helpful, but not a
requirement. If you are unsure about your preparation for this course
please discuss this with me.
This is a combined course (Physics 4810 and Physics 7820). If you have
any questions regarding which course to sign up for please discuss this
with me. The "typical" 4810 student is a senior physics major, the
typical 7820 student is a 3rd year physics grad student. Lectures will
be combined. Assigned projects will be different depending on the course
(assignments will be posted on the course web page).
Grades will be based solely on the assigned projects and an independent
research project (optional for 4810). The projects involve writing
working programs, providing a listing, showing numeric and graphical
results from the program, and carefully interpreting and explaining the
results.
Physics 4810, Option I: 8 assignments worth 100% of the total grade.
Physics 4810, Option II: Do 7 of the 8 assignments worth 80% of your
grade, and an independent project worth 20%. The effort for the project
should be that of at least one assignment (including related reading
assignments).
Physics 7820: 8 assignments worth a 70% of the total grade, and an
independent research project worth 30%. The effort for the independent
research project should be at least that of two assignments (including
related reading assignments).
The textbook (Giordono) is a new text introducing a variety of current
topics in computational physics. We will use this book for the physics
problems and related assignments. However, Giordono’s coverage of
numerical methods is too sparse, and we will be covering the numerics in
a little more detail. There are four copies on reserve in the physics
library. The recommended text (Numerical Recipes) is an excellent
reference for numerical methods (it is used regularly in physics
research). It is essentially an encyclopedia of numerical methods with a
pretty good explanation of the theory behind them. Often you hear
critical things about this book because it has become a standard to
compare against (e.g. "the random number generator is no good"). This
book will be on reserve at the library. It is recommend that anyone
intending to do future work involving computer simulation or modeling
purchase the book as a reference (in addition to using it for the
course).
Text: “Computational Physics,” N.J. Giordono, Prentice Hall (1997).
Recommended Text: “Numerical Recipes: The Art of Scientific Computing,”
2nd Edition, W.H. Press, et al, Cambridge University Press (1992).
As required by university policy, the class must meet during the final
exam period.
I will attend the American Physical Society Division of Plasma Physics
the week of 11/15-11/19, so we may have a guest lecturer or a make-up
lecture the following week.
Any students with disabilities please notify me the first two weeks of
class.
Because of the project nature of this course, students are encouraged to
work together and discuss problems. This includes programming issues,
methods of solution and parameters to use. However, final programs and
solutions should be done individually and not copied. You are free to
copy and use the examples on the course web page (that is what they are
intended for).
As an example, it is appropriate to look at parts of
each other's code (the actual computer program) and openly discuss
specific program problems. An example of what is not appropriate (and
would be considered plagiarism) is directly copying (either
electronically or by typing) multiple lines of code, or starting with
copied code and modifying it. The first week we will assign informal
study groups. This will require some initiative on your part to engage in
discussion outside of class. If, at any time, for any reason, you feel
disadvantaged or isolated, contact me and I will discretely re-assign
study groups. Please help each other learn and enjoy doing so. Helping a
fellow student actually helps you learn, and research shows that working
together in groups improves learning.
The assignment due dates are listed below. The actual assignments will
be posted on the course web page.
Course Outline
Week
Aug 23
Chapter 1. Getting Started with IDL and the computer lab,
Numerical Methods for Initial-Value Ordinary Differential Equations,
Accuracy, Stability and Convergence.
Read: Chapter 1, Web handouts on getting started with IDL
Assignment 1, Due Sept 3
Aug 30
Chapter 3. Leapfrog and Runge-Kutta Methods, Implicit
Methods, Dynamical
Systems, Driven Nonlinear Pendulum, Poincare Surface of Section Plots.
Read: Chapter 3 (except 3.5 and 3.6)
Sept 6
Sept 6 Labor Day - no class
Chapter 3 Continued. Bifurcation Diagrams, Strange Attractors,
Period Doubling, Lorenz Equations, Frequency Spectra.
Assignment 2, Due Sept 15
Sept 13
Chapter 6. Wave Equation, Finite Difference Methods, LaxWendroff Method,
Leapfrog Method, Von Neumann Stability Analysis, Piano and Guitar
Strings.
Read: Chapter 6
Sept 20
Methods.
Chapter 6 Continued, Frequency Spectra, Dispersion, Spectral
Burger's
Equation and Nonlinear Hyperbolic Systems
Assignment 3, Due Sept 29
Sept 27
Chapter 7. Stochastic Processes, Random Number Sequences,
Monte Carlo Integration, The Diffusion Equation, Crank-Nicholson and
Monte-Carlo Methods.
Read: Chapter 7 (except 7.5)
Oct 4
Chapter 7 Continued. Diffusion-Limited Aggregation,
Percolation, Relation to Fractals, A Forest Fire Model.
Assignment 4, Due Oct 13
Oct 11
The Ising Model and Phase Transitions
Read: Chapter 8
Oct 18
Molecular Dynamics Simulations, Particle-In-Cell Methods
for Gravity and
Plasma Problems.
Read: Chapter 9
Assignment 5, Due Oct 27
Oct 25
Problems,
Solutions to the Schrodinger Equation, Time Independent
Shooting Methods.
Read: Chapter 10
Nov 1
Chapter 10 continued, Time Dependent Schrodinger Equation
using
Crank-Nicholson, Spectral Methods Revisited.
Assignment 6, Due Nov 10
Nov 8
Nov 15
week.)
Protein Folding
Read: Section 11.1
Special Topic
(I will be at a meeting part of this
Assignment 7, Due Nov 24
Nov 22
November 26 Thanksgiving holiday - no class.
Nov 29
Neural Networks, Hopfield Model, Hebb Rule.
Read: Section 11.3
Assignment 8, Due Dec 8
Dec 6
projects.
Dec 8 Presentation of 10-15 minute talks on independent
Last day of classes: Wednesday, December 8
Final Exam: Friday, December 17, 11:30am
10-15 minute talks on independent projects continued…
Some Suggestions for Independent Research Projects
3D Visualization, isosurfaces, volume rendering, orthogonal slices, nonorthogonal coordinates, using IDL, using AVS (if you can find it running
somewhere), or IBM Data Explorer called “DX”. Pick a simple application
and test out these techniques on it.
Carefully try out and compare two data analysis/visualization software
packages, e.g. IDL and Matlab, or IDL and IBM DX, or DX and AVS, etc.
Pick a program you developed in the course and port it to a massively
parallel computer using message passing (such as PVM or MPI) or using
High Performance Fortran or another data parallel language.
Find a good journal article (seminal paper) on a numerical method of
interest to you and write a working program testing the method for
yourself. For example, Bak's sand pile SOC model, Gadunov’s method for
Burgers equation, Chorin’s paper on Vortex-in-Cell, early papers on
Particle-In-Cell plasma simulation.
Take one of the assigned programs and explore object-oriented programming
techniques using IDL or C++. Compare and contrast
advantages/disadvantages with conventional procedural programming.
Pick a computational topic in the physical sciences and report on it in
detail. This could be one of the topics we discussed in class, but
tracking down the journal articles and covering it in more depth. For
example, quantum computing, quantum chaos, the forest fire model, etc.
Pick a numerical method and carefully study numerical stability,
accuracy, and convergence.
Solve the wave equation or the heat equation using finite-elements.
Look into how to calculate global truncation error for ODE integration
schemes (see Gear).
Understand and carefully explain that stability + accuracy implies
convergence for integration of ODEs (see Gear).
Understand and carefully explain why some first order schemes work better
for shock problems than second order schemes.
Download