Astronomy 415: Spring 2007
"Computational Astrophysics"This course will provide the astronomy student with a basic knowledge of numerical methods in astrophysics. By the end of the course students should be comfortable working in a Unix environment, compiling and running codes, and employing a variety of visualization techniques to analyze the results. This process will be motivated by concrete examples of modern problems in astrophysics that demand numerical approaches.
The exact details of the material covered will depend on the existing level of computer sophistication among the class participants. However, in broad outline the major course topics will include linear algebra, root finding, leastsquare fitting, Monte Carlo methods, numerical integration, Nbody methods, fluid dynamics, FFTs and timeseries analysis.
Most of the material in this class and the web resources have been developed by Derek C. Richardson.Thanks Derek!
Schedule
Instructor: Massimo Ricotti Class: room CSS 2428 Lectures: Tuesday and Thursday from 12:30pm to 13:45pm First class: Th Jan 25 Last class: Th May 10
What's New?
May 1: Problem Set #5 solutions posted. 
May 1: Online course evaluation open Apr 27May 4  please participate! 
Apr 26: Problem Set #6 posted. 
Apr 23: Problem Set #4 solutions posted. 
Apr 12: Data files for the Term Project posted. 
Apr 12: Problem Set #5 posted. 
Apr 04: Problem Set #3 solutions posted. 
Apr 04: Problem Set #4 posted. 
Mar 08: Term project assignment posted. 
Mar 06: Problem Set #2 solutions posted. 
Mar 06: Problem Set #3 posted It is long, start early! 
Feb 20: Problem Set #1 solutions posted. 
Feb 20: Problem Set #2 posted. 
Feb 03: Intro to C tutorial examples posted. 
Feb 03: Survey results posted. 
Feb 01: Problem Set #1 posted. 
Contact info and Notes
This Course has been taught in previous years by Derek Richardson (currently on sabbatical leave). I plan to follow rather closely the syllabus and material (including notes and homework assignments) developed by Derek. My "native" programming language is the old FORTRAN77, but to make this course more young and exciting I will refresh my C knowledge and pretend I know how to program in C. Along the way I may complement the lectures with power point presentations available on the web on computational astrophysics. I will try to keep this webpage updated and link all the course material here.
 Office: room CSS 0213
 Email: ricotti "at" astro "dot" umd "dot" edu
 Phone: (301) 405 5097
 Office hours: Tuesday 4:005:00
 Class web page: http://www.astro.umd.edu/~ricotti/NEWWEB/teaching/current.html
Course Outline
The Syllabus is available in HTML and PDF format.
Date  Lecture  Reading (NRiC)  Lecture Notes  

#1  Jan 25  Introduction to the course     
#2  Jan 30  Computer architecture    class02.pdf 
#3  Feb 01  Introduction to UNIX  tutorial   
#4  Feb 06  Introduction to C  1.11.2, tutorial   
#5  Feb 08  Introduction to C (cont.)  1.11.2, tutorial   
#6  Feb 13  Introduction to visualization  tutorial  class05.pdf 
#7  Feb 15  Data representation  1.3  class05.pdf 
#8  Feb 20  Linear algebra, part 1 (GaussJordan elimination)  2.02.3  class06.pdf 
#9  Feb 22  Linear algebra, part 2 (LU & SVD decomposition)  2.42.6  class07.pdf 
#10  Feb 27  Root finding in 1D  9.09.1, 9.4, 9.6  class08.pdf 
#11  Mar 01  Root finding in multiD, and numerical differentiation  5.7  class09.pdf 
#12  Mar 06  Statistics and the KS test  14.014.3  class10.pdf 
#13  Mar 08  Leastsquares fitting  15.015.2, 15.415.5  class11.pdf 
#14  Mar 13  Random numbers and cryptography  7.07.2  class12.pdf 
#15  Mar 15  Numerical integration  7.6, 4.04.4, 4.6  class13.pdf 
  Mar 20  no class (Spring break)     
  Mar 22  no class (Spring break)     
