Class LutherFieldIntegrator<T extends RealFieldElement<T>>
- java.lang.Object
-
- org.apache.commons.math4.legacy.ode.AbstractFieldIntegrator<T>
-
- org.apache.commons.math4.legacy.ode.nonstiff.RungeKuttaFieldIntegrator<T>
-
- org.apache.commons.math4.legacy.ode.nonstiff.LutherFieldIntegrator<T>
-
- Type Parameters:
T
- the type of the field elements
- All Implemented Interfaces:
FirstOrderFieldIntegrator<T>
,FieldButcherArrayProvider<T>
public class LutherFieldIntegrator<T extends RealFieldElement<T>> extends RungeKuttaFieldIntegrator<T>
This class implements the Luther sixth order Runge-Kutta integrator for Ordinary Differential Equations.This method is described in H. A. Luther 1968 paper An explicit Sixth-Order Runge-Kutta Formula.
This method is an explicit Runge-Kutta method, its Butcher-array is the following one :
0 | 0 0 0 0 0 0 1 | 1 0 0 0 0 0 1/2 | 3/8 1/8 0 0 0 0 2/3 | 8/27 2/27 8/27 0 0 0 (7-q)/14 | ( -21 + 9q)/392 ( -56 + 8q)/392 ( 336 - 48q)/392 ( -63 + 3q)/392 0 0 (7+q)/14 | (-1155 - 255q)/1960 ( -280 - 40q)/1960 ( 0 - 320q)/1960 ( 63 + 363q)/1960 ( 2352 + 392q)/1960 0 1 | ( 330 + 105q)/180 ( 120 + 0q)/180 ( -200 + 280q)/180 ( 126 - 189q)/180 ( -686 - 126q)/180 ( 490 - 70q)/180 |-------------------------------------------------------------------------------------------------------------------------------------------------- | 1/20 0 16/45 0 49/180 49/180 1/20
where q = √21
-
-
Constructor Summary
Constructors Constructor Description LutherFieldIntegrator(Field<T> field, T step)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.apache.commons.math4.legacy.ode.nonstiff.LutherFieldStepInterpolator<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.math4.legacy.ode.nonstiff.RungeKuttaFieldIntegrator
fraction, integrate, singleStep
-
Methods inherited from class org.apache.commons.math4.legacy.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
-
-
-
-
Constructor Detail
-
LutherFieldIntegrator
public LutherFieldIntegrator(Field<T> field, T step)
Simple constructor. Build a fourth-order Luther integrator with the given step.- Parameters:
field
- field to which the time and state vector elements belongstep
- integration step
-
-
Method Detail
-
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.math4.legacy.ode.nonstiff.LutherFieldStepInterpolator<T> createInterpolator(boolean forward, T[][] yDotK, FieldODEStateAndDerivative<T> globalPreviousState, FieldODEStateAndDerivative<T> globalCurrentState, FieldEquationsMapper<T> mapper)
Create an interpolator.- Specified by:
createInterpolator
in classRungeKuttaFieldIntegrator<T extends RealFieldElement<T>>
- Parameters:
forward
- integration direction indicatoryDotK
- slopes at the intermediate pointsglobalPreviousState
- start of the global stepglobalCurrentState
- end of the global stepmapper
- equations mapper for the all equations- Returns:
- external weights for the high order method from Butcher array
-
-