Class CR3BPForceModel

  • All Implemented Interfaces:
    ForceModel, ParametersDriversProvider

    public class CR3BPForceModel
    extends AbstractForceModel
    Class calculating the acceleration induced by CR3BP model.
    Since:
    10.2
    Author:
    Vincent Mouraux
    See Also:
    "Dynamical systems, the three-body problem, and space mission design, Koon, Lo, Marsden, Ross"
    • Field Detail

      • MASS_RATIO_SUFFIX

        public static final String MASS_RATIO_SUFFIX
        Suffix for parameter name for Mass Ratio enabling Jacobian processing.
        See Also:
        Constant Field Values
    • Constructor Detail

      • CR3BPForceModel

        public CR3BPForceModel​(CR3BPSystem cr3bp)
        Simple constructor.
        Parameters:
        cr3bp - Name of the CR3BP System
    • 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
        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
      • getPotential

        public DerivativeStructure getPotential​(SpacecraftState s)
        Calculate spacecraft potential.
        Parameters:
        s - SpacecraftState
        Returns:
        Spacecraft Potential
      • 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)
        Description copied from interface: ForceModel
        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
      • 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