#16  Mar 27  Integration of ODEs, part 1 (IVPs)  16.016.1  class14.pdf 
#17  Mar 29  Integration of ODEs, part 2 (leapfrog)    class15.pdf 
#18  Apr 03  Integration of ODEs, part 3 (stiff ODEs & 2pt BVPs)  16.6, 17.0  class16.pdf 
#19  Apr 05  Nbody techniques, part 1    class17.pdf 
#20  Apr 10  Nbody techniques, part 2 (PP)    class18.pdf 
#21  Apr 12  Nbody techniques, part 3 (PM)  19.0, 19.419.6  class19.pdf 
#22  Apr 17  Nbody techniques, part 4 (tree)    class20.pdf 
#23  Apr 19  Integration of PDEs, part 1 (ell & hyp)  19.019.1  class21.pdf 
#24  Apr 24  Integration of PDEs, part 2 (hyp & par)  19.2  class22.pdf 
#25  Apr 26  Fluid dynamics, part 1 (eqns)    class23.pdf 
#26  May 01  Fluid dynamics, part 2 (methods)  19.3  class24.pdf 
#27  May 03  Miscellaneous topics     
#28  May 08  Term project presentation     
#29  May 10  Term project presentation     
Textbooks
 There are no required textbooks
 Recommended:
 Numerical recipes in Fortran [or in C], by Press, W.H. et al.
Course Grading
 Homework 80%
 Term Project 20%
There are no exams for this course. Class participation is strongly encouraged.
Class Survey Results
The level of computer and programming competence of the students in this class (measured the first day of class) is very heterogeneous as indicated by the result of the class survey. The survey results are available in HTML and PDF format. I will start the lectures with simple and, for some of you, obvious concepts and finish with more complex and challenging topics that may entertain the more experienced students in the class.
Homework
Homework will be assigned every week or every other week. Their due dates will be announced at the time they are assigned. On the due date the students will be expected to turn in their homework in class. The homework turned in will be graded and returned to the students. I will provide solutions and discuss them in class.
Link to Numerical Recipes sources in C and in Fortran: it is preferable to compile the recipes as separate files rather than cut and paste the functions into your source code.
Note that in order to use NRiC routines the easiest way is to nclude nr.h header file and nrutil.c and nrutil.h to use vectors and matrices. You can find these files here.
Problem set  Date  Problem Set  Solutions  Extras  
Assigned  Due  
#1  Feb 1  Feb 15  HTML/PDF/PS  HTML/PDF/PS  
#2  Feb 17  Mar 8  HTML/PDF/PS  HTML/PDF/PS  data  
#3  Mar 6  Mar 27  HTML/PDF/PS  HTML/PDF/PS  data  
#4  Mar 29  Apr 12  HTML/PDF/PS  HTML/PDF/PS  
#5  Apr 12  Apr 26  HTML/PDF/PS  HTML/PDF/PS  
#6  Apr 26  May 16  HTML/PDF/PS  HTML/PDF/PS  movie 
Term Project  Assigned  Due date  Data 
HTML/PDF /PS  Mar 08  May 08  KH instability/Jet(hdf4) /KH(hdf5)/Shock/Bondi 
IMPORTANT UPDATE: I did not manage to convert HDF4 files into HDF5 format. I have posted 2 other files in NETCDF format. "Shock" is a simulation of an oblique shock in Cartesian coordinates (100x100x100) and "Bondi" is a simulation of Bondi accretion onto a moving point mass in spherical coordinates (200x100x100). Both simulations were created using a parallel version of VH1. I have also some tools to convert HDF4 files into text files or IFRIT file format. If you think you need these tools I can email them upon request.
Tutorials

Old Class Notes

Useful Links
Check out the UMD Astronomy Computing Wiki! (In the listings below, a "W" link indicates a Wikipedia entry on the topic is available.) Online Tutorials
