public class HighamHall54Integrator extends EmbeddedRungeKuttaIntegrator
This integrator is an embedded Runge-Kutta integrator of order 5(4) used in local extrapolation mode (i.e. the solution is computed using the high order formula) with stepsize control (and automatic step initialization) and continuous output. This method uses 7 functions evaluations per step.
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
METHOD_NAME
Integrator method name.
|
private static double[][] |
STATIC_A
Internal weights Butcher array.
|
private static double[] |
STATIC_B
Propagation weights Butcher array.
|
private static double[] |
STATIC_C
Time steps Butcher array.
|
private static double[] |
STATIC_E
Error weights Butcher array.
|
mainSetDimension, scalAbsoluteTolerance, scalRelativeTolerance, vecAbsoluteTolerance, vecRelativeTolerance
isLastStep, resetOccurred, stepHandlers, stepSize, stepStart
Constructor and Description |
---|
HighamHall54Integrator(double minStep,
double maxStep,
double[] vecAbsoluteTolerance,
double[] vecRelativeTolerance)
Simple constructor.
|
HighamHall54Integrator(double minStep,
double maxStep,
double scalAbsoluteTolerance,
double scalRelativeTolerance)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
protected double |
estimateError(double[][] yDotK,
double[] y0,
double[] y1,
double h)
Compute the error ratio.
|
int |
getOrder()
Get the order of the method.
|
getMaxGrowth, getMinReduction, getSafety, integrate, setMaxGrowth, setMinReduction, setSafety
filterStep, getCurrentStepStart, getMaxStep, getMinStep, initializeStep, resetInternalState, sanityChecks, setInitialStepSize
acceptStep, addEndTimeChecker, addEventHandler, addStepHandler, clearEventHandlers, clearStepHandlers, computeDerivatives, getCurrentSignedStepsize, getEvaluations, getEventHandlers, getMaxEvaluations, getName, getStepHandlers, requiresDenseOutput, resetEvaluations, setEquations, setMaxEvaluations, setStateInitialized
private static final java.lang.String METHOD_NAME
private static final double[] STATIC_C
private static final double[][] STATIC_A
private static final double[] STATIC_B
private static final double[] STATIC_E
public HighamHall54Integrator(double minStep, double maxStep, double scalAbsoluteTolerance, double scalRelativeTolerance)
minStep
- minimal step (must be positive even for backward
integration), the last step can be smaller than thismaxStep
- maximal step (must be positive even for backward
integration)scalAbsoluteTolerance
- allowed absolute errorscalRelativeTolerance
- allowed relative errorpublic HighamHall54Integrator(double minStep, double maxStep, double[] vecAbsoluteTolerance, double[] vecRelativeTolerance)
minStep
- minimal step (must be positive even for backward
integration), the last step can be smaller than thismaxStep
- maximal step (must be positive even for backward
integration)vecAbsoluteTolerance
- allowed absolute errorvecRelativeTolerance
- allowed relative errorpublic int getOrder()
getOrder
in class EmbeddedRungeKuttaIntegrator
protected double estimateError(double[][] yDotK, double[] y0, double[] y1, double h)
estimateError
in class EmbeddedRungeKuttaIntegrator
yDotK
- derivatives computed during the first stagesy0
- estimate of the step at the start of the stepy1
- estimate of the step at the end of the steph
- current stepCopyright (c) 2003-2016 Apache Software Foundation