Class DistributedNBodyProvider

java.lang.Object
org.episteme.natural.physics.classical.mechanics.nbody.providers.DistributedNBodyProvider
All Implemented Interfaces:
AlgorithmProvider, NBodyProvider

@AutoService(AlgorithmProvider.class) public class DistributedNBodyProvider extends Object implements NBodyProvider
Distributed N-body simulation provider. Manages domain decomposition and MPI/RPC dispatch.
Since:
1.2
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • DistributedNBodyProvider

      public DistributedNBodyProvider()
  • Method Details

    • getPriority

      public int getPriority()
      Description copied from interface: AlgorithmProvider
      Returns the execution priority (higher is better).
      Specified by:
      getPriority in interface AlgorithmProvider
    • isAvailable

      public boolean isAvailable()
      Description copied from interface: AlgorithmProvider
      Checks if the provider is available in the current environment.
      Specified by:
      isAvailable in interface AlgorithmProvider
    • computeForces

      public void computeForces(Real[] positions, Real[] masses, Real[] forces, Real G, Real softening)
      Specified by:
      computeForces in interface NBodyProvider
    • computeForces

      public void computeForces(float[] positions, float[] masses, float[] forces, float G, float softening)
      Specified by:
      computeForces in interface NBodyProvider
    • computeForces

      public void computeForces(double[] positions, double[] masses, double[] forces, double G, double softening)
      Specified by:
      computeForces in interface NBodyProvider
    • stepFloat

      public void stepFloat(float[] positions, float[] velocities, float[] masses, int numBodies, float G, float dt, float softening)
      Specified by:
      stepFloat in interface NBodyProvider
    • step

      public void step(double[] positions, double[] velocities, double[] masses, int numBodies, double G, double dt, double softening)
      Specified by:
      step in interface NBodyProvider
    • stepReal

      public void stepReal(Real[] positions, Real[] velocities, Real[] masses, int numBodies, Real G, Real dt, Real softening)
      Specified by:
      stepReal in interface NBodyProvider
    • getName

      public String getName()
      Specified by:
      getName in interface AlgorithmProvider
      Specified by:
      getName in interface NBodyProvider