Hi everybody!
I have just started using the Orekit-Library. My goal is to compare different propagation methods for LEO satellites. More precisely I’d like to see the position error/difference between an analytical propagator (EcksteinHechler) and a numerical integrator using only the gravitational perturbations.
My input data is a GPS state vector (position, vlocity, time) of the Sentinel6A satellite in ECEF frame.
My probem is, that I can’t get the EcksteinHechler propagator to work. Maybe somebody can help me figure it out:
I’m trying to do the following:
public void analyticalPropagator () {
// data providers
File orekitData = new File("...\\orekit-data-master");
DataProvidersManager manager = DataContext.getDefault().getDataProvidersManager();
manager.addProvider(new DirectoryCrawler(orekitData));
double mu = 3.986004415e+14;
double referenceRadius = 6378.1363e3;
double c20 = 0.00108262668;
double c30 = -0.2532435346e-5;
double c40 = 0.1619331205e-5;
double c50 = 0.2277161016e10-6;
double c60 = -0.5396484906e10-6;
// start time S6A
TimeScale utc = TimeScalesFactory.getUTC();
// Sentinel 6A (PVT in ECEF/ICRF)
AbsoluteDate initialDate = new AbsoluteDate(2024, 01, 14, 21, 59, 23.000, utc);
PVCoordinates initialCoordinates = new PVCoordinates(new Vector3D(153847.541, -7657138.782, -953892.469), new Vector3D(2365.132521, 858.055848, -6509.012544));
// frame
Frame itrf = FramesFactory.getITRF(IERSConventions.IERS_2010, false);
Frame gcrf = FramesFactory.getEME2000();
// Transform to GCRF
Transform transform = itrf.getTransformTo(gcrf, initialDate);
PVCoordinates pvt_gcrf = transform.transformPVCoordinates(initialCoordinates);
Orbit initialOrbit = new CartesianOrbit(initialAbsolutePV, gcrf, initialDate, mu);
EcksteinHechlerPropagator eckstein = new EcksteinHechlerPropagator(initialOrbit, referenceRadius, mu, c20, c30, c40, c50 ,c60);
}
I allways get a error when creating the ecksetin propagator during the transformation of the initial state to the mean elements:
“Exception in thread “main” org.orekit.errors.OrekitException: unable to compute Eckstein-Hechler mean parameters after 101 iterations
at org.orekit.propagation.analytical.EcksteinHechlerPropagator.computeMeanParameters(EcksteinHechlerPropagator.java:716)
at org.orekit.propagation.analytical.EcksteinHechlerPropagator.resetInitialState(EcksteinHechlerPropagator.java:622)
at org.orekit.propagation.analytical.EcksteinHechlerPropagator.(EcksteinHechlerPropagator.java:482)
at org.orekit.propagation.analytical.EcksteinHechlerPropagator.(EcksteinHechlerPropagator.java:430)
at org.orekit.propagation.analytical.EcksteinHechlerPropagator.(EcksteinHechlerPropagator.java:328)
at org.orekit.propagation.analytical.EcksteinHechlerPropagator.(EcksteinHechlerPropagator.java:180)
at propagators.propagators.analyticalPropagator(propagators.java:80)
at App.main(App.java:10)”
Does anybode see my error? Is it nescessary to transform the initial state vector to the GCRF frame?
Thank you very much in advance!
Best regards
Simon