Third-body (pointmass) gravitational acceleration (alternate Battin formulation). See Equation 8.61 in Battin.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in), | dimension(3) | :: | r |
satellite position vector [km] |
|
| real(kind=wp), | intent(in), | dimension(3) | :: | rb |
third-body position vector [km] |
|
| real(kind=wp), | intent(in) | :: | mu |
third-body gravitational parameter [km^3/s^2] |
||
| real(kind=wp), | intent(out), | dimension(3) | :: | acc |
gravity acceleration vector [km/s^2] |
subroutine third_body_gravity_alt(r,rb,mu,acc) real(wp),dimension(3),intent(in) :: r !! satellite position vector [km] real(wp),dimension(3),intent(in) :: rb !! third-body position vector [km] real(wp),intent(in) :: mu !! third-body gravitational parameter [km^3/s^2] real(wp),dimension(3),intent(out) :: acc !! gravity acceleration vector [km/s^2] real(wp) :: rb2, q, f, tmp rb2 = dot_product(rb,rb) q = dot_product(r,r-two*rb)/rb2 tmp = (one+q)**1.5_wp f = q*(three+three*q+q*q)/(one+tmp) acc = -mu*(r+f*rb)/tmp/rb2**1.5_wp end subroutine third_body_gravity_alt