Propagation using the Holmes Featherstone Attraction Model

I’m running a series of propagations where two objects collide at time 0, propagate backward to time -x, and then propagate forwards to time 0. Currently, I have only the Holmes Featherstone Attraction Model added to my numerical integrator. My tolerance is 10^-10, and my max step size is such that there will be at least 100 data points for each orbit.

For some reason, my objects are not colliding at time 0 after the first iteration, and because these propagations are all run on the same object to conserve time, this error is compounded upon. By the time I’ve run 12000 or so propagating, the objects are missing each other by 20 kilometers.

Here is my implementation of the Holmes Featherstone Attraction Model:

final NormalizedSphericalHarmonicsProvider provider =
GravityFieldFactory.getNormalizedProvider(8, 8);
final ForceModel holmesFeatherstone =
new HolmesFeatherstoneAttractionModel(FramesFactory.getITRF(IERSConventions.IERS_2010,
true),
provider);

propagator.addForceModel(holmesFeatherstone);

Hi @DenaliAJah, welcome

When you refer to 12000 propagations, do you mean that 12000 back and forth runs, all with the same force models configuration and the same instance of propagator?

Hi @DenaliAJah,

Do you think you could provide a test case of your problem ?
What kind of integrator are you using ?

The problem you encounter may be due to state interpolation.
If one of your dates (collision date or time -x) doesn’t exactly end up on one of the integration step, Orekit will perform an interpolation to obtain the spacecraft state at this date; leading to a (very small) error.
Then when you relaunch the propagation from this interpolated state the small error will slightly grow.
Doing that 12000 times, I’m not too surprised that the error would grow to a large number.

Have a nice day,
Maxime

Thank you @luc and @MaximeJ both of your comments were extremely helpful. I changed my methodology such that I reset my spacecraft to its initial state at the start of each test and everything appears much closer to the expected result now.