Project Description for the
DFG Call on
Research Software
Sustainability
NBODY - astrophysics for star clusters,
galactic nuclei, black holes
List of International Teams
In the following we will list all teams who have explicitly confirmed their interest in recent days to
participate in this project, in the sense that they use NBODY codes for their scientific projects,
that they are contributing with scientific input to the code in their specific fields and that they
highly appreciate the improvement of accessibility and usability of our software as it will be
provided here.
- Morgan MacLeod, NASA Einstein Fellow, Institute for Advanced Study,
morganmacleod@gmail.com
- Aaron Geller, Northwestern University CIERA & The Adler Planetarium,
a-geller@northwestern.edu
- Sambaran Banerjee, Argelander Inst. For Astronomy, Univ. Bonn,
sambaran@astro.uni-bonn.de
- Peter Berczik, Main Astronomical Observatory Acad. Of Sciences, Kiev,
berczik@mao.kiev.ua
- Michael Fellhauer, Faculty Member, Univ. Concepcion. mfellhauer@astro-udec.cl
- Michele Trenti, Senior Lecturer and ARC Future Fellow, Univ. of Melbourne,
michele.trenti@unimelb.edu.au
- Holger Baumgardt, Faculty Member, Univ. of Queensland, h.baumgardt@uq.edu.au
- Peter H. Johansson, Associate Professor of Astrophysics, Dept. of Physics, Univ. of
Helsinki, peter.johansson@helsinki.fi
- Douglas C. Heggie and Phil Breen, Dept. of Maths. And Stats, Univ. of Edinburgh,
d.c.heggie@ed.ac.uk, Phil.Breen@ed.ac.uk
- Marina Ryabova, Denis Ryabov, Southern Federal Univ., Rostov-on-Don,
mryabova@sfedu.ru
- Enrico Vesperini, Faculty Member, Indiana Univ., evesperi@indiana.edu
- Giacomo Fragione, Racah Institute of Physics, Hebrew University of Jerusalem Israel,
giacomo.fragione@mail.huji.ac.il
- Mirek Giersz, Nicolaus Copernicus Astronomical Center, Warsaw, mig@camk.edu.pl
- Ross Church, Research Fellow, Dept. Astronomy & Theoretical Physics, ross@astro.lu.se
- Roberto Capuzzo-Dolcetta, Professor, Univ. of Rome La Sapienza,
roberto.capuzzodolcetta@uniroma1.it
- Maxwell Cai, Postdoc, Sterrewacht Leiden, cai@strw.leidenuniv.nl
- M.B.N. Kouwenhoven, Faculty Member, Xian Jiaotong Liverpool Univ. at Suzhou,
t.kouwenhoven@xjtlu.edu.cn
- Nadine Neumaier, Max-Planck Institute for Astronomy, neumayer@mpia.de , team
members at MPIA Alessandra Mastrobuono-Battisti and Arianna Picotti; and team of Glenn
van de Ven with Anna Sippel
- Michela Mapelli, Astronomical Observatory of Padova, michela.mapelli@oapd.inaf.it
- Jarrod Hurley, Swinburne Univ. Melbourne, Australia, jhurley@swin.edu.au
- Christian Boily, Univ. of Strasbourg, France, christian.boily@astro.unistra.fr
- Ladislav Subr, Charles Univ. Prague, Czech Rep., subr@sirrah.troja.mff.cuni.cz
Dr. Thorsten Naab of the Max-Planck Institute for Astrophysics in Garching is a co-I on
this project.
Dr. Markus Rampp of the Max-Planck Computing and Data Facility will be a team member on the
Max-Planck side as an expert for high performance and accelerated computational astrophysics,
Markus Rampp
Objectives
This is an application oriented research and development project.
The NBODY software in the focus of this project is a “Demonstrator” Sottware in the terms
described in this call.
We have demonstrated in the previous section that the software is used by numerous research
projects and publications internationally, and the basic features of the software have been proven
many times. Its unique features are listed here again for reference:
- Direct NBODY code using individual, hierarchically blocked time steps in combination with
high order (4th, 6th, 8th) time integrators
- Few Body Regularization Techniques for persistent binaries and hierarchical systems
(binary or multiple stars in astrophysical terms)
- Ahmad-Cohen neighbour scheme using different time steps for irregular neighbour force
(intermediate range) and regular force (long range)
- Highly detailed astrophysical prescription of stellar evolution for single and binary stars,
including the development of their mass, radius, luminosity, temperature, and in case of
binaries mass transfer, common envelope and coalescence; also including formation of
compact remnants of stellar evolution, such as white dwarfs, neutron stars, stellar mass
black holes and binaries containing these objects.
- Mass loss and time varying tidal field of the simulated star cluster in a galactic
environment.
- CUDA/GPU acceleration for the regular forces, OpenMP or AVX/SSE acceleration for the
neighbour forces
We find the following barriers for current and future use, in particular for a significant extension of
the current user basis; in spite of these barriers we still have a currently large user basis, and it is
expected that removal of some or all of these barriers will have a significant effect on the future
user basis:
- the management of input and output stems from the time of Fortran 77 and should be
upgrade by modern tools using python and web based applets on the surface and a suite
of service programs beneath to provide user-selected astrophysical input models. The
software Mcluster is already a step into this direction (see
https://github.com/ahwkuepper/mcluster ). The author, Andreas Kuepper, does not support
it anymore, but has allowed us to use parts or all of the code if useful.
- The internal data structure uses Fortran common blocks mainly, which is prohibitive for
parallelisation (MPI, OpenMP, GPU). In the current parallel versions some data copy
operations are used to cure this provisionally, but a generic upgrade of the data structure
using structured more object oriented arrays (as they can now also be used in modern
Fortran) is important to stay on top at the acceleration and parallelization
The current structure of the code is highly non-modular. Dynamics and stellar evolution of
single and binary stars are coupled on the smallest time scales. It is extremely difficult to
replace one package by the other e.g. for stellar evolution or few-body integration. While
this strong coupling has physical reasons, an effort should be made to improve the
situation. A positive example is the AMUSE package, which has a very nice modular
approach. NBODY6++ has been implemented as a python script within AMUSE (Maxwell
Cai, Leiden, personal communication), but many functionalities of NBODY6++ cannot be
fully used in this context yet.
- The final point to mention here in the objectives is not a barrier but an asset:
The current code is based on 40 years of sustained software development, initialized and
inspired by Sverre Aarseth, but most notably with contributions from many people over the
decades such as Seppo Mikkola (regularizations), Jarrod Hurley and Chris Tout (stellar
evolution), Keigo Nitadori (GPU implementation), and our team (parallelization with GPU),
just to mention a few. All the teams listed in the end of Sect. 1., all the scientific results
produced would not have been possible without the effort of the original developers (mostly
astrophysicists) and many more people. It is the most prominent goal of this project to
protect and sustain this previous work for the future, by transferring it into a more modern
software and hardware environment. This is a fundamentally different approach to writing a
new modern software, which other colleagues may want to do; our approach will cause
difficulties and compromises, sacrifices, but we have shown in our past work that significant
progress can be made while keeping the main code characteristsic intact.
All software developed will be open-source and provided through github and/or local services at the
Max-Planck Computing and Data Facility in Garching, the Computer Network and Information
Center in Beijing, and the Astronomisches Rechen-institut at Heidelberg University.