Function lupnt::AccelerationPointMass

Function Documentation

Vec3 lupnt::AccelerationPointMass(const Vec3 &r, const Vec3 &s, Real GM)

Computes the acceleration due to a point mass.

Compute the third-body (point-mass) gravitational acceleration on a spacecraft, including the indirect (central-body recoil) term.

Called by NumericalOrbitDynamics::CalcContrib for each perturbing body that does NOT use a spherical-harmonic gravity field (body.use_gravity_field / == false), e.g. the Sun, Moon, or outer planets perturbing an Earth- or Moon-centered orbit. Implements a = -GM * (d/|d|^3 + s/|s|^3) where d = r / - s, i.e. the direct attraction on the spacecraft minus the central body’s own acceleration toward the same point mass.

Parameters:
  • rSatellite position [m]

  • s – Point mass position [m]

  • GM – Gravitational coefficient of point mass [m^3/s^2]

  • r – Spacecraft position relative to the central body [m]

  • s – Perturbing point-mass position relative to the central body [m]

  • GM – Gravitational parameter of the perturbing point mass [m^3/s^2]

Returns:

Acceleration [m/s^2] O. Montenbruck and G. Eberhard, Satellite orbits: models, methods, and applications. Berlin : New York: Springer, 2000. doi: 10.1007/978-3-642-58351-3.

Returns:

Perturbing acceleration on the spacecraft [m/s^2]