Moving Planets Around

An Introduction to N-Body Simulations Applied to Exoplanetary Systems

ISBN: 9780262364980 | Copyright 2020

Click here to preview

Instructor Requests

Digital Exam/Desk Copy Ancillaries
Tabs

An introduction to the laws of celestial mechanics and a step-by-step guide to developing software for direct use in astrophysics research.

This book offers both an introduction to the laws of celestial mechanics and a step-by-step guide to developing software for direct use in astrophysics research. Moving Planets Around closes the gap between the exhaustive exposition of theory in conventional textbooks and real-world applications. The text is written engagingly in dialogue form, presenting the research journey of the fictional Alice, Bob, and Professor Starmover. Moving Planets Around not only educates students on the laws of Newtonian gravity, it also provides all that they need to start writing their own software, from scratch, for simulating the dynamical evolution of planets and exoplanets, stars, or other heavenly bodies.

The first half of the book develops a fully functional N-body integrator, using state-of-the art integration techniques, explaining both the techniques and the reasons that they are useful. The second half of the book focuses on using an advanced integration scheme to conduct real research, leading students in an investigation of the long-term dynamical stability of extrasolar circumbinary planets. At the end of the journey, students will be ready to design, conduct, and publish peer-review quality research.

Expand/Collapse All
Moving Planets Around (pg. i)
Title (pg. iii)
Acknowledgments (pg. vii)
Contents (pg. ix)
List of Code Snippets (pg. xiii)
Foreword (pg. xvii)
Prologue (pg. xxiii)
A Bestiary of Planets (pg. 1)
1.1 Many Moons��������������������� (pg. 1)
1.2 Multiple Star Systems�������������������������������� (pg. 2)
1.3 Dead Stars��������������������� (pg. 2)
1.4 Supermassive Black Holes����������������������������������� (pg. 3)
1.5 The Cast of Characters��������������������������������� (pg. 4)
Multiplanet Systems (pg. 7)
2.1 Newton’s Laws������������������������ (pg. 7)
2.2 Coordinate Systems����������������������������� (pg. 10)
2.3 The Two-Body Problem������������������������������� (pg. 14)
2.4 The General N-body Problem������������������������������������� (pg. 23)
2.5 Multiplanet Systems������������������������������ (pg. 25)
First Two-Body Code (pg. 35)
3.1 Choosing a Programming Language������������������������������������������ (pg. 35)
3.2 Forward Euler Integrator����������������������������������� (pg. 40)
Accuracy and Performance of the Integration (pg. 49)
4.1 Structuring the Code������������������������������� (pg. 50)
4.2 Speeding up the Code: Allocating Arrays�������������������������������������������������� (pg. 55)
4.3 Checking the Conservation Laws����������������������������������������� (pg. 59)
Fixed Step-Size Integration (pg. 65)
5.1 Truncation and Round-Off Errors������������������������������������������ (pg. 65)
5.2 Runge–Kutta Methods������������������������������ (pg. 68)
5.3 Multistep Methods���������������������������� (pg. 73)
5.4 Leapfrog Integrator������������������������������ (pg. 75)
5.5 Symplectic Integrators��������������������������������� (pg. 78)
5.6 Numerical Performance�������������������������������� (pg. 82)
Variable Step-Size Integration (pg. 87)
6.1 Estimating the Local Truncation Error������������������������������������������������ (pg. 88)
6.2 Step-Size Control���������������������������� (pg. 91)
6.3 Initial Step Size���������������������������� (pg. 94)
6.4 Implementing Flexibility����������������������������������� (pg. 96)
6.5 Numerical Performance�������������������������������� (pg. 98)
6.6 Thoughts on Choosing the Integration Method���������������������������������������������������� (pg. 101)
6.7 Code Review���������������������� (pg. 102)
The Three- and N-Body Problems (pg. 107)
7.1 From the Two-Body to the Three-Body problem���������������������������������������������������� (pg. 107)
7.2 The N-Body Problem����������������������������� (pg. 115)
Gauss–Radau Integrator of Fifteenth Order (pg. 125)
8.1 Preparing the Second-Order System�������������������������������������������� (pg. 126)
8.2 Numerical Quadratures: Choosing the Right Sequence��������������������������������������������������& (pg. 127)
8.3 Approximating the Integrand Using a Polynomial���������������������������������������������������& (pg. 132)
8.4 Approximating the Force Function������������������������������������������� (pg. 134)
8.5 Computing the Coefficients������������������������������������� (pg. 136)
8.6 Radau Sequence and Integration Order����������������������������������������������� (pg. 139)
8.7 Coding the Main Components of the Integrator���������������������������������������������������� (pg. 141)
8.8 Advancing One Integration Step����������������������������������������� (pg. 144)
8.9 The Complete Integrator���������������������������������� (pg. 149)
8.10 Testing the Integrator���������������������������������� (pg. 153)
8.11 Code Review����������������������� (pg. 157)
Symplectic Map for Long-Term Integration (pg. 165)
9.1 Understanding Time Scales������������������������������������ (pg. 166)
9.2 Long-Term Evolution������������������������������ (pg. 168)
9.3 Wisdom–Holman Integrator����������������������������������� (pg. 172)
9.4 Propagating the Solar System for a Million Years��������������������������������������������������� (pg. 189)
9.5 Code Review���������������������� (pg. 194)
Building a Production Code (pg. 199)
10.1 An Object-Oriented Discussion����������������������������������������� (pg. 199)
10.2 Requirement Analysis: What Do We Want Our Code to be�������������������������������������������������&# (pg. 201)
10.3 Constructing the Software Framework����������������������������������������������� (pg. 203)
10.4 Accelerating the Code Using Native C������������������������������������������������ (pg. 221)
Defining the Project (pg. 245)
11.1 What Project to Tackle���������������������������������� (pg. 245)
11.2 Circumbinary Planets�������������������������������� (pg. 247)
Setting Up the Project (pg. 251)
12.1 Initial Conditions������������������������������ (pg. 251)
12.2 The First Simulation�������������������������������� (pg. 259)
12.3 Running on a Cluster�������������������������������� (pg. 262)
Running and Analyzing the Simulations (pg. 267)
13.1 Problems with the Simulations����������������������������������������� (pg. 267)
13.2 A Suite of Integrations for Kepler-16������������������������������������������������� (pg. 275)
13.3 The Other Kepler Systems������������������������������������ (pg. 282)
How to Write a Publishable Research Paper (pg. 289)
14.1 Abstract�������������������� (pg. 290)
14.2 Introduction������������������������ (pg. 290)
14.3 Methods������������������� (pg. 292)
14.4 Results������������������� (pg. 294)
14.5 Discussion���������������������� (pg. 296)
14.6 Summary������������������� (pg. 297)
Conclusions (pg. 299)
15.1 Physics of the N-Body Problem����������������������������������������� (pg. 299)
15.2 Programming Languages��������������������������������� (pg. 300)
15.3 Numerical Integrators��������������������������������� (pg. 301)
15.4 Research Project���������������������������� (pg. 301)
15.5 Publishing the Results���������������������������������� (pg. 302)
Derivation of Kepler’s Third Law and the Kepler Equation (pg. 305)
A.1 The Kepler Equation������������������������������ (pg. 305)
A.2 Conserved Quantities in the N-Body Problem����������������������������������������������������& (pg. 308)
Keplerian Propagator in Universal Variables (pg. 313)
B.1 Stumpff Functions���������������������������� (pg. 314)
B.2 Solving the Universal Kepler Equation������������������������������������������������ (pg. 315)
B.3 Two-Body Propagator������������������������������ (pg. 316)
Introduction to Matrices (pg. 321)
Derivations in the Lidov–Kozai Problem (pg. 325)
D.1 The Three-Body Hamiltonian������������������������������������� (pg. 325)
D.2 Averaging the Hamiltonian������������������������������������ (pg. 329)
D.3 The Equations of Motion���������������������������������� (pg. 337)
D.4 Analytic Solutions in the Test Particle Quadrupole-Order Limit�����������������������������������������������& (pg. 344)
Bibliography (pg. 351)
Index (pg. 355)
eTextbook
Go paperless today! Available online anytime, nothing to download or install.