Class ClassicalRungeKuttaFieldStateInterpolator<T extends CalculusFieldElement<T>>

Type Parameters:
T - the type of the field elements
All Implemented Interfaces:
FieldODEStateInterpolator<T>

public class ClassicalRungeKuttaFieldStateInterpolator<T extends CalculusFieldElement<T>> extends RungeKuttaFieldStateInterpolator<T>
This class implements a step interpolator for the classical fourth order Runge-Kutta integrator.

This interpolator allows to compute dense output inside the last step computed. The interpolation equation is consistent with the integration scheme :

  • Using reference point at step start:
    y(tn + θ h) = y (tn) + θ (h/6) [ (6 - 9 θ + 4 θ2) y'1 + ( 6 θ - 4 θ2) (y'2 + y'3) + ( -3 θ + 4 θ2) y'4 ]
  • Using reference point at step end:
    y(tn + θ h) = y (tn + h) + (1 - θ) (h/6) [ (-4 θ^2 + 5 θ - 1) y'1 +(4 θ^2 - 2 θ - 2) (y'2 + y'3) -(4 θ^2 + θ + 1) y'4 ]

where θ belongs to [0 ; 1] and where y'1 to y'4 are the four evaluations of the derivatives already computed during the step.

See Also:
  • Constructor Details Link icon

    • ClassicalRungeKuttaFieldStateInterpolator Link icon

      public ClassicalRungeKuttaFieldStateInterpolator(Field<T> field, boolean forward, T[][] yDotK, FieldODEStateAndDerivative<T> globalPreviousState, FieldODEStateAndDerivative<T> globalCurrentState, FieldODEStateAndDerivative<T> softPreviousState, FieldODEStateAndDerivative<T> softCurrentState, FieldEquationsMapper<T> mapper)
      Simple constructor.
      Parameters:
      field - field to which the time and state vector elements belong
      forward - integration direction indicator
      yDotK - slopes at the intermediate points
      globalPreviousState - start of the global step
      globalCurrentState - end of the global step
      softPreviousState - start of the restricted step
      softCurrentState - end of the restricted step
      mapper - equations mapper for the all equations
  • Method Details Link icon