ASTR415 Fall 2014 TERM PROJECT

Due Dec 5th, 2014

Pick one of the 4 projects below, write a report similar to HW6 and prepare a 10-15 min presentation to be given in class on Dec 5, Dec 10 or Dec 12 (we will decide the order of the presentations later in class). The projects are described in some detail in the next pages.

You can work in small groups if you prefer (2-3 people) but each of you have to produce an independent report and presentation (or a section of a longer report/presentation). If you work in a group you are expected to produce a commensurately larger amount of work than if you work on your own (the grade will reflect the level of effort).

• Project 1: Your first cosmological simulation of a black hole!
• Project 2: Parallelization of an N-BODY code using OPENMP
• Project 3: Parallelization of an N-BODY code using CUDA
• Project 4: 3D volume rendering
PROJECT 1: YOUR FIRST COSMOLOGICAL SIMULATION OF A BLACK HOLE!
(also known as secondary infall problem)
Write a report and prepare a class presentation on the results of your numerical simulations of dark matter accretion around a black hole at rest in an expanding Universe. This problem is quite difficult for an undergraduate level course: do not worry too much if your results do not agree with the expected solution!

In order to solve this problem you need to generalize the integration package you wrote for PS5 so that it can solve the -body problem in an expanding Universe assuming spherical geometry and fixed time steps. The following ODEs should be integrated in order to solve the problem (see also my handwritten notes):

 (1) (2)

This equations describe the motion of spherical shells of dark matter around the black hole in comoving coordinates: is the peculiar velocity of a shell at comoving distance from the black hole and is the difference between the mass within at time and the original mass at time when the Universe was homogeneous (constant density). To convert the distances in physical units use the formula: , where the redshift depends on time as and where Gyr is the age of the Universe. The Hubble parameter in a flat matter dominated Universe is: , where km/s.

Alternatively you can integrate the equation as a function of redshift rather than time (it may be easier). Using the relationship you get the following equation:

 (3) (4)

Assume initial conditions as follows: start the simulation at redshift and assume that the dark matter has constant density g/cm. Remember to place a black hole of mass  M at . If I failed to provide enough explanations to solve the problem feel free to ask me. Have fun!

Hints: The dark matter should create a spherical halo around the black hole with mass and have a total mass within the halo radius that increases with decreasing redshift as .

PROJECT 2: PARALLELIZATION OF N-BODY CODE USING OPENMP
Parallelize using OPENMP the N-body code you wrote for HW6. Use the N-body code to simulate an interesting astrophysical problem: a globular cluster of stars, a collision between two galaxies, collapse of dark matter in an expanding universe, etc. Plot the execution time as a function of the number of particles and as a function of the number of OPENMP threads (for a fixed N). Produce a movie of the simulation.

PROJECT 3: PARALLELIZATION OF N-BODY CODE USING CUDA
Rewrite part or all the PP N-body code you wrote for HW6 to be run on GPUs. You can use CUDA programming language (Nvidia GPUs) or any other programming language for GPUs. Repeat PS6 and compare the performance of CPU and GPU as you increase the number of N-body particles. The essential part of the code that needs to run on GPU is the PP part (direct summation of particle forces).

PROJECT 4: 3D RENDERING OF VOLUMES
Learn how to use a visualization program like YT, Visit, ParaView, etc. Obtain a 3D data set from a simulation (from me or visualize your own simulation) and produce different types of visualization: slices, volume rendering, 3D contour plots. Produce a movie of a fly trough the simulation or rotate the volume slowly.