Hi Guillaume, On 08/10/2015 07:18 PM, Guillaume
Obrecht wrote:
I'm curious, what is the use case for propagation in a ECEF frame? It is certainly interesting academically, but I can't think of a case where I would use it.
I think the ability to add inertial forces will be a valuable addition to Orekit.
I think you may have two different problems that may be better addressed separately. Currently the Orbit classes represent solutions to the two body problem (TBP). Your use cases for L2 and a swing-by would seem to be instances of the circularly restricted three body problem (CRTBP). So in these cases it would make more sense to have two central bodies instead of zero. Perhaps someone with more experience in this area would know if there are solutions the CRTBP that would make sense to use in the shiftedBy() method. Without any central bodies the object would just have PVA coordinates and the shiftedBy() trajectory would produce a parabolic trajectory. I wouldn't classify this as an orbit, but as a linearizion / series expansion at a particular point. So I think option 1 is the way to go. IIUC this is the same as option 2 to create a new superclass. Perhaps AbsolutePVCoordinates would be a nicer name for the class. This recalls some earlier discussions we had started on the purpose of the orbit classes and whether it should have osculating or mean elements. I think the orbit classes provide a useful trade off between propagation complexity and accuracy by using Kepler's equation for extrapolation. If there isn't a similar equation for these new types of orbits then I think it would be better to not classify them as orbits and instead use PVA coordinates. This would mean that SpacecraftState would have to be updated to no longer depend on the Orbit class. I think it would also be good to keep in mind that most users likely won't use these new features so ECI propagation and orbits should still be easy after the update. Best Regards, Evan
|