Hi to all,
Thanks for the use of the great Orekit tool !
My question is about the computation of mean parameters from a LEO osculating orbit.
In order to get some operational parameters, I need to compute the mean parameters at each steps of the global propagation.
One way is to use the OsculatingToMeanElementsConverter with a specific
propagator.
I tried with a classical EcksteinHechlerPropagator, however the following exception has been raised :
Exception in thread "main" org.orekit.errors.PropagationException: impossible de calculer les paramètres moyens au sens de Eckstein-Hechler après
101 itérations
at org.orekit.propagation.analytical.EcksteinHechlerPropagator.<init>(EcksteinHechlerPropagator.java:318)
at org.orekit.propagation.analytical.EcksteinHechlerPropagator.<init>(EcksteinHechlerPropagator.java:200)
at main.Init.main(Init.java:91)
Caused by: org.orekit.errors.PropagationException: impossible de calculer les paramètres moyens au sens de Eckstein-Hechler après 101 itérations
at org.orekit.propagation.analytical.EcksteinHechlerPropagator.computeMeanParameters(EcksteinHechlerPropagator.java:394)
at org.orekit.propagation.analytical.EcksteinHechlerPropagator.resetInitialState(EcksteinHechlerPropagator.java:327)
at org.orekit.propagation.analytical.EcksteinHechlerPropagator.<init>(EcksteinHechlerPropagator.java:311)
... 2 more
Indeed, when calling the EcksteinHechlerPropagator constructor, it takes more than 100 iterations to compute mean parameters at the initial state, and therefore the exception is raised.
Here is a specific orbit among others, retrieved from the simulation, for which the computation in mean elements is not possible :
AbsoluteDate t = new AbsoluteDate(2016, 07, 22, 9, 35, 42.562, TimeScalesFactory.getUTC());
Frame frame = FramesFactory.getEME2000();
Orbit orbit = new EquinoctialOrbit(7075842.806163763, 0.0012957331188810572, -4.760791390305797E-4,
0.14011350699555794, -1.1457596828634813, 79339.41232985309, PositionAngle.TRUE, frame, t, Constants.WGS84_EARTH_MU);
Double mass = 436.5;
double c20 = Constants.EIGEN5C_EARTH_C20;
double c30 = Constants.EIGEN5C_EARTH_C30;
double c40 = Constants.EIGEN5C_EARTH_C40;
double c50 = Constants.EIGEN5C_EARTH_C50;
double c60 = Constants.EIGEN5C_EARTH_C60;
EcksteinHechlerPropagator analyticalPropagatorWrong = new EcksteinHechlerPropagator(orbit,
mass, Constants.WGS84_EARTH_EQUATORIAL_RADIUS, Constants.WGS84_EARTH_MU, c20, c30, c40,
c50, c60);
Is there a better way to convert osculating parameters to mean parameters?
Best,
Lara Hué