[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orekit Users] ConstantThrustManeuver with DSSTPropagator?

Joseph Huwaldt <joseph.huwaldt@dynetics.com> a écrit :


Hi Joseph,

Is there a way to use a ConstantThrustManeuver with a DSSTPropagator?

We have a low thrust propulsion system that we would like to run out for
months at a time.  Without the propulsion, the DSSTPropagator works well for
us in this scenario, but as far as I can tell, I have to switch to a
NumericalPropagator to use a thrust model (either impulsive or constant
thrust).  Is that correct?

Impulsive maneuver should work with all propagator, including DSST. It
mainly works by resetting the state at maneuver time during propagation,
inserting conversions from/to Cartesian orbit if needed.

I thought I had already added an intermediate case between impulsive and
continuous maneuvers, something that should have been called SplitManeuver
or something like that. However, I cannot find it any more :-(, it was probably
a dream ... Anyway, this would be simple to do, the idea was to split a
long maneuver in several smaller impulses. This would work well for classical
maneuvers like for exemple apogee firing during geostationary LEOP, but I am
not sure it could scale up to months durations efficiently.

However, there is something that may be worth trying!
When we implemented short period terms in DSST, we added a feature that
allows DSSTPropagator to reuse some force models really implemented
for NumericalPropagator, i.e. models that only compute an acceleration.
You can look for example at AbstractGaussianContribution, which implements
DSSTForceModel and therefore can be fully handled by DSSTPropagator. This
class delegates acceleration computation to any ForceModel passed at
construction. So you *could* create a DSSTContinuousManeuver class
that would extend AbstractGaussianContribution and delegate to
ConstantThrustManeuver! With this setting, you would have a maneuver
modeled by DSST, and both mean and short periodic terms would be computed
(they are estimated thanks to Gaussian quadratures).

Well, this solution would be highly experimental! I do not think it would
be really accurate if thrust is high, but for electric propulsion, it may
be worth trying.

Incidentally, the SOCIS 2016 program by ESA has just started and they
ask for mentor to propose subjects. Adding this maneuver model for DSST
in Orekit would be a great subject for a student this summer, and a great
paper subject after that.

What do you think?

best regards,


Joseph Huwaldt
Dynetics, Inc.
Huntsville, AL