Class NBodySimulation

java.lang.Object
org.episteme.natural.physics.classical.mechanics.nbody.NBodySimulation

public class NBodySimulation extends Object
Direct N-body gravitational simulation (O(n²)). Simulates particle interactions using Newton's law of universal gravitation. For large-scale simulations, use BarnesHutSimulation for O(N log N) complexity.

References:

  • Newton, I. (1687). Philosophiae Naturalis Principia Mathematica.
  • Aarseth, S. J. (2003). Gravitational N-body simulations: tools and algorithms. Cambridge University Press.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • NBodySimulation

      public NBodySimulation()
    • NBodySimulation

      public NBodySimulation(Real G)
  • Method Details

    • setProvider

      public void setProvider(NBodyProvider p)
    • addParticle

      public void addParticle(Particle p)
    • addParticle

      public void addParticle(double x, double y, double z, double mass)
    • getParticles

      public List<Particle> getParticles()
    • setSoftening

      public void setSoftening(Real s)
    • computeForces

      public void computeForces()
    • step

      public void step(Real dt)
    • run

      public void run(Real dt, int steps)
    • kineticEnergy

      public Real kineticEnergy()
    • potentialEnergy

      public Real potentialEnergy()
    • totalEnergy

      public Real totalEnergy()
    • sunEarth

      public static NBodySimulation sunEarth()