Open DavidHammen opened 1 year ago
This may or may not be important in the case of using JEOD for an EMB-centered frame. NASA is now doing stuff where an EMB-centered frame is a reasonable choice. A simple python script using extended precision could rule the significance in or out, in which case this might become a will-not-fix item.
The third body effect perturbation (equation 3.13 in gravity.pdf) assumes the gravitational acceleration of the frame origin toward a third body is the Newtonian gravitational acceleration of the point at the frame origin toward the third body. This is correct for a planet-centered integration frame but is incorrect for a barycentric integration frame. There are two barycentric integration frames in JEOD: The solar system barycenter (in which case
is_third_body
is alwaysfalse
), and the Earth-Moon barycenter (in which caseis_third_body
isfalse
only for the Earth and the Moon).This means that the Earth-Moon barycenter as an integration frame should be treated as a special case in models/environment/gravity/src/gravity_controls.cc, lines 352 to 380. The gravitational acceleration of the Earth-Moon barycenter toward a third body such as the Sun or another planet should be calculated as the mass-weighted (or mu-weighted) average of the gravitational accelerations of the Earth and the Moon toward that third body.
What needs to be done is to add a special subcase for
if (grav_source_frame.is_third_body)
when the integration frame is the Earth-Moon barycenter. As an initial step, I would forego using Battin's method.