Previous
ToC
Up
Next
Contents
0. Preface
0.1. N-Body Simulations
0.2. Ruby
0.3. Speed
0.4. Programming Issues
0.5. Acknowledgments
1. Setting the Stage
1.1. Ruby
1.2. A Body Class
1.3. The irb Interpreter
2. Introducing the Players
2.1. Creating a Body
2.2. Initializing a Body
2.3. Assigning New Values
2.4. Syntactic Sugar
3. Pretty Printing
3.1. Tinkering with the Output
3.2. A Body-to-String Converter
3.3. Taming the Arrays
3.4. Executing Ruby Files
4. Input and Output
4.1. Double Precision Input/Output
4.2. A Simple Version
4.3. Trying It Out
4.4. A Surprise
5. The Two-Body Problem
5.1. Equations of Motion
5.2. Relative Motion
5.3. Modularity
5.4. The First Integrator
5.5. Writing Clean Code
5.6. Where the Work is Done
6. Orbit Integration
6.1. Two Dimensions
6.2. Forward
6.3. Error Scaling
6.4. A Full Orbit
6.5. Taking Time
6.6. Convergence
7. Debugging
7.1. A Vector Class
7.2. Debugging
7.3. An Extra Safety Check
7.4. And Yet It Is
7.5. Using a Microscope
7.6. Following the Trail
7.7. Extreme Programming
8. Formula Translating
8.1. A Body with Vectors
8.2. Shrinking Code
8.3. FORTRAN
8.4. An Old Friend
8.5. Magic
8.6. A Matter of Taste
8.7.
Voila
9. Energy Conservation
9.1. Estimating Numerical Errors
9.2. A Driver
9.3. The Body Class
10. Diagnostics
10.1. Evolve
10.2. Brevity and Modularity
10.3. Keeping Time
10.4. More Brevity
10.5. Ruby Smiling
10.6. A Here Document
11. Testing Forward Euler
11.1. Starting Again
11.2. Linear Scaling
11.3. A Full Orbit
11.4. Zooming In
11.5. Pericenter Passage
11.6. Apocenter Passage
12. Analytical Checks
12.1. Celestial Mechanics
12.2. The Role of the Masses
12.3. Reduced Mass
12.4. Wrapping It Up
13. Literature References
Previous
ToC
Up
Next