Hi,
I am using the BrouwerLyddanePropagator to propagate a mean orbit. If I use PropagationType.MEAN, should i expect to get the mean state at the end of the propagation as output?
I used the following test code where i start with a mean orbit at an epoch and use the propagator to propagate to the same epoch to check if i get back the input mean orbit. But looks like the output is different than the input with SMA difference of ~6 kms (that is in agreement with the osculating orbit SMA).
Does the output SpacecraftState of propagator.propagate give the osculating state?
What am i missing here?
inertialFrame = FramesFactory.getEME2000()
initialDate = AbsoluteDate(2020, 1, 12, 17, 17, 0, TimeScalesFactory.getUTC())
mu = EARTH_MU_WGS72.to(u.m**3/u.s**2).value
# Define input mean orbit elements:
a = 6980000 # Semi-major axis [m]
e = 0.001 # Eccentricity
i_rad = math.radians(60) # Inclination in rad
omega_rad = math.radians(100) # Argument of perigee in rad
raan_rad = math.radians(195) # Right ascension of ascending node in rad
anomaly_rad = math.radians(0) # True anomaly in rad
input_meanOrbit = KeplerianOrbit(a, e, i_rad, omega_rad, raan_rad, anomaly_rad,
PositionAngleType.TRUE, inertialFrame, initialDate, mu)
gravity_field_degree = 10
gravity_field_order = 10
gravityProvider = GravityFieldFactory.getUnnormalizedProvider(gravity_field_degree, gravity_field_order)
propagator = BrouwerLyddanePropagator(input_meanOrbit, gravityProvider, PropagationType.MEAN, BrouwerLyddanePropagator.M2)
State = propagator.propagate(initialDate)
output_Orbit = State.getOrbit()