Class DeSitterRelativity

  • All Implemented Interfaces:
    ForceModel, EventDetectorsProvider, ParameterDriversProvider

    public class DeSitterRelativity
    extends Object
    implements ForceModel
    De Sitter post-Newtonian correction force due to general relativity.

    De Sitter term causes a precession of the orbital plane at a rate of 19 mas per year.

    Since:
    10.3
    Author:
    Bryan Cazabonne
    See Also:
    "Petit, G. and Luzum, B. (eds.), IERS Conventions (2010), Chapter 10, General relativistic models for space-time coordinates and equations of motion (2010)"
    • Field Detail

      • ATTRACTION_COEFFICIENT_SUFFIX

        public static final String ATTRACTION_COEFFICIENT_SUFFIX
        Suffix for parameter name for attraction coefficient enabling Jacobian processing.
        See Also:
        Constant Field Values
    • Method Detail

      • getSun

        public CelestialBody getSun()
        Get the sun model used to compute De Sitter effect.
        Returns:
        the sun model
      • getEarth

        public CelestialBody getEarth()
        Get the Earth model used to compute De Sitter effect.
        Returns:
        the earth model
      • dependsOnPositionOnly

        public boolean dependsOnPositionOnly()
        Check if force models depends on position only.
        Specified by:
        dependsOnPositionOnly in interface ForceModel
        Returns:
        true if force model depends on position only, false if it depends on velocity, either directly or due to a dependency on attitude
      • acceleration

        public Vector3D acceleration​(SpacecraftState s,
                                     double[] parameters)
        Compute acceleration.
        Specified by:
        acceleration in interface ForceModel
        Parameters:
        s - current state information: date, kinematics, attitude
        parameters - values of the force model parameters at state date, only 1 value for each parameterDriver
        Returns:
        acceleration in same frame as state
      • acceleration

        public <T extends CalculusFieldElement<T>> FieldVector3D<T> acceleration​(FieldSpacecraftState<T> s,
                                                                                 T[] parameters)
        Compute acceleration.
        Specified by:
        acceleration in interface ForceModel
        Type Parameters:
        T - type of the elements
        Parameters:
        s - current state information: date, kinematics, attitude
        parameters - values of the force model parameters at state date, only 1 value for each parameterDriver
        Returns:
        acceleration in same frame as state