ClassicalRungeKuttaIntegrator Vs DormandPrince54Integrator

Hello Orekit team,

I have a short question. I’m doing orbit determination and in my propagtor I used the ClassicalRungeKuttaIntegrator. I decided to change for a DormandPrince54Integrator.

Doing this, my algortim runs much faster (like 10 times faster) but I do not understand why.
The DormandPrince method requires 6 evaluations per steps whereas the RK4 requires 4…Is it rigth ?

I would be very gratefull if some could help me with that.

Thanks in advance,

Luca

Hi @luca123,

Did you use the same configuration for both integrators ?
If the maxStep of DP54 is higher than the step of RK4 then it’s possible that the DP54 uses less steps than RK4, hence the speed-up.

Hope this helps,
Maxime

Thanks for the fast answer,

Yeah acually you are rigth. My max step of the DP54 is higher than the integration step of RK4. But then how is it possbla that my results are not downgraded at all going from RK to DP ?

How does the DP method, choose the best step betwwen min and max steps ?

Another thank you for your help

Luca

It depends on the underlying model (i.e. the force models in your propagator). If it is not too perturbed then the DP54 can use large steps without downgrading the performances; while RK4 blindly uses the step it’s been given, even if it could use a smaller step.

DP54, as all variable-step integrator, uses an error-control algorithm to know if the step it has computed is correct or not. If the error is smaller than the one given in input (the one you give in maxPositionError or through the tolerances), then the step is accepted. If the error is higher, then it tries a smaller step.

Dormand-Prince 5(4) is much more advanced than classical Runge Kutta and has a higher order (5 instead of 4). There is even a more advanced integrator : Dormand-Prince 8(5, 3) which has even higher order (8). DP853 uses 17 evaluations per step, but the step may be much larger. The computation cost should therefore not be evaluated as number of evaluations per step, but has number of evaluation per unit of integration time. The reference book “Solving Ordinary Differential Equations - part 1 nonstiff problems” by Hairer, Nørsett and Wanner gives a precision versus work diagram (figure 4.2) which shows DP853 is much more efficient than DP54 which itself is much more efficient than RK4.

Dormand-Prince 8(5,3) is the recommended integrator for propagation.

1 Like

Thank you very much for your answers. I undestand better now.

Luca