Package org.apache.commons.math3.ode.nonstiff

# Class ClassicalRungeKuttaFieldIntegrator<T extends RealFieldElement<T>>

java.lang.Object
org.apache.commons.math3.ode.AbstractFieldIntegrator<T>
org.apache.commons.math3.ode.nonstiff.RungeKuttaFieldIntegrator<T>
org.apache.commons.math3.ode.nonstiff.ClassicalRungeKuttaFieldIntegrator<T>

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

All Implemented Interfaces:
  `FirstOrderFieldIntegrator<T>`, `FieldButcherArrayProvider<T>`

public class ClassicalRungeKuttaFieldIntegrator<T extends RealFieldElement<T>> extends RungeKuttaFieldIntegrator<T>
This class implements the classical fourth order Runge-Kutta integrator for Ordinary Differential Equations (it is the most often used Runge-Kutta method).

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

        0  |  0    0    0    0
       1/2 | 1/2   0    0    0
       1/2 |  0   1/2   0    0
        1  |  0    0    1    0
           |--------------------
           | 1/6  1/3  1/3  1/6

Since:
  3.6
See Also:
  - `EulerFieldIntegrator`
  - `GillFieldIntegrator`
  - `MidpointFieldIntegrator`
  - `ThreeEighthesFieldIntegrator`
  - `LutherFieldIntegrator`

## Constructor Summary

Constructors
Constructor
Description
`ClassicalRungeKuttaFieldIntegrator(Field<T> field, T step)`
Simple constructor.

## Method Summary

Modifier and Type
Method
Description
`protected org.apache.commons.math3.ode.nonstiff.ClassicalRungeKuttaFieldStepInterpolator<T>`
`createInterpolator(boolean forward, T[][] yDotK, FieldODEStateAndDerivative<T> globalPreviousState, FieldODEStateAndDerivative<T> globalCurrentState, FieldEquationsMapper<T> mapper)`
Create an interpolator.
`T[][]`
`getA()`
Get the internal weights from Butcher array (without the first empty row).
`T[]`
`getB()`
Get the external weights for the high order method from Butcher array.
`T[]`
`getC()`
Get the time steps from Butcher array (without the first zero).

### Methods inherited from class org.apache.commons.math3.ode.nonstiff.RungeKuttaFieldIntegrator

`fraction, integrate, singleStep`

### Methods inherited from class org.apache.commons.math3.ode.AbstractFieldIntegrator

`acceptStep, addEventHandler, addEventHandler, addStepHandler, clearEventHandlers, clearStepHandlers, computeDerivatives, getCurrentSignedStepsize, getCurrentStepStart, getEquations, getEvaluations, getEvaluationsCounter, getEventHandlers, getField, getMaxEvaluations, getName, getStepHandlers, getStepSize, getStepStart, initIntegration, isLastStep, resetOccurred, sanityChecks, setIsLastStep, setMaxEvaluations, setStateInitialized, setStepSize, setStepStart`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ClassicalRungeKuttaFieldIntegrator

public ClassicalRungeKuttaFieldIntegrator(Field<T> field, T step)
Simple constructor. Build a fourth-order Runge-Kutta integrator with the given step.

Parameters:
  `field` - field to which the time and state vector elements belong
  `step` - integration step

## Method Details

### getC

public T[] getC()
Get the time steps from Butcher array (without the first zero).

Returns:
  time steps from Butcher array (without the first zero

### getA

public T[][] 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 T[] 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.apache.commons.math3.ode.nonstiff.ClassicalRungeKuttaFieldStepInterpolator<T> createInterpolator(boolean forward, T[][] yDotK, FieldODEStateAndDerivative<T> globalPreviousState, FieldODEStateAndDerivative<T> globalCurrentState, FieldEquationsMapper<T> mapper)
Create an interpolator.

Specified by:
  `createInterpolator` in class `RungeKuttaFieldIntegrator<T extends RealFieldElement<T>>`
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