Interface DSSTForceModel

    • Method Detail

      • init

        default void init​(SpacecraftState initialState,
                          AbsoluteDate target)
        Initialize the force model at the start of propagation.

        The default implementation of this method does nothing.

        Parameters:
        initialState - spacecraft state at the start of propagation.
        target - date of propagation. Not equal to initialState.getDate().
        Since:
        11.0
      • init

        default <T extends CalculusFieldElement<T>> void init​(FieldSpacecraftState<T> initialState,
                                                              FieldAbsoluteDate<T> target)
        Initialize the force model at the start of propagation.

        The default implementation of this method does nothing.

        Type Parameters:
        T - type of the elements
        Parameters:
        initialState - spacecraft state at the start of propagation.
        target - date of propagation. Not equal to initialState.getDate().
        Since:
        11.1
      • initializeShortPeriodTerms

        List<ShortPeriodTerms> initializeShortPeriodTerms​(AuxiliaryElements auxiliaryElements,
                                                          PropagationType type,
                                                          double[] parameters)
        Performs initialization prior to propagation for the current force model.

        This method aims at being called at the very beginning of a propagation.

        Parameters:
        auxiliaryElements - auxiliary elements related to the current orbit
        type - type of the elements used during the propagation
        parameters - values of the force model parameters
        Returns:
        a list of objects that will hold short period terms (the objects are also retained by the force model, which will update them during propagation)
      • initializeShortPeriodTerms

        <T extends CalculusFieldElement<T>> List<FieldShortPeriodTerms<T>> initializeShortPeriodTerms​(FieldAuxiliaryElements<T> auxiliaryElements,
                                                                                                      PropagationType type,
                                                                                                      T[] parameters)
        Performs initialization prior to propagation for the current force model.

        This method aims at being called at the very beginning of a propagation.

        Type Parameters:
        T - type of the elements
        Parameters:
        auxiliaryElements - auxiliary elements related to the current orbit
        type - type of the elements used during the propagation
        parameters - values of the force model parameters
        Returns:
        a list of objects that will hold short period terms (the objects are also retained by the force model, which will update them during propagation)
      • getParameters

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

        default <T extends CalculusFieldElement<T>> T[] getParameters​(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
      • getMeanElementRate

        double[] getMeanElementRate​(SpacecraftState state,
                                    AuxiliaryElements auxiliaryElements,
                                    double[] parameters)
        Computes the mean equinoctial elements rates dai / dt.
        Parameters:
        state - current state information: date, kinematics, attitude
        auxiliaryElements - auxiliary elements related to the current orbit
        parameters - values of the force model parameters
        Returns:
        the mean element rates dai/dt
      • getMeanElementRate

        <T extends CalculusFieldElement<T>> T[] getMeanElementRate​(FieldSpacecraftState<T> state,
                                                                   FieldAuxiliaryElements<T> auxiliaryElements,
                                                                   T[] parameters)
        Computes the mean equinoctial elements rates dai / dt.
        Type Parameters:
        T - type of the elements
        Parameters:
        state - current state information: date, kinematics, attitude
        auxiliaryElements - auxiliary elements related to the current orbit
        parameters - values of the force model parameters
        Returns:
        the mean element rates dai/dt
      • getEventsDetectors

        EventDetector[] getEventsDetectors()
        Get the discrete events related to the model.
        Returns:
        array of events detectors or null if the model is not related to any discrete events
      • getFieldEventsDetectors

        <T extends CalculusFieldElement<T>> FieldEventDetector<T>[] getFieldEventsDetectors​(Field<T> field)
        Get the discrete events related to the model.
        Type Parameters:
        T - type of the elements
        Parameters:
        field - field used by default
        Returns:
        array of events detectors or null if the model is not related to any discrete events
      • registerAttitudeProvider

        void registerAttitudeProvider​(AttitudeProvider provider)
        Register an attitude provider.

        Register an attitude provider that can be used by the force model.

        Parameters:
        provider - the AttitudeProvider