Interface ForceModel

    • Method Detail

      • addContribution

        default 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

        default <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
      • getParameters

        default double[] getParameters()
        Get force model parameters.
        Returns:
        force model parameters
        Since:
        9.0
      • getParameters

        default <T extends org.hipparchus.RealFieldElement<T>> T[] getParameters​(org.hipparchus.Field<T> field)
        Get force model parameters.
        Type Parameters:
        T - type of the elements
        Parameters:
        field - field to which the elements belong
        Returns:
        force model parameters
        Since:
        9.0
      • dependsOnPositionOnly

        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
        Since:
        9.0
      • acceleration

        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
        Since:
        9.0
      • acceleration

        <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
        Since:
        9.0
      • getEventsDetectors

        Stream<EventDetector> getEventsDetectors()
        Get the discrete events related to the model.
        Returns:
        stream of events detectors
      • getFieldEventsDetectors

        <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

        ParameterDriver[] getParametersDrivers()
        Get the drivers for force model parameters.
        Returns:
        drivers for force model parameters
        Since:
        8.0
      • getParameterDriver

        ParameterDriver getParameterDriver​(String name)
        Get parameter value from its name.
        Parameters:
        name - parameter name
        Returns:
        parameter value
        Since:
        8.0
      • isSupported

        boolean isSupported​(String name)
        Check if a parameter is supported.

        Supported parameters are those listed by getParametersDrivers().

        Parameters:
        name - parameter name to check
        Returns:
        true if the parameter is supported
        See Also:
        getParametersDrivers()