Class SingleBodyAbsoluteAttraction

  • All Implemented Interfaces:
    ForceModel, EventDetectorsProvider, ParameterDriversProvider

    public class SingleBodyAbsoluteAttraction
    extends AbstractBodyAttraction
    Body attraction force model computed as absolute acceleration towards a body.

    This force model represents the same physical principles as NewtonianAttraction, but has several major differences:

    • the attracting body can be away from the integration frame center,
    • several instances of this force model can be added when several bodies are involved,
    • this force model is never automatically added by the numerical propagator

    The possibility for the attracting body to be away from the frame center allows to use this force model when integrating for example an interplanetary trajectory propagated in an Earth centered frame (in which case an instance of InertialForces must also be added to take into account the coupling effect of relative frames motion).

    The possibility to add several instances allows to use this in interplanetary trajectories or in trajectories about Lagrangian points

    The fact this force model is never automatically added by the numerical propagator differs from NewtonianAttraction as NewtonianAttraction may be added automatically when propagating a trajectory represented as an Orbit, which must always refer to a central body, if user did not add the NewtonianAttraction or set the central attraction coefficient by himself.

    Author:
    Luc Maisonobe, Julio Hernanz
    See Also:
    InertialForces
    • Constructor Detail

      • SingleBodyAbsoluteAttraction

        public SingleBodyAbsoluteAttraction​(ExtendedPositionProvider positionProvider,
                                            String name,
                                            double mu)
        Simple constructor.
        Parameters:
        positionProvider - extended position provider for the body to consider
        name - name of the body
        mu - body gravitational constant
        Since:
        13.0
    • Method Detail

      • 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 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.
        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