Class LenseThirringRelativity

  • All Implemented Interfaces:
    ForceModel, ParametersDriversProvider

    public class LenseThirringRelativity
    extends AbstractForceModel
    Lense-Thirring post-Newtonian correction force due to general relativity.

    Lense-Thirring term causes a precession of the orbital plane at a rate of the order of 0.8 mas per year (geostationary) to 180 mas per year (low orbit).

    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)"
    • Constructor Detail

      • LenseThirringRelativity

        public LenseThirringRelativity​(double gm,
                                       Frame bodyFrame)
        Constructor.
        Parameters:
        gm - Earth's gravitational parameter.
        bodyFrame - central body frame
    • Method Detail

      • dependsOnPositionOnly

        public boolean dependsOnPositionOnly()
        Check if force models depends on position only.
        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.
        Parameters:
        s - current state information: date, kinematics, attitude
        parameters - values of the force model parameters
        Returns:
        acceleration in same frame as state
      • acceleration

        public <T extends CalculusFieldElement<T>> FieldVector3D<T> acceleration​(FieldSpacecraftState<T> s,
                                                                                 T[] parameters)
        Compute acceleration.
        Type Parameters:
        T - type of the elements
        Parameters:
        s - current state information: date, kinematics, attitude
        parameters - values of the force model parameters
        Returns:
        acceleration in same frame as state
      • getEventsDetectors

        public Stream<EventDetector> getEventsDetectors()
        Get the discrete events related to the model.
        Returns:
        stream of events detectors
      • getFieldEventsDetectors

        public <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventsDetectors​(Field<T> field)
        Get the discrete events related to the model.
        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        field - field to which the state belongs
        Returns:
        stream of events detectors
      • getParametersDrivers

        public List<ParameterDriver> getParametersDrivers()
        Get the drivers for parameters.
        Returns:
        drivers for parameters