Interface FieldODEFixedStepHandler<T extends CalculusFieldElement<T>>

  • Type Parameters:
    T - the type of the field elements

    public interface FieldODEFixedStepHandler<T extends CalculusFieldElement<T>>
    This interface represents a handler that should be called after each successful fixed step.

    This interface should be implemented by anyone who is interested in getting the solution of an ordinary differential equation at fixed time steps. Objects implementing this interface should be wrapped within an instance of FieldStepNormalizer that itself is used as the general FieldODEStepHandler by the integrator. The FieldStepNormalizer object is called according to the integrator internal algorithms and it calls objects implementing this interface as necessary at fixed time steps.

    See Also:
    FieldODEStepHandler, FieldStepNormalizer, FieldODEStateInterpolator
    • Method Detail

      • init

        default void init​(FieldODEStateAndDerivative<T> initialState,
                          T finalTime)
        Initialize step handler at the start of an ODE integration.

        This method is called once at the start of the integration. It may be used by the step handler to initialize some internal data if needed.

        The default implementation does nothing.

        Parameters:
        initialState - initial time, state vector and derivative
        finalTime - target time for the integration
      • handleStep

        void handleStep​(FieldODEStateAndDerivative<T> state,
                        boolean isLast)
        Handle the last accepted step
        Parameters:
        state - current value of the independent time variable, state vector and derivative For efficiency purposes, the FieldStepNormalizer class reuses the same array on each call, so if the instance wants to keep it across all calls (for example to provide at the end of the integration a complete array of all steps), it should build a local copy store this copy.
        isLast - true if the step is the last one