org.gicentre.utils.network.traer.physics
Class SettlingRungeKuttaIntegrator

java.lang.Object
  extended by org.gicentre.utils.network.traer.physics.Integrator
      extended by org.gicentre.utils.network.traer.physics.RungeKuttaIntegrator
          extended by org.gicentre.utils.network.traer.physics.SettlingRungeKuttaIntegrator

public class SettlingRungeKuttaIntegrator
extends RungeKuttaIntegrator

Class capable of performing a settling Runge Kutta integration. Compared to the Euler integrators this one is slower but is more stable. This version can be forced to stabalise after a given settling period.

Author:
Carl Pearson, Jeffrey Traer Bernstein and minor modifications by Jo Wood.

Nested Class Summary
 
Nested classes/interfaces inherited from class org.gicentre.utils.network.traer.physics.Integrator
Integrator.METHOD
 
Field Summary
static int DEFAULT_SETTLING_AGE
           
 
Fields inherited from class org.gicentre.utils.network.traer.physics.Integrator
s
 
Constructor Summary
SettlingRungeKuttaIntegrator(ParticleSystem s)
          Sets up the integrator to be used by the given particle system.
SettlingRungeKuttaIntegrator(ParticleSystem s, int settlingAge)
          Creates the integrator to be applied to the given particle system with the given settling age.
 
Method Summary
protected  Function<Particle,?> updater(java.util.Map<Particle,Vector3D> k1Forces, java.util.Map<Particle,Vector3D> k1Velocities, java.util.Map<Particle,Vector3D> k2Forces, java.util.Map<Particle,Vector3D> k2Velocities, java.util.Map<Particle,Vector3D> k3Forces, java.util.Map<Particle,Vector3D> k3Velocities, java.util.Map<Particle,Vector3D> k4Forces, java.util.Map<Particle,Vector3D> k4Velocities, java.util.Map<Particle,Vector3D> originalPositions, java.util.Map<Particle,Vector3D> originalVelocities, float deltaT)
          Provides the function that updates the particles in the system.
 
Methods inherited from class org.gicentre.utils.network.traer.physics.RungeKuttaIntegrator
allocateParticles, kApplier, kFunctor, step
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_SETTLING_AGE

public static final int DEFAULT_SETTLING_AGE
See Also:
Constant Field Values
Constructor Detail

SettlingRungeKuttaIntegrator

public SettlingRungeKuttaIntegrator(ParticleSystem s,
                                    int settlingAge)
Creates the integrator to be applied to the given particle system with the given settling age.

Parameters:
s - Particle system to be associated with this integrator.
settlingAge - Age in timestep units over which the system is to stabalise.

SettlingRungeKuttaIntegrator

public SettlingRungeKuttaIntegrator(ParticleSystem s)
Sets up the integrator to be used by the given particle system.

Parameters:
s - Particle system upon which to perform the integration.
Method Detail

updater

protected Function<Particle,?> updater(java.util.Map<Particle,Vector3D> k1Forces,
                                       java.util.Map<Particle,Vector3D> k1Velocities,
                                       java.util.Map<Particle,Vector3D> k2Forces,
                                       java.util.Map<Particle,Vector3D> k2Velocities,
                                       java.util.Map<Particle,Vector3D> k3Forces,
                                       java.util.Map<Particle,Vector3D> k3Velocities,
                                       java.util.Map<Particle,Vector3D> k4Forces,
                                       java.util.Map<Particle,Vector3D> k4Velocities,
                                       java.util.Map<Particle,Vector3D> originalPositions,
                                       java.util.Map<Particle,Vector3D> originalVelocities,
                                       float deltaT)
Provides the function that updates the particles in the system.

Overrides:
updater in class RungeKuttaIntegrator
Parameters:
k1Forces -
k1Velocities -
k2Forces -
k2Velocities -
k3Forces -
k3Velocities -
k4Forces -
k4Velocities -
originalPositions -
originalVelocities -
deltaT -
Returns:
Function that updates the particle positions.


giCentre Utilities V.3.3, API documentation generated 6th April, 2013