Hey guys, I have an issue comparing KeplerianOrbit and CircularOrbit. I want to implement a CircularOrbit for performance reasons. Although giving both OrbitTypes the same input values, the initial Position seems to be different.
How do I implement the same orbit and initial date for both OrbitTypes?
Some code:
Phase 1
a_P1 = r_earth + 450e3
e_P1 = 0.0
i_P1 = FastMath.toRadians(98.6)
omega = FastMath.toRadians(90.0)
raan = FastMath.toRadians(10.0)
wa = FastMath.toRadians(10.0)
#calculate u for Circular Orbit
u = raan + wa # True Longitude (raan + wa)
#create Orbits
create_orbit_K = KeplerianOrbit(a_P1, e_P1, i_P1, omega, raan, wa,
PositionAngle.TRUE, FramesFactory.getGCRF(), initDate, mu_earth)
create_orbit_C = CircularOrbit(a_P1, e_P1, 0.0, i_P1, omega, u,
PositionAngle.TRUE, FramesFactory.getGCRF(), initDate, mu_earth)
Propagation
propagator_K = KeplerianPropagator(create_orbit_K)
propagator_C = KeplerianPropagator(create_orbit_C)
propagate_orbit_K = propagator_K.propagate(initDate.shiftedBy(4000.0))
propagate_orbit_C = propagator_C.propagate(initDate.shiftedBy(4000.0))
position_K = propagate_orbit_K.getPVCoordinates().getPosition()
velocity_K = propagate_orbit_K.getPVCoordinates().getVelocity()
position_C = propagate_orbit_C.getPVCoordinates().getPosition()
velocity_C = propagate_orbit_C.getPVCoordinates().getVelocity()