Class AdamsStateInterpolator

java.lang.Object
org.hipparchus.ode.sampling.AbstractODEStateInterpolator
org.hipparchus.ode.nonstiff.interpolators.AdamsStateInterpolator
All Implemented Interfaces:
Serializable, ODEStateInterpolator

public class AdamsStateInterpolator extends AbstractODEStateInterpolator
This class implements an interpolator for integrators using Nordsieck representation.

This interpolator computes dense output around the current point. The interpolation equation is based on Taylor series formulas.

See Also:
  • Constructor Details Link icon

    • AdamsStateInterpolator Link icon

      public AdamsStateInterpolator(double stepSize, ODEStateAndDerivative reference, double[] scaled, Array2DRowRealMatrix nordsieck, boolean isForward, ODEStateAndDerivative globalPreviousState, ODEStateAndDerivative globalCurrentState, EquationsMapper equationsMapper)
      Simple constructor.
      Parameters:
      stepSize - step size used in the scaled and Nordsieck arrays
      reference - reference state from which Taylor expansion are estimated
      scaled - first scaled derivative
      nordsieck - Nordsieck vector
      isForward - integration direction indicator
      globalPreviousState - start of the global step
      globalCurrentState - end of the global step
      equationsMapper - mapper for ODE equations primary and secondary components
  • Method Details Link icon

    • create Link icon

      protected AdamsStateInterpolator create(boolean newForward, ODEStateAndDerivative newGlobalPreviousState, ODEStateAndDerivative newGlobalCurrentState, ODEStateAndDerivative newSoftPreviousState, ODEStateAndDerivative newSoftCurrentState, EquationsMapper newMapper)
      Create a new instance.
      Specified by:
      create in class AbstractODEStateInterpolator
      Parameters:
      newForward - integration direction indicator
      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
    • getScaled Link icon

      public double[] getScaled()
      Get the first scaled derivative.
      Returns:
      first scaled derivative
    • getNordsieck Link icon

      public Array2DRowRealMatrix getNordsieck()
      Get the Nordsieck vector.
      Returns:
      Nordsieck vector
    • computeInterpolatedStateAndDerivatives Link icon

      protected ODEStateAndDerivative computeInterpolatedStateAndDerivatives(EquationsMapper equationsMapper, double time, double theta, double thetaH, 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 AbstractODEStateInterpolator
      Parameters:
      equationsMapper - 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
    • taylor Link icon

      public static ODEStateAndDerivative taylor(EquationsMapper equationsMapper, ODEStateAndDerivative reference, double time, double stepSize, double[] scaled, Array2DRowRealMatrix nordsieck)
      Estimate state by applying Taylor formula.
      Parameters:
      equationsMapper - mapper for ODE equations primary and secondary components
      reference - reference state
      time - time at which state must be estimated
      stepSize - step size used in the scaled and Nordsieck arrays
      scaled - first scaled derivative
      nordsieck - Nordsieck vector
      Returns:
      estimated state