N-Body literature:

Java N-Body Code http://introcs.cs.princeton.edu/34nbody/

N-Body simulation https://www.cambridge.org/catalogue/catalogue.asp?isbn=0521432723

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

https://wwwstaff.ari.uni-heidelberg.de/mitarbeiter/spurzem/lehre/SS17/cuda/nbody6++_manual.pdf    nbody6

https://assets.cambridge.org/97805211/21538/excerpt/9780521121538_excerpt.pdf

https://developer.nvidia.com/gpugems/gpugems3/part-v-physics-simulation/chapter-31-fast-n-body-simulation-cuda gpu code

https://patrickyoussef.com/blog/nbody/

nbody simulation : methods

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/

http://numerical.recipes/

N-Body starter code https://www.ias.edu/ids/~piet/act/comp/algorithms/starter/nbody_sh1

https://cs.brown.edu/courses/csci1950-v/asgn/nbody.pdf

python code https://github.com/hsspratt/Solar-system-nbody

https://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.htm

MERCURY 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


FLASH Flash consortium galactic dynamics, accretion discs, star formation different solvers for gravity: multigrid, tree, …

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

midpoint 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 codes

Quad datatype: https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format  some doubledouble: https://www.davidhbailey.com/dhbsoftware/



Astrophysics source code:

C# Astronomy Library which allows calculations of any date after noon on 1 January, 4713 BC [Scaliger: das kleinste gemeinsame Vielfache von Mondzyklus (19 Jahre), Sonnenzyklus (28 Jahre) und der Indiktion (15 Jahre) ]: https://github.com/GoodOlClint/Astronomy falls Sie einen weiteren Bereich benötigen oder in andere Kalender (chinesische, persisch/iranische!, maya, modifiziert Julianisches Datum...) umrechnen möchten : https://mathematikalpha.de/wp-content/uploads/2017/01/23-Kalenderrechnung.pdf  oder https://en.wikipedia.org/wiki/Calendrical_calculation oder https://reingold.co/cc2-paper.pdf oder https://algorist.com/problems/Calendrical_Calculations.html mit etwas längerer Wartezeit können Sie hier: https://dokumen.pub/qdownload/calendrical-calculations-the-ultimate-edition-1107057620-9781107057623.html calendrical-calculations-the-ultimate-edition herunterladen. Weitere libs: http://meteora.ucsd.edu/~pierce/calcalcs/background.html oder https://www.muquit.com/muquit/software/libcalen/libcalen.html oder https://www.iausofa.org/sofa_ts_c.pdf Holocene calendar: https://en.wikipedia.org/wiki/Holocene_calendar Peter Meyers Kalenderseiten: https://www.hermetic.ch/cal_stud/lunarcal/typesg.htm McKenna-Meyer-Göttinnenkalender: https://multi-calendar.de/Multi/Kalender/goddesslunarcalendar 

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):

the above mentioned HOPE - ease of Python and the speed of C++ https://cosmology.ethz.ch/research/software-lab/HOPE.html

Online converters, such as the JavaInUse compiler

Python to c++ 'transpiler': https://github.com/lukasmartinelli/py14

 

compiler/extensions:

Cython compiler is a C extension into Python github: https://github.com/cython/cython

Pytocs https://github.com/uxmal/pytocs to c#

Transcrypt. can transform Python code to C++ with a straightforward command line interface

Nukita is a compiler that can convert a Python code into C/C++

 

Java to cpp:

Java to cpp: https://github.com/arnetheduck/j2c

 

 

 

Data:

 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 Database

NED (NASA Extragalactic Database)

ESO (European Southern Observatory) Archive

NSSDC (National Space Science Data Center)

PDS (Planetary Data System)

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

MPC's MPCORB.DAT 

Lowell's astorb.dat.

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

MAST (Mikulski Archive for Space Telescopes)

HLA (Hubble Legacy Archive)

IRSA (Infrared Science Archive)

2MASS (Two Micron All Sky Survey, also via IRSA)

HSA (Herschel Science Archive)

HEASARC (High Energy Astrophysics Archive Research Center)

LAMBDA (Legacy Archive for Microwave Background Data Analysis)

Exoplanet Archives:

NASA Exoplanet Archive

Extrasolar Planet Encyclopaedia

Exoplanet Transit Database (ETD)