Class SingleBodyAbsoluteAttraction

  • All Implemented Interfaces:
    ForceModel, EventDetectorsProvider, ParameterDriversProvider

    public class SingleBodyAbsoluteAttraction
    extends Object
    implements ForceModel
    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
    • 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

      • 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