Variable thrust maneuver force model


Hi everyone,

We have the need at Airbus to perform propagation through maneuvers with variable thrust. We think this could be a contribution to Orekit. The idea would be to reuse most of the code that have been developed in ConstantThrustManeuver (for instance in term of event detectors, acceleration computation, and initialization). Therefore, it would avoid duplicating most of the code in ConstantThrustManeuver.

Instead of the thrust, the trust direction, and the isp, the constructor would take a generic interface as an input. This interface would demand to implements 4 methods in order to retrieve the thrust and the flow rate from the state, and their equivalent for fields parameters

In that case, the ConstantThrustManeuver would become a specific case of this new class, with an implementation of the interface that provides constant thrust and constant flow rate during the maneuver.

Do you think it could be a good contribution?




Hi Dorian,

I think that it would be a great contribution to Orekit !!!

There is not a lot of maneuver model in Orekit (only 3…); I think it is a very good idea to extend the capabilities of the library in that direction !

Your proposition of using an interface seems good to me.
Beware that if this changes the API of ConstantThrustManeuver your contribution will have to wait for a major version of Orekit (version x.0) to be released.
Version 10.0 will be coming soon. So if you are fast enough to wrap up the code you can probably make it :wink:
But from what I understand you should be able to keep the old constructor of ConstantThrustManeuver so that the change can be transparent for the users.


1 Like

Hi Maxime,

The way I see it, the public constructor and methods of ConstantThrustManeuver should indeed not be changed.

We will start soon our internal process in Airbus to provide this contribution. It might take some time, so it could be difficult for us to deliver the change before the 10.0.0 release.

We will keep you in touch!




Hi again Dorian,

If it does not indeed change the API there is no need to rush for v10.0.
I completely understand that it might take some time.

Thanks again for this coming contribution!


Hi everyone,

Sorry for my delayed response. As Orekit is a little bit poor in maneuver force model, introduce variable thrust maneuver can be a real asset for Orekit. In that respect, this is a very good contribution for Orekit.

Many thanks for your future contribution.

1 Like