Class GillStepInterpolator

  • All Implemented Interfaces:
    java.io.Externalizable, java.io.Serializable, StepInterpolator

    class GillStepInterpolator
    extends RungeKuttaStepInterpolator
    This class implements a step interpolator for the Gill 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) ((1-1/√2) y'2 + (1+1/√2)) y'3) + ( - 3 θ + 4 θ2) y'4 ]
    • Using reference point at step start:
      y(tn + θ h) = y (tn + h) - (1 - θ) (h/6) [ (1 - 5 θ + 4 θ2) y'1 + (2 + 2 θ - 4 θ2) ((1-1/√2) y'2 + (1+1/√2)) y'3) + (1 + θ + 4 θ2) 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.

    Since:
    1.2
    See Also:
    GillIntegrator
    • Field Detail

      • ONE_MINUS_INV_SQRT_2

        private static final double ONE_MINUS_INV_SQRT_2
        First Gill coefficient.
      • ONE_PLUS_INV_SQRT_2

        private static final double ONE_PLUS_INV_SQRT_2
        Second Gill coefficient.
      • serialVersionUID

        private static final long serialVersionUID
        Serializable version identifier.
        See Also:
        Constant Field Values
    • Method Detail

      • computeInterpolatedStateAndDerivatives

        protected void computeInterpolatedStateAndDerivatives​(double theta,
                                                              double 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 AbstractStepInterpolator
        Parameters:
        theta - normalized interpolation abscissa within the step (theta is zero at the previous time step and one at the current time step)
        oneMinusThetaH - time gap between the interpolated time and the current time