Interface ThrustPropulsionModel

    • Method Detail

      • getExhaustVelocity

        static double getExhaustVelocity​(double isp)
        Method computing the effective exhaust velocity from the specific impulse.
        Parameters:
        isp - specific impulse (s)
        Returns:
        effective exhaust velocity (m/s)
        Since:
        13.0
      • getIsp

        default double getIsp​(SpacecraftState s)
        Get the specific impulse (s).
        Parameters:
        s - current spacecraft state
        Returns:
        specific impulse (s).
      • getDirection

        default Vector3D getDirection​(SpacecraftState s)
        Get the thrust direction in spacecraft frame.

        Return a zero vector if there is no thrust for given spacecraft state.

        Parameters:
        s - current spacecraft state
        Returns:
        thrust direction in spacecraft frame
      • getThrustVector

        Vector3D getThrustVector​(SpacecraftState s)
        Get the thrust vector in spacecraft frame (N).
        Parameters:
        s - current spacecraft state
        Returns:
        thrust vector in spacecraft frame (N)
      • getFlowRate

        double getFlowRate​(SpacecraftState s)
        Get the flow rate (kg/s).
        Parameters:
        s - current spacecraft state
        Returns:
        flow rate (kg/s)
      • getThrustVector

        Vector3D getThrustVector​(SpacecraftState s,
                                 double[] parameters)
        Get the thrust vector in spacecraft frame (N).
        Parameters:
        s - current spacecraft state
        parameters - propulsion model parameters
        Returns:
        thrust vector in spacecraft frame (N)
      • getFlowRate

        double getFlowRate​(SpacecraftState s,
                           double[] parameters)
        Get the flow rate (kg/s).
        Parameters:
        s - current spacecraft state
        parameters - propulsion model parameters
        Returns:
        flow rate (kg/s)
      • getThrustVector

        <T extends CalculusFieldElement<T>> FieldVector3D<T> getThrustVector​(FieldSpacecraftState<T> s,
                                                                             T[] parameters)
        Get the thrust vector in spacecraft frame (N).
        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        s - current spacecraft state
        parameters - propulsion model parameters
        Returns:
        thrust vector in spacecraft frame (N)
      • getFlowRate

        <T extends CalculusFieldElement<T>> T getFlowRate​(FieldSpacecraftState<T> s,
                                                          T[] parameters)
        Get the flow rate (kg/s).
        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        s - current spacecraft state
        parameters - propulsion model parameters
        Returns:
        flow rate (kg/s)
      • getAcceleration

        default Vector3D getAcceleration​(SpacecraftState s,
                                         Attitude maneuverAttitude,
                                         double[] parameters)
        Get the acceleration of the spacecraft during maneuver and in maneuver frame. Acceleration is computed here using the thrust vector in S/C frame.
        Specified by:
        getAcceleration in interface PropulsionModel
        Parameters:
        s - current spacecraft state
        maneuverAttitude - current attitude in maneuver
        parameters - propulsion model parameters
        Returns:
        acceleration
      • getAcceleration

        default <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. Acceleration is computed here using the thrust vector in S/C frame.
        Specified by:
        getAcceleration in interface PropulsionModel
        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        s - current spacecraft state
        maneuverAttitude - current attitude in maneuver
        parameters - propulsion model parameters
        Returns:
        acceleration
      • getMassDerivatives

        default double getMassDerivatives​(SpacecraftState s,
                                          double[] parameters)
        Get the mass derivative (i.e. flow rate in kg/s) during maneuver. Mass derivatives are directly extracted here from the flow rate value.
        Specified by:
        getMassDerivatives in interface PropulsionModel
        Parameters:
        s - current spacecraft state
        parameters - propulsion model parameters
        Returns:
        mass derivative in kg/s
      • getMassDerivatives

        default <T extends CalculusFieldElement<T>> T getMassDerivatives​(FieldSpacecraftState<T> s,
                                                                         T[] parameters)
        Get the mass derivative (i.e. flow rate in kg/s) during maneuver. Mass derivatives are directly extracted here from the flow rate value.
        Specified by:
        getMassDerivatives in interface PropulsionModel
        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        s - current spacecraft state
        parameters - propulsion model parameters
        Returns:
        mass derivative in kg/s