I am propagating a satellite for 12 hours using Earth Gravity and Solid Tides, then comparing the norms of a reference final 3D vector with my propagation’s final position.
However, I get different results when including the Moon and Sun as celestial bodies.
Force Model | Position Difference (km) |
---|---|
Solid Tides SUN + Gravitational Forces | -3.0430546961724758 × 10⁻⁵ |
ONLY Gravitational Forces | -5.945321079343557 × 10⁻⁵ |
Solid Tides MOON + Gravitational Forces | -3.8074825890362266 × 10⁻⁵ |
ALL (Solid Tides (Sun + Moon) + Gravitational) | -2.566743642091751 × 10⁻⁷ |
I ran these different tests because I wasn’t sure how the Moon and Sun would impact the results when passed to the SolidTides
function.
Could anybody please explain me deeper how moon and sun affects the Solid Tides? These variations are related to the gravity of these bodies?
Here is my code implementation:
// Perturbations
// 1. Gravitational Perturbations (Spherical Harmonics JGM-3 4x4)
NormalizedSphericalHarmonicsProvider gravityProvider = GravityFieldFactory.getNormalizedProvider(4,4);
ForceModel earthGravity = new HolmesFeatherstoneAttractionModel(earthFrame, gravityProvider);
propagator.addForceModel(earthGravity);
//2. Solid Tides
// Add Gravity Model with Solid Tides (using IERS conventions)
double ae = 6402000.0; // Earth's equatorial radius
TideSystem tideSystem = TideSystem.TIDE_FREE; // Tidal system
IERSConventions conventions = IERSConventions.IERS_2010; // IERS conventions
UT1Scale ut1 = TimeScalesFactory.getUT1(conventions, true); // UT1 time scale
CelestialBody sun = CelestialBodyFactory.getSun();
CelestialBody moon = CelestialBodyFactory.getMoon();
SolidTides solidTides = new SolidTides(
earthFrame, // Central body frame
ae, // Earth's equatorial radius
mu, // Gravitational parameter
tideSystem, // Tidal system
conventions, // IERS conventions
ut1, // UT1 time scale
moon, sun
);
propagator.addForceModel(solidTides);