|
The Art of Computational Science
The Kali Code for Dense Stellar Systems
|
|
The Kali project is directed toward the construction of a
laboratory for dense stellar systems, such as star clusters, star
forming regions, and galactic nuclei containing one or more massive
black holes. The presentation is centered around dialogues between two
astrophysicists, Alice and Bob, who are in the process of constructing the
Kali code from scratch.
Below we list the available volumes. By clicking on the title, you
will be redirected to the respective web pages. If you prefer to read
each volume in postscript or pdf format, click on the word "PS" or
"PDF" listed after each title.
-
0.
A Vision:
Dealing with Dense Stellar Systems
(PS
/ PDF)
-
in which Alice and Bob discuss the growing need for simulations
of dense stellar systems.
-
They wonder how to give students hands-on access to this exciting area
of astrophysics.
-
Alice is ready to build some toy models; Bob remains skeptical whether
that's really useful.
-
1.
The 2-Body Problem:
Forward Euler, in Ruby
(PS
/ PDF)
-
in which Alice and Bob explore the scripting language Ruby, as an
alternative to Fortran or C++.
- they use Ruby to define a vector class and build a very simple
2-body integrator.
-
Bob is still skeptical, but he is also getting more curious.
-
2.
The 2-Body Problem:
Higher-Order Integrators
(PS
/ PDF)
-
in which Alice and Bob play with higher-order integrators.
-
Bob gets carried away, implementing one integrator after another, up to
eighth order.
-
They wind up with a Hermite scheme, multi-step methods, and
symplectic integrators.
-
3.
Integration Algorithms:
Exploring the Runge-Kutta Landscape
(PS
/ PDF)
-
in which Alice and Bob reconstruct the most basic notions of integrators
-
They see the leapfrog scheme in a new light, as a version of a
Runge-Kutta-Nystrom scheme.
-
They find whole new families of low-order integrators they
hadn't seen in textbooks.
-
4.
The N-Body Problem:
From Leapfrog to Runge-Kutta
(PS
/ PDF)
-
in which Alice and Bob construct various N-body codes, up to fourth order,
with fixed time steps.
-
They strongly feel the need for a better user interface and I/O format,
higher speed and graphics.
-
After some debate, they decide to provide a robust foundation
for their virtual lab.
-
5.
Documentation through Dialogues:
Open Knowledge
(PS
/ PDF)
[in preparation]
-
in which Alice and Bob settle on a standard way to document their
lab building process.
-
They hit upon the `open knowledge' concept
as an extension of the notion of `open source.'
-
This is the first step, in laying their lab foundation.
-
6a.
User Interface:
Command Line Arguments I
(PS
/ PDF)
-
in which Alice and Bob design a flexible interface, including command line
options.
-
In the process, they add a detailed help facility and general documentation
option.
-
This is the second step, in laying their lab foundation.
-
6b.
User Interface:
Command Line Arguments II
(PS
/ PDF)
[in preparation]
-
in which Alice and Bob extend their command line options interface.
-
They improve the help facility, turning it even more into an on-line
manual.
-
They allow more detailed handling of default vs. user-provided data.
-
7.
Code Management:
Libraries, Versions, and Compatibility
(PS
/ PDF)
[incomplete]
-
in which Alice and Bob wonder how to organize different versions of their
codes into libraries.
-
They design a flexible mechanism with a default based on a
time stamp in each code.
-
This is the third step, in laying their lab foundation.
-
8.
ACS Data Format:
Self-Describing Data Files
(PS
/ PDF)
[incomplete]
-
in which Alice and Bob tackle the problem of unstructured piles of data.
-
They design a structured ACS data format, including a story mechanism for
self-describing data.
-
This is the fourth step, in laying their lab foundation.
-
9.
Initial Conditions:
Plummer's Model
(PS
/ PDF)
-
in which Alice and Bob create a standard star cluster model
for starting N-body simulations.
-
They apply rejection techniques and other numerical methods.
-
In the process, they learn a lot about potential-density pairs, phase
space, dimensional analysis.
-
10.
Integration Algorithms:
Symplectic Schemes
(PS
/ PDF)
-
in which Alice and Bob explore symplectic integration schemes.
-
They start with a surprising algorithm by Chin and Chen.
-
They then delve deeper into the theory behind symplecticity.
-
11.
Shared Time Steps:
Phase Space Diagnostics
(PS
/ PDF)
-
in which Alice and Bob construct their first adaptive time step code.
-
They implement all integration schemes developed earlier in their
two-body codes.
-
They write a tool to measure distance between N-body snapshots
in 6N-dimensional phase space.
-
12.
A Matter of Speed:
C Modules for Ruby
(PS
/ PDF)
[incomplete]
-
in which Alice and Bob tackle the slow speed of Ruby, as a scripting language.
-
They achieve good speedup, in several different ways that are easy to
implement.
-
This is the fifth step, in laying their lab foundation.
-
13.
Individual Time Steps:
A Four-Dimensional View
(PS
/ PDF)
-
in which Alice and Bob construct their first individual time step code.
-
They switch to a four-dimensional viewpoint, for an N-worldline code
rather than an N-body code.
-
They separate orbit integration from I/O, guaranteeing fully accurate
restarts and diagnostic reports.
-
14.
Individual Time Steps:
Individual Integration Schemes
(PS
/ PDF)
[in preparation]
-
in which Alice and Bob add various integrators to their individual
time step code.
-
In addition to Hermite, leapfrog, and forward Euler they implement a
version of Aarseth's scheme.
-
In doing so, they allow each particle to be integrated using its own
individual choice of algorithm.
-
15.
Individual Time Steps:
Arbitrary Order Integrators
(PS
/ PDF)
[in preparation]
-
in which Alice and Bob continue to modularize their four-dimensional
N-worldline code.
-
They separate integration schemes from force calculations, scheduling
and administrative aspects.
-
They implement integration schemes for arbitrarily high order.
-
16.
N-Body Experiments:
Graphics
(PS
/ PDF)
[in preparation]
-
in which Alice and Bob finally visualize the dance of their particles,
as a simple movie.
-
They also start making some graphs, to display physical quantities
measured in their experiments.
-
This is the sixth and final step, in laying their lab foundation.
-
17.
Laboratory Tools:
Reporting and Visualizing Physical Processes
(PS
/ PDF)
[in preparation]
-
in which Alice and Bob write visualize the evolution of
density and temperature in cluster models.
-
They write little tools to report Lagrangian radii, core radii, and
information about escapers.
-
They create phase space diagnostic tools, to visualize the
evolution of the distribution function.
-
18.
Laboratory Experiments:
Simulating a Lab Assistant
(PS
/ PDF)
[in preparation]
-
in which Alice and Bob write a
program to characterize an N-body snapshot.
-
They have fun playing with concepts from artificial intelligence.
-
They realize how essential it is to have good tools for data reduction
of piles of experimental runs.
-
19.
Decoupling Local Motions:
Binary Trees
(PS
/ PDF)
[in preparation]
-
in which Alice and Bob introduce the Kali code,
to handle close encounters and binary formation.
-
They introduce local coordinate systems, automatically and adaptively
generated by the code.
-
They introduce binary trees to allow recursive layers of
local coordinate refinement.
-
20.
Decoupling Local Motions:
Large Mass Ratios
(PS
/ PDF)
[in preparation]
-
in which Alice and Bob extend their local treatment to
systems with supermassive black holes.
-
They introduce coordinates for stars to circle
around black holes like planets around the sun.
-
They face efficiency issues, and solve those by staggering force
calculations along tree branches.
-
21.
Initial Conditions:
Polytropes and King Models
(PS
/ PDF)
[in preparation]
-
in which Alice and Bob develop tools for constructing whole families
of initial star cluster models.
-
They generalize the Plummer model to create arbitrary polytropes.
-
They introduce the King family of models with truncated isothermal
energy distribution functions.
Back to the ACS home page.