You are here:
Home >
Activities >
Computational Science >
N-Body Simulations
The logical generalization would be to talk about the gravitational
many-body problem when addressing the study of star clusters.
Unfortunately, the term many-body simulations is unlikely to
become popular, given that the name N-body simulations has by
now been entrenched. So we'll stick with the latter term, while
making a modest push for the former term by calling our master website
manybody.org (the historical
reason behind the term N-body rather than, say k-body or p-body for
that matter, were probably connected with the original Fortran
conventions that letters such as n automatically stood for integers,
and that all letter were capitalized). The project on which I am
spending most of my time these days is the
Art of Computational Science.
|
Although Aarseth's codes had been well honed over time, and were clearly pretty efficient based on empirical criteria, no theoretical study had been done to determine the optimum choice of parameters for the central integration engine. We conducted the first such analysis in Performance Analysis of Direct N-Body Calculations, by Makino, J. & Hut, P., 1988, Astrophys. J. Suppl., 68, 833-856. There we showed that Aarseth's choice had been close to optimal, with only modest improvement still possible in the parameter choices for the Ahmed-Cohen two-timescale method.
Our study was only aimed at systems with single stars. When it became clear from observations that many star clusters contain a large fraction of their stars in primordial binaries, we repeated our analysis for the case that a significant number of binaries are present from the beginning. Our results were published as Bottlenecks in Simulations of Dense Stellar Systems, by Makino, J. & Hut, P., 1990, Astrophys. J. 365, 208-218.
Having proven the efficiency of contemporary N-body codes for scalar machines, we started to test those codes on a variety of vector supercomputers and parallel machines.
|
Given the great problems we encountered in modeling star cluster evolution in efficient ways on existing computers, we made a definitive study of what it would take to simulate a small globular cluster, containing 100,000 stars. Our result were published in Modelling Globular Cluster Evolution, by Hut, P., Makino, J. & McMillan, S., 1988, Nature, 336, 31-35. We concluded that it would take a computer with an effective speed of 1 Teraflops, a speed orders of magnitude above what was available then. And given the low efficiency of general-purpose parallel computers, we would probably have to wait for a computer running at 10 Teraflops or more in order to get the effective speed we needed. It was at this point that we decided to start the GRAPE project, one year later.
We also had a few more specific goals in mind. First, we saw the need for a fully recursive implementation of regularization techniques. Although the Aarseth codes automentically provided local coordinate patches for strongly interacting subsystems such as stellar multiples, we foresaw the need to implement even smaller and more localized patches within such patches. And rather than handcoding for all possible subdivisions, we decided to use a new data structure in the form of a flat top level tree with a hierarchical binary tree for each interacting group of particles. Second, we prefered a fully object-oriented approach, in order to make the code more modular and easier to maintain and modify. This led us to write it using the C++ language. And third, we tried to minimize the tasks relegated to the central integrator code, while keeping as much as possible other tasks related to set-up and analysis reserved for separate programs.
The result was the Kira code,
as we called the integrator, and the development of an embedding
environment, Starlab.
We started the development of Starlab in 1992, after rewriting an
earlier version, written in C, that I had developed during my
sabbatical at Tokyo University in 1989. Starlab was inspired by
Nemo, an earlier
environment for simulations in stellar dynamics, but optimized for
collisionless stellar dynamics, i.e. for simulating the dynamics of
galaxies and clusters of galaxies, rather than star cluster. The
first versions of Nemo were developed during 1986-1988, and described
briefly in
An Environment for Experiments in Stellar Dynamics, by
Barnes, J., Hernquist, L. E., Hut, P. & Teuben, P. 1998,
Bulletin of the American Astronomical Society, Vol. 20, p.706.
For a review of the Starlab environment, and its connections to archiving, visualization, and virtual observatories, see: The Starlab Environment for Dense Stellar Systems, by Hut, P., 2002, in Astrophysical Supercomputing Using Particle Simulations, IAU Symposium 208, ed.: P. Hut and J. Makino.
|
Some preliminary results have been published in two papers, Immersive 4D Interactive Visualization of Large-Scale Simulations, by Teuben, P.J., Hut, P., Levy, S., Makino, J., McMillan, S., Portegies Zwart, S., Shara, M., & Emmart, C.; 2001, in Astronomical Data Analysis Software and Systems X, ASP Conference Series, Vol. 238 (San Francisco: ASP) eds. Harnden, Jr. F.R., Primini, F.A., & Payne, H.E. (San Francisco: ASP), 499-502 (available in preprint form as astro-ph/0101334); and Theory in a Virtual Observatory, by Teuben, P., DeYoung, D., Hut, P., Levy, S., Makino, J., McMillan, S., Portegies Zwart, S., Slavin, S, 2002, in ASP Conf. Ser., Vol. xxx, Astronomical Data Analysis Software and Systems XI (available in preprint form as astro-ph/0111478). Some of the main issues have also been addressed in a Panel Discussion on Observing Simulations and Simulating Observations, by Hut, P., Cool, A., Bailyn, C., McMillan, S., Livio, M. & Shara, M.; 2002, in Stellar Collisions, Mergers, and their Consequences, ASP Conference Series, ed.: M. Shara (available in preprint form as astro-ph/0105197).
|
After the pure stellar dynamics comparisons, Douglas took on a far more daunting task, that of comparing simulations that included stellar evolution effects. The potential diversity of approaches, and the number of free parameters, becomes far larger than it already was for the gravity-only case. The first effort at such a comparison was launched again in Japan, in 2001, but this time in Tokyo, during IAU symposium 208 which Jun Makino and I organized there in the summer. In order to stress the connection with the previous collaborative experiment, Douglas decided to call this extended experiment Kyoto II. It is still underway, and the results are likely to be discussed in more detail by 2003 (note that Douglas has listed the year 2012 as his estimate target for the publication of the definite paper for this experiment ....).
|
While there are many books on programming and on algorithms, there are hardly any books on the art and science of setting up a complete software environment for scientific simulations. Using stellar dynamics as an example, we construct such an environment from scratch, while providing the software and documentation with it. Our hope is that others will add to our effort, by extending our example to other areas of (astro)physics as well as other scientific disciplines.
See also:
Back to activities or to table of contents.
Back to Piet Hut's home page.