Class NewtonianAttraction

  • All Implemented Interfaces:
    ForceModel

    public class NewtonianAttraction
    extends AbstractForceModel
    Force model for Newtonian central body attraction.
    Author:
    Luc Maisonobe
    • Field Detail

      • CENTRAL_ATTRACTION_COEFFICIENT

        public static final String CENTRAL_ATTRACTION_COEFFICIENT
        Name of the single parameter of this model: the central attraction coefficient.
        See Also:
        Constant Field Values
    • Constructor Detail

      • NewtonianAttraction

        public NewtonianAttraction​(double mu)
        Simple constructor.
        Parameters:
        mu - central attraction coefficient (m^3/s^2)
    • 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
      • getMu

        public double getMu()
        Get the central attraction coefficient μ.
        Returns:
        mu central attraction coefficient (m³/s²)
      • addContribution

        public void addContribution​(SpacecraftState s,
                                    TimeDerivativesEquations adder)
        Compute the contribution of the force model to the perturbing acceleration.

        The default implementation simply adds the acceleration as a non-Keplerian acceleration.

        Parameters:
        s - current state information: date, kinematics, attitude
        adder - object where the contribution should be added
      • addContribution

        public <T extends org.hipparchus.RealFieldElement<T>> void addContribution​(FieldSpacecraftState<T> s,
                                                                                   FieldTimeDerivativesEquations<T> adder)
        Compute the contribution of the force model to the perturbing acceleration.
        Type Parameters:
        T - type of the elements
        Parameters:
        s - current state information: date, kinematics, attitude
        adder - object where the contribution should be added
      • acceleration

        public org.hipparchus.geometry.euclidean.threed.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 org.hipparchus.RealFieldElement<T>> org.hipparchus.geometry.euclidean.threed.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 org.hipparchus.RealFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventsDetectors​(org.hipparchus.Field<T> field)
        Get the discrete events related to the model.
        Type Parameters:
        T - extends RealFieldElement
        Parameters:
        field - field to which the state belongs
        Returns:
        stream of events detectors
      • getParametersDrivers

        public ParameterDriver[] getParametersDrivers()
        Get the drivers for force model parameters.
        Returns:
        drivers for force model parameters