Class DormandPrince54StepInterpolator

All Implemented Interfaces:
Externalizable, 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:
  • Field Details

    • A70

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

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

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

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

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

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

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

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

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

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

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

      private static final long serialVersionUID
      Serializable version identifier.
      See Also:
    • 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.
  • Constructor Details

  • Method Details

    • doCopy

      protected StepInterpolator doCopy()
      Really copy the finalized instance.

      This method is called by AbstractStepInterpolator.copy() after the step has been finalized. It must perform a deep copy to have an new instance completely independent for the original instance.

      Specified by:
      doCopy in class AbstractStepInterpolator
      Returns:
      a copy of the finalized instance
    • 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
    • storeTime

      public void storeTime(double t)
      Store the current step time.
      Overrides:
      storeTime in class AbstractStepInterpolator
      Parameters:
      t - current time
    • 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