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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcomputeForces(double[] positions, double[] masses, double[] forces, double G, double softening) voidcomputeForces(float[] positions, float[] masses, float[] forces, float G, float softening) voidgetName()intReturns the execution priority (higher is better).booleanChecks if the provider is available in the current environment.voidstep(double[] positions, double[] velocities, double[] masses, int numBodies, double G, double dt, double softening) voidstepFloat(float[] positions, float[] velocities, float[] masses, int numBodies, float G, float dt, float softening) voidstepReal(Real[] positions, Real[] velocities, Real[] masses, int numBodies, Real G, Real dt, Real softening) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface AlgorithmProvider
description, getMetadata, score, shutdownMethods inherited from interface NBodyProvider
getAlgorithmType
-
Constructor Details
-
DistributedNBodyProvider
public DistributedNBodyProvider()
-
-
Method Details
-
getPriority
public int getPriority()Description copied from interface:AlgorithmProviderReturns the execution priority (higher is better).- Specified by:
getPriorityin interfaceAlgorithmProvider
-
isAvailable
public boolean isAvailable()Description copied from interface:AlgorithmProviderChecks if the provider is available in the current environment.- Specified by:
isAvailablein interfaceAlgorithmProvider
-
computeForces
- Specified by:
computeForcesin interfaceNBodyProvider
-
computeForces
public void computeForces(float[] positions, float[] masses, float[] forces, float G, float softening) - Specified by:
computeForcesin interfaceNBodyProvider
-
computeForces
public void computeForces(double[] positions, double[] masses, double[] forces, double G, double softening) - Specified by:
computeForcesin interfaceNBodyProvider
-
stepFloat
public void stepFloat(float[] positions, float[] velocities, float[] masses, int numBodies, float G, float dt, float softening) - Specified by:
stepFloatin interfaceNBodyProvider
-
step
public void step(double[] positions, double[] velocities, double[] masses, int numBodies, double G, double dt, double softening) - Specified by:
stepin interfaceNBodyProvider
-
stepReal
-
getName
- Specified by:
getNamein interfaceAlgorithmProvider- Specified by:
getNamein interfaceNBodyProvider
-