
The Art of Computational Science
The Maya Open Lab for Dense Stellar Systems


[ Here will appear an introductory paragraph for the 10,000page
Development Series for the Maya project ]
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 handson 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 2Body 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
2body integrator.

Bob is still skeptical, but he is also getting more curious.

2.
The 2Body Problem:
HigherOrder Integrators
(PS
/ PDF)

in which Alice and Bob play with higherorder integrators.

Bob gets carried away, implementing one integrator after another, up to
eighth order.

They wind up with a Hermite scheme, multistep methods, and
symplectic integrators.

3.
Integration Algorithms:
Exploring the RungeKutta 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
RungeKuttaNystrom scheme.

They find whole new families of loworder integrators they
hadn't seen in textbooks.

4.
The NBody Problem:
From Leapfrog to RungeKutta
(PS
/ PDF)

in which Alice and Bob construct various Nbody 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:
Acsdoc
(PS
/ PDF)
[incomplete]

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 online
manual.

They allow more detailed handling of default vs. userprovided 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:
SelfDescribing 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
selfdescribing data.

This is the fourth step, in laying their lab foundation.

9.
Figures:
Virtual Plotting
(PS
/ PDF)
[in preparation]

in which Alice and Bob start making graphs, to display physical quantities
for their experiments.

They decide to construct a uniform interface for different plotting packages.

This is the fifth step, in laying their lab foundation.

10.
Visualization:
Acsvis
(PS
/ PDF)
[in preparation]

in which Alice and Bob visualize the dance of their particles,
as a movie, with various controls.

They also start incorporating interactive features, such as particle
tagging and a script interface.

This is the sixth and final step, in laying their lab foundation.

11.
Initial Conditions:
Plummer's Model
(PS
/ PDF)

in which Alice and Bob create a standard star cluster model
for starting Nbody simulations.

They apply rejection techniques and other numerical methods.

In the process, they learn a lot about potentialdensity pairs, phase
space, dimensional analysis.

12.
Integration Algorithms:
Symplectic Schemes
(PS
/ PDF)
[in preparation]

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.

13.
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
twobody codes.

They write a tool to measure distance between Nbody snapshots
in 6Ndimensional phase space.

14.
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.

They combine their speedup with tricks to speed up assembly code on standard
microprocessors.

15.
Individual Time Steps:
A FourDimensional View
(PS
/ PDF)

in which Alice and Bob construct their first individual time step code.

They switch to a fourdimensional viewpoint, for an Nworldline code
rather than an Nbody code.

They separate orbit integration from I/O, guaranteeing fully accurate
restarts and diagnostic reports.

16.
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.

17.
Individual Time Steps:
Arbitrary Order Integrators
(PS
/ PDF)
[in preparation]

in which Alice and Bob continue to modularize their fourdimensional
Nworldline code.

They separate integration schemes from force calculations, scheduling
and administrative aspects.

They implement integration schemes for arbitrarily high order.

18.
NBody Experiments:
Orchestrating and Analyzing Multiple Runs
(PS
/ PDF)
[in preparation]

in which Alice and Bob find the time of first binary formation,
starting with a Plummer model.

They write tools to orchestrate the automatic performance and analysis
of many runs.

They produce a graph of first binary formation as a function of N.

19.
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.

20.
Laboratory Experiments:
Simulating a Lab Assistant
(PS
/ PDF)
[in preparation]

in which Alice and Bob write a
program to characterize an Nbody 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.

21.
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.

22.
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.

23.
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.

24.
TimeSymmetric Time Steps:
Exploring Various Approaches
(PS
/ PDF)
[in preparation]

in which Alice and Bob try to impose time symmetry on
otherwise nontimesymmetric algorithms.

They start by adapting their time step criterion to become automatically
time symmetric.

They also explore the use of iteration, to let each integration step
converge to time symmetry.

25.
TimeSymmetric Time Steps:
Block Time Steps
(PS
/ PDF)
[in preparation]

in which Alice and Bob introduce block time steps, as integer powers
of two.

They encounter various problems in their attempts to impose time
symmetry on block time steps.

They overcome these problems by introducing novel ways to extend the
notion of block time steps.

26.
The BarnesHut Tree Code:
A Simple Version
(PS
/ PDF)
[in preparation]

in which Alice and Bob write a simple version of a BarnesHut tree code.

In addition, they write a bunch of short test methods, to check the
dynamical integrity of the tree.

They are surprised to see how short and natural their code looks, in
comparison with a C version.
Back to the ACS home page.