Interface PropulsionModel

    • Method Detail

      • init

        default void init​(SpacecraftState initialState,
                          AbsoluteDate target)
        Initialization method. Called in when Maneuver.init(...) is called (from ForceModel.init(...))
        Parameters:
        initialState - initial spacecraft state (at the start of propagation).
        target - date of propagation. Not equal to initialState.getDate().
      • init

        default <T extends CalculusFieldElement<T>> void init​(FieldSpacecraftState<T> initialState,
                                                              FieldAbsoluteDate<T> target)
        Initialization method. Called in when Maneuver.init(...) is called (from ForceModel.init(...))
        Type Parameters:
        T - type of the elements
        Parameters:
        initialState - initial spacecraft state (at the start of propagation).
        target - date of propagation. Not equal to initialState.getDate().
        Since:
        11.1
      • getEventDetectors

        default Stream<EventDetector> getEventDetectors()
        Get the discrete events related to the model.

        This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.

        Specified by:
        getEventDetectors in interface EventDetectorsProvider
        Returns:
        stream of event detectors
      • getFieldEventDetectors

        default <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors​(Field<T> field)
        Get the discrete events related to the model.

        This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.

        Specified by:
        getFieldEventDetectors in interface EventDetectorsProvider
        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        field - field to which the state belongs
        Returns:
        stream of event detectors
      • getAcceleration

        Vector3D getAcceleration​(SpacecraftState s,
                                 Attitude maneuverAttitude,
                                 double[] parameters)
        Get the acceleration of the spacecraft during maneuver and in maneuver frame.
        Parameters:
        s - current spacecraft state
        maneuverAttitude - current attitude in maneuver
        parameters - propulsion model parameters
        Returns:
        acceleration
      • getAcceleration

        <T extends CalculusFieldElement<T>> FieldVector3D<T> getAcceleration​(FieldSpacecraftState<T> s,
                                                                             FieldAttitude<T> maneuverAttitude,
                                                                             T[] parameters)
        Get the acceleration of the spacecraft during maneuver and in maneuver frame.
        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        s - current spacecraft state
        maneuverAttitude - current attitude in maneuver
        parameters - propulsion model parameters
        Returns:
        acceleration
      • getMassDerivatives

        double getMassDerivatives​(SpacecraftState s,
                                  double[] parameters)
        Get the mass derivative (i.e. flow rate in kg/s) during maneuver.
        Parameters:
        s - current spacecraft state
        parameters - propulsion model parameters
        Returns:
        mass derivative in kg/s
      • getMassDerivatives

        <T extends CalculusFieldElement<T>> T getMassDerivatives​(FieldSpacecraftState<T> s,
                                                                 T[] parameters)
        Get the mass derivative (i.e. flow rate in kg/s) during maneuver.
        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        s - current spacecraft state
        parameters - propulsion model parameters
        Returns:
        mass derivative in kg/s
      • getName

        default String getName()
        Get the maneuver name.
        Returns:
        the maneuver name
      • getControl3DVectorCostType

        Control3DVectorCostType getControl3DVectorCostType()
        Get the control vector's cost type.
        Returns:
        control cost type
        Since:
        12.0