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. However, since this is an fsal, the last evaluation of one step is the same as the first evaluation of the next step and hence can be avoided. So the cost is really 6 functions evaluations per step.
This method has been published (whithout the continuous output that was added by Shampine in 1986) in the following article :
A family of embedded Runge-Kutta formulae J. R. Dormand and P. J. Prince Journal of Computational and Applied Mathematics volume 6, no 1, 1980, pp. 19-26
| Modifier and Type | Field and Description |
|---|---|
| private static final double | E1
Error array, element 1. |
| private static final double | E3
Error array, element 3. |
| private static final double | E4
Error array, element 4. |
| private static final double | E5
Error array, element 5. |
| private static final double | E6
Error array, element 6. |
| private static final double | E7
Error array, element 7. |
| private static final String | METHOD_NAME
Integrator method name. |
| private static final double[][] | STATIC_A
Internal weights Butcher array. |
| private static final double[] | STATIC_B
Propagation weights Butcher array. |
| private static final double[] | STATIC_C
Time steps Butcher array. |
| Access | Constructor and Description |
|---|---|
| public | DormandPrince54Integrator(final double
minimal step (sign is irrelevant, regardless of
integration direction, forward or backward), the last step can
be smaller than this minStep, final double maximal step (sign is irrelevant, regardless of
integration direction, forward or backward), the last step can
be smaller than this maxStep, final double allowed absolute error scalAbsoluteTolerance, final double allowed relative error scalRelativeTolerance)Simple constructor. |
| public | DormandPrince54Integrator(final double
minimal step (sign is irrelevant, regardless of
integration direction, forward or backward), the last step can
be smaller than this minStep, final double maximal step (sign is irrelevant, regardless of
integration direction, forward or backward), the last step can
be smaller than this maxStep, final double[] allowed absolute error vecAbsoluteTolerance, final double[] allowed relative error vecRelativeTolerance)Simple constructor. |
| Modifier and Type | Method and Description |
|---|---|
| protected double | estimateError(final double[][]
derivatives computed during the first stages yDotK, final double[] estimate of the step at the start of the step y0, final double[] estimate of the step at the end of the step y1, final double current step h)Implements abstract org. Compute the error ratio. |
| public int | getOrder()
Implements abstract org. Get the order of the method. |
| E1 | back to summary |
|---|---|
| private static final double E1 Error array, element 1. | |
| E3 | back to summary |
|---|---|
| private static final double E3 Error array, element 3. | |
| E4 | back to summary |
|---|---|
| private static final double E4 Error array, element 4. | |
| E5 | back to summary |
|---|---|
| private static final double E5 Error array, element 5. | |
| E6 | back to summary |
|---|---|
| private static final double E6 Error array, element 6. | |
| E7 | back to summary |
|---|---|
| private static final double E7 Error array, element 7. | |
| METHOD_NAME | back to summary |
|---|---|
| private static final String METHOD_NAME Integrator method name. | |
| STATIC_A | back to summary |
|---|---|
| private static final double[][] STATIC_A Internal weights Butcher array. | |
| STATIC_B | back to summary |
|---|---|
| private static final double[] STATIC_B Propagation weights Butcher array. | |
| STATIC_C | back to summary |
|---|---|
| private static final double[] STATIC_C Time steps Butcher array. | |
| DormandPrince54Integrator | back to summary |
|---|---|
| public DormandPrince54Integrator(final double minStep, final double maxStep, final double scalAbsoluteTolerance, final double scalRelativeTolerance) Simple constructor. Build a fifth order Dormand-Prince integrator with the given step bounds
| |
| DormandPrince54Integrator | back to summary |
|---|---|
| public DormandPrince54Integrator(final double minStep, final double maxStep, final double[] vecAbsoluteTolerance, final double[] vecRelativeTolerance) Simple constructor. Build a fifth order Dormand-Prince integrator with the given step bounds
| |
| estimateError | back to summary |
|---|---|
| protected double estimateError(final double[][] yDotK, final double[] y0, final double[] y1, final double h) Implements abstract org. Doc from org. Compute the error ratio.
| |
| getOrder | back to summary |
|---|---|
| public int getOrder() Implements abstract org. Doc from org. Get the order of the method.
| |