Astronomy 415: Fall 2010
"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, least-square fitting, Monte Carlo methods, numerical integration, N-body methods, fluid dynamics, FFTs and time-series analysis.
Schedule
Instructor: Massimo Ricotti Class: room CSS 2428 Lectures: Tuesday and Thursday from 12:30pm to 13:45pm First class: Tue Aug 31 Last class: Thu Dec 9
What's New?
Dec 7: Problem Set #4 solutions posted. |
Dec 2: Problem Set #6 posted. |
Nov 30: Online course evaluation open Nov 29-Dec 12 - please participate. If we reach 70\% response rate I will bring cookies or cake in class!! |
Nov 23: Term project assignment posted. |
Nov 18: Problem Set #5 posted. |
Nov 16: Problem Set #3 solutions posted. |
Nov 2: Problem Set #4 posted. |
Nov 2: Problem Set #2 solutions posted. |
Oct 19: Problem Set #3 posted It is long, start early! |
Oct 12: Problem Set #1 solutions posted. |
Oct 5: Problem Set #2 posted. |
Sept 21: Problem Set #1 posted. |
Sept 13: Play with C examples and "Makefile mistery". |
Sept 02: Survey results posted. |
Contact info and Notes
- Office: room CSS 0213
- E-mail: ricotti "at" astro "dot" umd "dot" edu
- Phone: (301) 405 5097
- Office hours: Wednesday 2:30-3:30 or by appointment
- 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 | Aug 31 | Introduction to the course | - | - |
#2 | Sep 02 | Computer architecture | - | class02.pdf |
#3 | Sep 07 | Introduction to UNIX | tutorial | - |
#4 | Sep 09 | Introduction to C | 1.1-1.2, tutorial | - |
#5 | Sep 14 | Introduction to C (cont.) | 1.1-1.2, tutorial | - |
#6 | Sep 16 | Introduction to visualization | tutorial | class05.pdf |
#7 | Sep 21 | Data representation | 1.3 | class05.pdf |
#8 | Sep 23 | Linear algebra, part 1 (Gauss-Jordan elimination) | 2.0-2.3 | class06.pdf |
#9 | Sep 28 | Linear algebra, part 2 (LU & SVD decomposition) | 2.4-2.6 | class07.pdf |
#10 | Sep 30 | Root finding in 1-D | 9.0-9.1, 9.4, 9.6 | class08.pdf |
#11 | Oct 05 | Root finding in multi-D, and numerical differentiation | 5.7 | class09.pdf |
#12 | Oct 07 | Statistics and the K-S test | 14.0-14.3 | class10.pdf |
#13 | Oct 12 | Least-squares fitting | 15.0-15.2, 15.4-15.5 | class11.pdf |
#14 | Oct 14 | Random numbers and cryptography | 7.0-7.2 | class12.pdf | #15 | Oct 19 | Numerical integration | 7.6, 4.0-4.4, 4.6 | class13.pdf |
#16 | Oct 21 | Integration of ODEs, part 1 (IVPs) | 16.0-16.1 | class14.pdf |
#17 | Oct 26 | Integration of ODEs, part 2 (leapfrog) | - | class15.pdf |
#18 | Oct 28 | Integration of ODEs, part 3 (stiff ODEs & 2-pt BVPs) | 16.6, 17.0 | class16.pdf |
#19 | Nov 02 | Integration of ODEs, part 4 | - | class17.pdf |
#20 | Nov 04 | N-body techniques, part 1 | - | class18.pdf |
#21 | Nov 09 | N-body techniques, part 2 (PP) | 19.0, 19.4-19.6 | class19.pdf |
#22 | Nov 11 | N-body techniques, part 3 (PM) | - | class20.pdf |
#23 | Nov 16 | N-body techniques, part 4 (tree) | - | class21.pdf |
#24 | Nov 18 | Integration of PDEs, part 1 (ell & hyp) | 19.2 | class22.pdf |
#25 | Nov 23 | Integration of PDEs, part 2 (hyp & par) | - | class23.pdf |
- | Nov 25 | no class (Thanksgiving) | - | - |
#26 | Nov 30 | Fluid dynamics, part 1 (eqns) | 19.3 | class24.pdf |
#27 | Dec 02 | Fluid dynamics, part 2 (methods) | - | class25.pdf |
#28 | Dec 07 | Term project presentation | - | - |
#29 | Dec 09 | Term project presentation | - | - |
- | Not covered | Fourier transform, part 1 (intro) | 12.0-12.1, 19.4 | class26.pdf |
- | Not covered | Fourier transform, part 2 (FFT) | 12.2, 13.0-13.2, 13.4 | class27.pdf |
- | Not covered | Other topics | - | class28.pdf |
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 starting level of computer and programming competence of the students in this class (measured the first day of class) is "Novice/Beginner" 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 should entertain even the most 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 include 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 | Sept 21 | Sept 30 | HTML/PDF | HTML/PDF | ||
#2 | Oct 5 | Oct 19 | HTML/PDF | HTML/PDF | data | |
#3 | Oct 19 | Nov 2 | HTML/PDF | HTML/PDF | data | |
#4 | Nov 2 | Nov 16 (deadline extended) | HTML/PDF | HTML/PDF | ||
#5 | Nov 18 | Dec 2 | HTML/PDF | HTML/PDF | ||
Term Project | Nov 23 | Dec 9 | HTML/PDF | |||
#6 | Dec 2 | Dec 9 | HTML/PDF | HTML/PDF | movie |
Tutorials
|
Old Class Notes
|
Useful Links
OpenMP links: OpenMP.org Wiki OpenMP CUDA and GPU computing: Nvidia webpage with examples to download Wiki OpenCL Wiki CUDA 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
|