Class Rk4Naive

java.lang.Object
  extended by Rk4Naive
All Implemented Interfaces:
INumericalIntegrator

public class Rk4Naive
extends java.lang.Object
implements INumericalIntegrator

Naive implementation of RK4 (4th order Runge Kutta integration) for handling continuous-time components of distributed control simulation.

Since:
1.0

Constructor Summary
protected Rk4Naive()
           
  Rk4Naive(double lfStepSize)
           
 
Method Summary
 double integrateUntil(double lfTimeStop, double lfTCurr, double[] arrLfState, double[] arrLfDerivScratch, IAgent agent, StateBundle[] arrStates, ISensor[] arrSensors, IEnvironment env, ISimUICallback drawCallback, ISimUICallback haltCallback)
          Assumes that time does not step over an agent state change event.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Rk4Naive

protected Rk4Naive()

Rk4Naive

public Rk4Naive(double lfStepSize)
Method Detail

integrateUntil

public double integrateUntil(double lfTimeStop,
                             double lfTCurr,
                             double[] arrLfState,
                             double[] arrLfDerivScratch,
                             IAgent agent,
                             StateBundle[] arrStates,
                             ISensor[] arrSensors,
                             IEnvironment env,
                             ISimUICallback drawCallback,
                             ISimUICallback haltCallback)
Assumes that time does not step over an agent state change event. Other classes should handle this constraint.

Specified by:
integrateUntil in interface INumericalIntegrator
Parameters:
lfTimeStop - integrate until this time.
lfTCurr - current (start) time
arrLfState - state vector (initially initial state, overwritten with final state)
arrLfDerivScratch - state derivative vector scratch space (should be same dimensionality as state vector)
agent - agent mapping (currently only support for homogenous swarms )
arrStates - state of each agent (assumed not to change over integration)
arrSensors - array of sensor interfaces.
drawCallback - callback for drawing routines (if any) (can be null)
haltCallback - callback to check if we should halt (can be null)
env - environment
Returns:
actual absolute (simulation) time at which we stopped integration, whether due to an interruption, or concluding the computation (lfTimeStop).