Class InertialForces

  • All Implemented Interfaces:
    ForceModel, ParametersDriversProvider

    public class InertialForces
    extends AbstractForceModel
    Inertial force model.

    This force model adds the pseudo-forces due to inertia between the integrating frame and a reference inertial frame from which this force model is built.

    Two typical use-cases are propagating AbsolutePVCoordinates in either:

    • a non-inertial frame (for example propagating in the rotating ITRF frame),
    • an inertial frame that is not related to the main attracting body (for example propagating in EME2000 frame a trajectory about the Sun and Jupiter).

    In the second used case above, the attraction from the two main bodies, i.e. the Sun and Jupiter, should be represented by SingleBodyAbsoluteAttraction instances.

    Author:
    Guillaume Obrecht, Luc Maisonobe
    See Also:
    SingleBodyAbsoluteAttraction
    • 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