N-Body literature:
http://www.scholarpedia.org/article/N-body_simulations_(gravitational) (behauptet keinen Inhalt zu haben, mit Tricks ist dann doch der Inhalt zu sehen)
http://www.scholarpedia.org/article/Computational_celestial_mechanics :
"The first numerical integrations of the solar system dynamics were performed at the end of last century. G.J. Sussman and J. Wisdom (MIT, USA) (1992 , Science, R.C-B) built the Digital Orrery, a computer devoted to the simulation of a planetary system. Their model ([SW]) was composed by the four giant planets (Jupiter, Saturn, Uranus, Neptune) and by Pluto. The numerical integration of the equations of motion gives that the external planets are essentially stable over a time of 845 million years, while Pluto shows a chaotic behavior. At the same time J. Laskar (Bureau des Longitudes, Paris) applied a numerical procedure based on Leverrier perturbation theory (see [L]). The results, also extended and refined in later works, concerned the dynamics of all planets except Pluto over an interval from -15 to +10 Gyr. The giant planets (from Jupiter to Neptune) are confirmed to be regular, a moderate chaotic behavior is observed for Venus and the Earth, while Mercury and Mars provide a definite chaotic dynamics with large excursions of the eccentricity of Mercury, possibly increasing beyond 0.6 in 5 Gyr. Laskar results show that one cannot make long predictions on the dynamics of the inner solar system: after 100 million years, an error of 15 meters in the initial position of the Earth leads to an error comparable to the Earth-Sun distance. On the other hand, T. Ito and K. Tanikawa, performing direct numerical integrations over +-4 Gyr, found an overall stability of the planetary motion with just a moderate chaotic diffusion of the eccentricity of Mercury. The contribution of general relativity was also considered and led to substantial changes as far as the perihelion frequency of Mercury is concerned. In contrast to the Newtonian model where large chaotic zones are observed, general relativity does not present orbits trapped in a g1=g2 resonance (i.e., a resonance between the frequencies of perihelion of Mercury and Jupiter). " (some non-printable characters replaced by R.C-B)
Java N-Body Code http://introcs.cs.princeton.edu/34nbody/https://en.wikipedia.org/wiki/Numerical_model_of_the_Solar_System
https://en.wikipedia.org/wiki/N-body_simulation
http://www.scholarpedia.org/article/N-body_simulations
www.artcompsci.org/msa/web/vol_1/v1_web/v1_web.htmlhttps://assets.cambridge.org/97805211/21538/excerpt/9780521121538_excerpt.pdf
https://patrickyoussef.com/blog/nbody/
rosetta code nbody problem
https://gereshes.com/2018/05/07/what-is-the-n-body-problem/
https://www.ast.cam.ac.uk/research/nbody
https://wwwmpa.mpa-garching.mpg.de/gadget/
https://bima.astro.umd.edu/nemo/
http://www.scholarpedia.org/article/Three_body_problem
http://www.scholarpedia.org/article/Computational_astrophysics#N-body_Codes
GADGET-2.0 Springel et al. (2005) galactic dynamics SPH tree code: https://wwwmpa.mpa-garching.mpg.de/galform/gadget/#download oder https://wwwmpa.mpa-garching.mpg.de/gadget/ The code can be run on essentially all supercomputer systems presently in use, including clusters of workstations or individual PCs.
amuse: https://github.com/amusecode/amuse https://amuse.readthedocs.io/en/latest/
N-Body starter code https://www.ias.edu/ids/~piet/act/comp/algorithms/starter/nbody_sh1https://github.com/toksaitov/nbody-starter/blob/master/nbody.c
direct3d https://github.com/kevinmoran/BeginnerDirect3D11
with Cuda https://github.com/harrism/mini-nbody
Some n-body links from 2019: https://www.sunorbit.net/nbody_links.htm and https://www.sunorbit.net/nbody_arxiv.htm
Sverre Aarseth’s N-Body website http://www.ast.cam.ac.uk/~sverre/web/pages/nbody.htmMERCURY Chambers et al. (2000)
celestial mechanics symplectic, newer versions from different groups,direct
N-Body Fortran code
SyMBA Duncan et al. (1998) celestial mechanics symplectic,
direct N-Body
AREPO Springel
et al. (2010) galactic dynamics moving mesh code
REBOUND c-lib . Integrators: REB_INTEGRATOR_IAS15 ‣ REB_INTEGRATOR_WHFAST ‣ REB_INTEGRATOR_JANUS ‣ REB_INTEGRATOR_LEAPFROG ‣ REB_INTEGRATOR_SEI ‣ REB_INTEGRATOR_MERCURIUS ‣ REB_INTEGRATOR_HERMES ... see espec. wh_fast or the standard leapfrog
rebound Two Videos on integrators versus time steps and which integrator for which situation used in rebound: https://rebound.readthedocs.io/en/latest/integrators/ (vielleicht kann Hanno Rein die Videos ja auch auf deutsch einstellen, das /de/-Verzeichnis ist zZ leer und öd)N-Body simulations with REBOUND https://www.tat.physik.uni-tuebingen.de/~schaefer/teach/fum2020/f/rebound_applications.pdf
On the accuracy in the numerical solution of the N-body problem
https://www.cs.cmu.edu/afs/cs/academic/class/15850c-s96/www/nbody.html
Performance analysis of direct N-body calculations
High-accuracy minimum relaxation N-body simulations using orthogonal series force computation An Analysis of N-Body Trajectory Propagation The N-body problem applied to exoplanets
Comparission of three N-body simulation codes, ABACUS, GADGET and SWIFT
Euler solver: https://www.hpcalc.org/details/4453 see also http://www.mymathlib.com/diffeq/eulers_method.html Euler Method http://en.wikipedia.org/wiki/Euler_method
Adams-Bashforth and Adams-Moulton Methods: http://www.mymathlib.com/diffeq/adams/Bulirsch-Stoer http://www.mymathlib.com/diffeq/bulirsch_stoer.html
Modified Midpoint (Gragg's) Method http://www.mymathlib.com/diffeq/graggs_method.html Trapezoidal Method http://www.mymathlib.com/diffeq/trapezoidal_method.htmlmidpoint method https://en.wikipedia.org/wiki/Midpoint_method / Leapfrog integration http://en.wikipedia.org/wiki/Leapfrog_integration / midpoint method http:///www.mymathlib.com/diffeq/midpoint_method.html Stability of the leapfrog/midpoint method
Methods for Second Order Differential Equations http://www.mymathlib.com/diffeq/second_order/Runge-Kutta methods http://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods Runge Kutta http://www.mymathlib.com/diffeq/runge-kutta/
symplektische Integratoren: https://idontgetoutmuch.wordpress.com/2013/08/06/planetary-simulation-with-excursions-in-symplectic-manifolds-6/
Compare HHS with leapfrog integrator, and with the adaptive one (AKDK)
The leapfrog method and other “symplectic” algorithms for integrating Newton’s laws of motion
tip: use c# generics or cpp templates for the integrators
the following 3 links are extremely important to read in nbody coding:
Optimizing in cpp: https://github.com/facontidavide/CPP_Optimizations_Diary some simple design patterns to improve your code
42 SPECIFIC WAYS TO IMPROVE YOUR USE OF C++11 AND C++14 : https://github.com/Ricardo666666/Effective-Modern-Cpp-Zh
Optimizing and faster code in c++ talks, articles, tools, libraries ..... : https://github.com/fenbf/AwesomePerfCpp
c# to cpp transpiler: https://github.com/ASDAlexander77/cs2cpp essential for all who don't want to give away their source codesQuad datatype: https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format some doubledouble: https://www.davidhbailey.com/dhbsoftware/
general c/c++ source code: https://www.projectpluto.com/source.htm
opensph: https://github.com/pavelsevecek/OpenSPH
gandalf: https://github.com/gandalfcode/gandalf
LIBRARY OF ASTROPHYSICAL ROUTINES (C++ & Fortran) https://galprop.stanford.edu/resources.php?option=routines
Athena: https://www.athena-astro.app/
Pluto: http://plutocode.ph.unito.it/
Splotch: https://wwwmpa.mpa-garching.mpg.de/~kdolag/Splotch/
ccfits: https://heasarc.gsfc.nasa.gov/docs/software/fitsio/CCfits/ wrapper for fitsio
HOPE - combine the ease of Python and the speed of C++ https://cosmology.ethz.ch/research/software-lab/HOPE.html
Atropy astrophysics with python: https://sourceforge.net/projects/astropy.mirror/ or https://www.astropy.org/Astrotools: https://sourceforge.net/projects/astrotools/
AstroLab: https://sourceforge.net/projects/conquestofspace/
AstroSim: https://sourceforge.net/projects/astrosim/
QuantumSim: https://sourceforge.net/projects/quantumsim/
Astronomy source codes: http://www.moshier.net/
Bridge++ is a code set for numerical simulations of lattice gauge theories including QCD (Quantum Chromodynamics) https://bridge.kek.jp/Lattice-code/
ZEUS hydrodynamics code https://www.astro.princeton.edu/~jstone/zeus.html
PJ Naughters AA+ lib http://www.naughter.com
Astrophysics source code lib: https://ascl.net/
Astrophysics source code http://tdc-www.harvard.edu/astro.software.html
github astronomy: https://github.com/topics/astronomy
python astronomy: https://github.com/jonathansick/awesome-astronomy
NEMO is an extendible Stellar Dynamics Toolbox https://teuben.github.io/nemo/ github: https://github.com/teuben/nemo
Astroalign: https://astroalign.quatrope.org/en/latest/ github: http://quatrope.github.io/astroalign
Utilitys, physics engines, math packages, quad datatype, doubledouble, graphics viewers etc : https://sunorbit.net/utils.htm Intro to gpu programming: https://sunorbit.net/gpu_prg.htm
much of the codes in astrophysics are still in Fortran, so here are Fortran to C-translators:
https://simulationcorner.net/index.php?page=if2c incomplete translator
Fortran to c++ : https://github.com/CalvinNeo/CFortranTranslator tries to maintane Fortran efficiency
the old f2c: https://netlib.org/f2c/
Python to C/Cpp translators (as with the Fortran to C translators there is still some manual editing necessary):
compiler/extensions:
Java to cpp:
Horizons System: https://ssd.jpl.nasa.gov Details of the objects in the Solar system except for the rise and set times. Contains also the orbital data of comets.
SIMBAD Astronomical DatabaseHeavens Above: https://www.heavens-above.com Rise and set times of Sun, Moon and planets. The azimuth of the rise and set times you find by setting the time to the rise or set and reading the value for the azimuth.
aavso: https://www.aavso.org/jd-calculator Convert to and from Julian dates.
The Sky Live: https://theskylive.com has the rise and set times of the Sun,Moon and planets. Contains the orbital details of comets.
http://www.dibonsmith.com/elements.htm Source of binary star orbits.
DSS Online Digitized Sky Survey