Class MidpointIntegrator

All Implemented Interfaces:
ButcherArrayProvider, ExplicitRungeKuttaIntegrator, ODEIntegrator

public class MidpointIntegrator extends RungeKuttaIntegrator
This class implements a second order Runge-Kutta integrator for Ordinary Differential Equations.

This method is an explicit Runge-Kutta method, its Butcher-array is the following one :

    0  |  0    0
   1/2 | 1/2   0
       |----------
       |  0    1
 
See Also:
  • Field Details

  • Constructor Details

    • MidpointIntegrator

      public MidpointIntegrator(double step)
      Simple constructor. Build a midpoint integrator with the given step.
      Parameters:
      step - integration step
  • Method Details

    • getC

      public double[] getC()
      Get the time steps from Butcher array (without the first zero).
      Returns:
      time steps from Butcher array (without the first zero
    • getA

      public double[][] getA()
      Get the internal weights from Butcher array (without the first empty row).
      Returns:
      internal weights from Butcher array (without the first empty row)
    • getB

      public double[] getB()
      Get the external weights for the high order method from Butcher array.
      Returns:
      external weights for the high order method from Butcher array
    • createInterpolator

      protected org.hipparchus.ode.nonstiff.MidpointStateInterpolator createInterpolator(boolean forward, double[][] yDotK, ODEStateAndDerivative globalPreviousState, ODEStateAndDerivative globalCurrentState, EquationsMapper mapper)
      Create an interpolator.
      Specified by:
      createInterpolator in class RungeKuttaIntegrator
      Parameters:
      forward - integration direction indicator
      yDotK - slopes at the intermediate points
      globalPreviousState - start of the global step
      globalCurrentState - end of the global step
      mapper - equations mapper for the all equations
      Returns:
      external weights for the high order method from Butcher array