Class RungeKuttaStepInterpolator

    • Field Detail

      • previousState

        protected double[] previousState
        Previous state.
      • yDotK

        protected double[][] yDotK
        Slopes at the intermediate points
    • Constructor Detail

      • RungeKuttaStepInterpolator

        RungeKuttaStepInterpolator​(RungeKuttaStepInterpolator interpolator)
        Copy constructor.

        The copied interpolator should have been finalized before the copy, otherwise the copy will not be able to perform correctly any interpolation and will throw a NullPointerException later. Since we don't want this constructor to throw the exceptions finalization may involve and since we don't want this method to modify the state of the copied interpolator, finalization is not done automatically, it remains under user control.

        The copy is a deep copy: its arrays are separated from the original arrays of the instance.

        Parameters:
        interpolator - interpolator to copy from.
    • Method Detail

      • reinitialize

        public void reinitialize​(AbstractIntegrator rkIntegrator,
                                 double[] y,
                                 double[][] yDotArray,
                                 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.

        Parameters:
        rkIntegrator - integrator being used
        y - reference to the integrator array holding the state at the end of the step
        yDotArray - 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
      • shift

        public void shift()
        Shift one step forward. Copy the current time into the previous time, hence preparing the interpolator for future calls to storeTime
        Overrides:
        shift in class AbstractStepInterpolator
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Specified by:
        writeExternal in interface java.io.Externalizable
        Specified by:
        writeExternal in class AbstractStepInterpolator
        Throws:
        java.io.IOException
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Specified by:
        readExternal in interface java.io.Externalizable
        Specified by:
        readExternal in class AbstractStepInterpolator
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException