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 confortable 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 amoong the class participants. However, in broad outline the mojor course topics will include linear algebra, root finding, least-square fitting, Monte Carlo methods, numerical integration, N-body methods, fluid dynamics, FFTs and time-series 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 27-May 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 tought in previous years by Derek Richardson (currently on sabbatical leave). I plan to follow rather closely the syllabus and material (including notes and homework assignements) 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
- E-mail: ricotti "at" astro "dot" umd "dot" edu
- Phone: (301) 405 5097
- Office hours: Tuesday 4:00-5: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.1-1.2, tutorial | - |
#5 | Feb 08 | Introduction to C (cont.) | 1.1-1.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 (Gauss-Jordan elimination) | 2.0-2.3 | class06.pdf |
#9 | Feb 22 | Linear algebra, part 2 (LU & SVD decomposition) | 2.4-2.6 | class07.pdf |
#10 | Feb 27 | Root finding in 1-D | 9.0-9.1, 9.4, 9.6 | class08.pdf |
#11 | Mar 01 | Root finding in multi-D, and numerical differentiation | 5.7 | class09.pdf |
#12 | Mar 06 | Statistics and the K-S test | 14.0-14.3 | class10.pdf |
#13 | Mar 08 | Least-squares fitting | 15.0-15.2, 15.4-15.5 | class11.pdf |
#14 | Mar 13 | Random numbers and cryptography | 7.0-7.2 | class12.pdf |
#15 | Mar 15 | Numerical integration | 7.6, 4.0-4.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.0-16.1 | class14.pdf |
#17 | Mar 29 | Integration of ODEs, part 2 (leapfrog) | - | class15.pdf |
#18 | Apr 03 | Integration of ODEs, part 3 (stiff ODEs & 2-pt BVPs) | 16.6, 17.0 | class16.pdf |
#19 | Apr 05 | N-body techniques, part 1 | - | class17.pdf |
#20 | Apr 10 | N-body techniques, part 2 (PP) | - | class18.pdf |
#21 | Apr 12 | N-body techniques, part 3 (PM) | 19.0, 19.4-19.6 | class19.pdf |
#22 | Apr 17 | N-body techniques, part 4 (tree) | - | class20.pdf |
#23 | Apr 19 | Integration of PDEs, part 1 (ell & hyp) | 19.0-19.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 | K-H instability/Jet(hdf4) /K-H(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 e-mail 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
|