Package org.hipparchus.ode.nonstiff
Class LutherIntegrator
- java.lang.Object
-
- org.hipparchus.ode.AbstractIntegrator
-
- org.hipparchus.ode.nonstiff.RungeKuttaIntegrator
-
- org.hipparchus.ode.nonstiff.LutherIntegrator
-
- All Implemented Interfaces:
ButcherArrayProvider
,ODEIntegrator
public class LutherIntegrator extends RungeKuttaIntegrator
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 LutherIntegrator(double step)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.hipparchus.ode.nonstiff.LutherStateInterpolator
createInterpolator(boolean forward, double[][] yDotK, ODEStateAndDerivative globalPreviousState, ODEStateAndDerivative globalCurrentState, EquationsMapper mapper)
Create an interpolator.double[][]
getA()
Get the internal weights from Butcher array (without the first empty row).double[]
getB()
Get the external weights for the high order method from Butcher array.double[]
getC()
Get the time steps from Butcher array (without the first zero).-
Methods inherited from class org.hipparchus.ode.nonstiff.RungeKuttaIntegrator
integrate, singleStep
-
Methods inherited from class org.hipparchus.ode.AbstractIntegrator
acceptStep, addEventHandler, addEventHandler, addStepHandler, clearEventHandlers, clearStepHandlers, computeDerivatives, getCurrentSignedStepsize, getCurrentStepStart, getEquations, getEvaluations, getEvaluationsCounter, getEventHandlers, 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
-
Methods inherited from interface org.hipparchus.ode.ODEIntegrator
integrate, integrate
-
-
-
-
Method Detail
-
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.LutherStateInterpolator createInterpolator(boolean forward, double[][] yDotK, ODEStateAndDerivative globalPreviousState, ODEStateAndDerivative globalCurrentState, EquationsMapper mapper)
Create an interpolator.- Specified by:
createInterpolator
in classRungeKuttaIntegrator
- 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
-
-