Class LutherFieldStateInterpolator<T extends CalculusFieldElement<T>>

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

public class LutherFieldStateInterpolator<T extends CalculusFieldElement<T>> extends RungeKuttaFieldStateInterpolator<T>
This class represents an interpolator over the last step during an ODE integration for the 6th order Luther integrator.

This interpolator computes dense output inside the last step computed. The interpolation equation is consistent with the integration scheme.

See Also:
  • Constructor Details Link icon

    • LutherFieldStateInterpolator Link icon

      public LutherFieldStateInterpolator(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

    • create Link icon

      protected LutherFieldStateInterpolator<T> create(Field<T> newField, boolean newForward, T[][] newYDotK, FieldODEStateAndDerivative<T> newGlobalPreviousState, FieldODEStateAndDerivative<T> newGlobalCurrentState, FieldODEStateAndDerivative<T> newSoftPreviousState, FieldODEStateAndDerivative<T> newSoftCurrentState, FieldEquationsMapper<T> newMapper)
      Create a new instance.
      Specified by:
      create in class RungeKuttaFieldStateInterpolator<T extends CalculusFieldElement<T>>
      Parameters:
      newField - field to which the time and state vector elements belong
      newForward - integration direction indicator
      newYDotK - slopes at the intermediate points
      newGlobalPreviousState - start of the global step
      newGlobalCurrentState - end of the global step
      newSoftPreviousState - start of the restricted step
      newSoftCurrentState - end of the restricted step
      newMapper - equations mapper for the all equations
      Returns:
      a new instance
    • computeInterpolatedStateAndDerivatives Link icon

      protected FieldODEStateAndDerivative<T> computeInterpolatedStateAndDerivatives(FieldEquationsMapper<T> mapper, T time, T theta, T thetaH, T oneMinusThetaH)
      Compute the state and derivatives at the interpolated time. This is the main processing method that should be implemented by the derived classes to perform the interpolation.
      Specified by:
      computeInterpolatedStateAndDerivatives in class AbstractFieldODEStateInterpolator<T extends CalculusFieldElement<T>>
      Parameters:
      mapper - mapper for ODE equations primary and secondary components
      time - interpolation time
      theta - normalized interpolation abscissa within the step (theta is zero at the previous time step and one at the current time step)
      thetaH - time gap between the previous time and the interpolated time
      oneMinusThetaH - time gap between the interpolated time and the current time
      Returns:
      interpolated state and derivatives