jacobwilliams / Fortran-Astrodynamics-Toolkit

A Modern Fortran Library for Astrodynamics 🚀
Other
175 stars 50 forks source link

Orbital Elements Module #13

Closed CumuloEpsilon closed 6 years ago

CumuloEpsilon commented 6 years ago

Love your new orbital_mechanics_module! Nice programming. Elegant and excellent. As usual.

jacobwilliams commented 6 years ago

Thanks!

CumuloEpsilon commented 6 years ago

Jacob,

Certainly, but I think the honor is still mine. Its almost as if you wrote it just for me, and my little heart warmed and even almost melted. This puts you a heartbeat from incorporating the Standish ephemeris into the fat, which for five obvious good reasons would be great, imho. Converting the Standish calculated elements to these elements would be elementary.

I might mention, without intended criticism of any kind, ... er.. you use the "parameter" p which I deduce is p=a(1-e^2) = rp*ra / a = h^2/mu, as also used by Gooding for example, and is also called the 'semi-latus rectum' (which nobody likes to say because the kids giggle, and also has too many letters). However, it has come to my attention that some of our esteemed math folks call a(1-e^2)/e the 'focal parameter of an ellipse', (see Weissstein, ellipse at mathworld) so the term is possibly ambiguous. Also, Gooding discards this p=(1-e^2) in favor of q=a(1-e) (the periapsis distance) as a universal element as used in your other routines (gooding_module). NASA Horizons reports QR, the periapsis distance, as an element, but not P. Perhaps a comment notation that ! p = a(1-e^2) in your code will help us plodders follow along better. The periapsis distance computed as q=p/(1+e) is easy to compute and matches with your Gooding routines, and might be better to use(?). You may have your reasons, but consider.

PS - those math routines in your vector and math modules sure do help out. Without those, the code is a confusing mess, rXv and such. With them, sweet little one-liners. Just noting that they train you guys pretty good at nasa. Nice to see, as I prefer to steal ideas only from the best.

So, the honor is still mine. Thank you!

jacobwilliams commented 6 years ago

Yes p is called parameter, semiparameter, or semilatus rectum. It is just a*(1-e**2) I'm make a note in the comment.