Add mass to AbstractPropagatorBuilder?

Hi all,

I don’t know if it’s an oversight but we cannot set the mass in AbstractPropagatorBuilder.
It can only be set in the Numerical and DSST versions.
I know the mass isn’t usually used in analytical propagation but what if we add ImpulseManeuver detectors to these propagators?
To handle this case I suggest adding the mass directly in AbstractPropagatorBuilder.
With this, we could also provide a method getInitialSpacecraftState() (which will not require building the propagator).

What do you think?
Maxime

For the homogeneity between propagator builders and the propagator architecture, I think it is useful to add the mass in AbstractPropagatorBuilder.

Best regards,
Bryan

This is clearly an oversight, users should have a way to set the mass there.

Thanks for the answers, issue 1431 is created.

Some additional thoughts about the propagator builders, tell me if you agree or not:

  • Major release enhancements:
    • getAttitudeProvider should be declared in PropagatorBuilder
    • New method getInitialState() and getMass() should also be declared here
    • AbstractPropagatorBuilder.createInitialOrbit() could be made public, renamed getInitialOrbit and declare in upper interface.
      (maybe we can keep create but then getInitialState() should be createtInitialState() for consistency
  • Bugs?
    • I don’t see the management of AdditionalStateProviders in AbstractPropagatorBuilder while we do have everything else. Is that intended?
    • @bcazabonne, didn’t you want to introduce the potential usage of AbsolutePVCoordinates in the builders? Wasn’t that what prevented you to perform an OD when propagating without a central body?

Sorry for the long list :sweat_smile:

Cheers,
Maxime

Yes! It’s an objective! It’s an important step to perform interplanetary-based orbit determination.

1 Like