Class DormandPrince54StepInterpolator

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

    class DormandPrince54StepInterpolator
    extends RungeKuttaStepInterpolator
    This class represents an interpolator over the last step during an ODE integration for the 5(4) Dormand-Prince integrator.
    Since:
    1.2
    See Also:
    DormandPrince54Integrator
    • Field Detail

      • A70

        private static final double A70
        Last row of the Butcher-array internal weights, element 0.
        See Also:
        Constant Field Values
      • A72

        private static final double A72
        Last row of the Butcher-array internal weights, element 2.
        See Also:
        Constant Field Values
      • A73

        private static final double A73
        Last row of the Butcher-array internal weights, element 3.
        See Also:
        Constant Field Values
      • A74

        private static final double A74
        Last row of the Butcher-array internal weights, element 4.
        See Also:
        Constant Field Values
      • A75

        private static final double A75
        Last row of the Butcher-array internal weights, element 5.
        See Also:
        Constant Field Values
      • D0

        private static final double D0
        Shampine (1986) Dense output, element 0.
        See Also:
        Constant Field Values
      • D2

        private static final double D2
        Shampine (1986) Dense output, element 2.
        See Also:
        Constant Field Values
      • D3

        private static final double D3
        Shampine (1986) Dense output, element 3.
        See Also:
        Constant Field Values
      • D4

        private static final double D4
        Shampine (1986) Dense output, element 4.
        See Also:
        Constant Field Values
      • D5

        private static final double D5
        Shampine (1986) Dense output, element 5.
        See Also:
        Constant Field Values
      • D6

        private static final double D6
        Shampine (1986) Dense output, element 6.
        See Also:
        Constant Field Values
      • serialVersionUID

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

        private double[] v1
        First vector for interpolation.
      • v2

        private double[] v2
        Second vector for interpolation.
      • v3

        private double[] v3
        Third vector for interpolation.
      • v4

        private double[] v4
        Fourth vector for interpolation.
      • vectorsInitialized

        private boolean vectorsInitialized
        Initialization indicator for the interpolation vectors.
    • Method Detail

      • reinitialize

        public void reinitialize​(AbstractIntegrator integrator,
                                 double[] y,
                                 double[][] yDotK,
                                 boolean forward,
                                 EquationsMapper primaryMapper,
                                 EquationsMapper[] secondaryMappers)
        Reinitialize the instance

        Some Runge-Kutta integrators need fewer functions evaluations than their counterpart step interpolators. So the interpolator should perform the last evaluations they need by themselves. The RungeKuttaIntegrator and EmbeddedRungeKuttaIntegrator abstract classes call this method in order to let the step interpolator perform the evaluations it needs. These evaluations will be performed during the call to doFinalize if any, i.e. only if the step handler either calls the finalizeStep method or the getInterpolatedState method (for an interpolator which needs a finalization) or if it clones the step interpolator.

        Overrides:
        reinitialize in class RungeKuttaStepInterpolator
        Parameters:
        integrator - integrator being used
        y - reference to the integrator array holding the state at the end of the step
        yDotK - reference to the integrator array holding all the intermediate slopes
        forward - integration direction indicator
        primaryMapper - equations mapper for the primary equations set
        secondaryMappers - equations mappers for the secondary equations sets
      • 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