Next:
Preface
Up:
ACS Home Page
Moving Stars Around
A Preliminary Version
of what will expand into
Volumes 1,2,3
of the series
The Art of Computational Science
Piet Hut
&
Jun Makino
Institute for Advanced Study
Univ. of Tokyo, Dept. of Astronomy
1 Einstein Drive
7-3-1 Hongo, Bunkyo-ku
Princeton, NJ 08540
Tokyo 113-0033
U.S.A.
JAPAN
piet@ias.edu
makino@astron.s.u-tokyo.ac.jp
Preface
The Art of Computational Science
Extreme Research
Variational Programming
An Open Source Project
Contents
List of Figures
List of Codes
List of Output
List of Exercises
I. Background
1. The Universe in a Computer
1.1 Gravity
1.2 Galactic Suburbia
1.3 Globular Clusters
1.4 Galactic Nuclei
1.5 Star Forming Regions
1.6 Open Clusters
1.7 Writing your own star cluster simulator
II. Exploring
-Body Algorithms
2. Getting Started on the
-Body problem
2.1 Our Setting
2.2 The Gravitational
-Body Problem
2.3 The Gravitational
-Body Problem
3. Exploring
with a Forward-Euler Algorithm
3.1 Choosing an Algorithm
3.2 Writing a Code
3.3 Running a Code
3.4 Extending a Code
3.5 Plotting and Printing
3.6 Finding (slow) Convergence
3.7 Checking Energy Conservation
4. Exploring
with a Leapfrog Algorithm
4.1 Two Ways to Write the Leapfrog
4.2 A Simple Leapfrog for the 2-Body Problem
4.3 Finding Better Convergence
5. Exploring
with a Leapfrog Algorithm
5.1 A More General Leapfrog
5.2 Coordinates in the Center of Mass System
5.3 Setting up Three Stars on a Circle
5.4 Looking for Instabilities
5.5 Priming the Pump
5.6 Reaching Convergence
5.7 The End of the Story
5.8 Three Bodies on a Figure Eight
6. Exploring
with a Hermite Algorithm
6.1 A Surprisingly Simple Hermite Scheme
6.2 Comparison with the Leapfrog
6.3 Snap, Crackle, and Pop
6.4 Implementing Hermite
6.5 Testing the Hermite: Three Stars on a Circle
6.6 The Hermite Soars: Three Bodies on a Figure Eight
III. Writing
-body Codes
7. A General
-Body Hermite Code
7.1 A Wish List
7.2 A Standard
-Body Snapshot Format
7.3 A More Modular Approach: Functions
7.4 Variable Time Steps: a Simple Collision Criterium
7.5 Variable Time Steps: Better Collision Criteria
7.6 Further Improvements
8. A More Modular
-Body Hermite Code
8.1 Starting a Tool Box
8.2 Gravitylab
8.3 Introductory Comments
8.4 Include Statements, Function Declarations, etc.
8.5 The Function
main()
8.6 Command Line Options
8.7 Snapshot Input
8.8 Snapshot Output
8.9 Reporting Diagnostics
8.10 Orbit Integration
8.11 Taking a Single Integration Step
8.12 The Predictor Step
8.13 The Corrector Step
8.14 Where All the Work is Done
8.15 Closing Logo
IV. Performing
-body Experiments
9. Setting up a Star Cluster
9.1 A Model for a Star Cluster
9.2 Implementation: a Sphere in Cold Start
9.3 Testing, testing, . . .
9.4 Chasing the Bug
10. A 25-body Example
10.1 A
-body run
10.2 Making gnuplot movies
10.3 Performing an experiment
11. Fishing for Binaries
11.1 Binary Dynamics
11.2 Finding Binaries
11.3 Finding Tight Binaries
11.4 Dynamically Produced Binaries
About this document ...
Next:
Preface
Up:
ACS Home Page
The Art of Computational Science
2004/01/25