Class AbstractConstantThrustPropulsionModel

    • Constructor Detail

      • AbstractConstantThrustPropulsionModel

        public AbstractConstantThrustPropulsionModel​(double thrust,
                                                     double isp,
                                                     Vector3D direction,
                                                     String name)
        Generic constructor.
        Parameters:
        thrust - initial thrust value (N)
        isp - initial isp value (s)
        direction - initial thrust direction in S/C frame
        name - name of the maneuver
    • Method Detail

      • getInitialThrustVector

        protected Vector3D getInitialThrustVector()
      • getInitialFlowrate

        protected double getInitialFlowrate()
      • getIsp

        public double getIsp()
        Get the specific impulse.
        Returns:
        specific impulse (s).
      • getDirection

        public Vector3D getDirection()
        Get the thrust direction in S/C frame.
        Returns:
        the thrust direction in S/C frame
      • getThrust

        public double getThrust()
        Get the thrust value (N).
        Returns:
        the thrust value (N)
      • getThrustVector

        public Vector3D getThrustVector​(SpacecraftState s)
        Get the thrust vector in spacecraft frame (N). Here the thrust vector do not depend on current S/C state.
        Specified by:
        getThrustVector in interface ThrustPropulsionModel
        Parameters:
        s - current spacecraft state
        Returns:
        thrust vector in spacecraft frame (N)
      • getFlowRate

        public double getFlowRate​(SpacecraftState s)
        Get the flow rate (kg/s). Here the flow rate do not depend on current S/C state
        Specified by:
        getFlowRate in interface ThrustPropulsionModel
        Parameters:
        s - current spacecraft state
        Returns:
        flow rate (kg/s)
      • getThrustVector

        public Vector3D getThrustVector​(SpacecraftState s,
                                        double[] parameters)
        Get the thrust vector in spacecraft frame (N). Here the thrust vector do not depend on current S/C state.
        Specified by:
        getThrustVector in interface ThrustPropulsionModel
        Parameters:
        s - current spacecraft state
        parameters - propulsion model parameters
        Returns:
        thrust vector in spacecraft frame (N)
      • getFlowRate

        public double getFlowRate​(SpacecraftState s,
                                  double[] parameters)
        Get the flow rate (kg/s). Here the flow rate do not depend on current S/C state
        Specified by:
        getFlowRate in interface ThrustPropulsionModel
        Parameters:
        s - current spacecraft state
        parameters - propulsion model parameters
        Returns:
        flow rate (kg/s)
      • getThrustVector

        public <T extends CalculusFieldElement<T>> FieldVector3D<T> getThrustVector​(FieldSpacecraftState<T> s,
                                                                                    T[] parameters)
        Get the thrust vector in spacecraft frame (N). Here the thrust vector do not depend on current S/C state.
        Specified by:
        getThrustVector in interface ThrustPropulsionModel
        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        s - current spacecraft state
        parameters - propulsion model parameters
        Returns:
        thrust vector in spacecraft frame (N)
      • getFlowRate

        public <T extends CalculusFieldElement<T>> T getFlowRate​(FieldSpacecraftState<T> s,
                                                                 T[] parameters)
        Get the flow rate (kg/s). Here the flow rate do not depend on current S/C state
        Specified by:
        getFlowRate in interface ThrustPropulsionModel
        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        s - current spacecraft state
        parameters - propulsion model parameters
        Returns:
        flow rate (kg/s)
      • getThrustVector

        public abstract Vector3D getThrustVector()
        Get the thrust vector in spacecraft frame (N). Here it does not depend on current S/C state.
        Returns:
        thrust vector in spacecraft frame (N)
      • getFlowRate

        public abstract double getFlowRate()
        Get the flow rate (kg/s). Here it does not depend on current S/C.
        Returns:
        flow rate (kg/s)
      • getThrustVector

        public abstract Vector3D getThrustVector​(double[] parameters)
        Get the thrust vector in spacecraft frame (N). Here it does not depend on current S/C state.
        Parameters:
        parameters - propulsion model parameters
        Returns:
        thrust vector in spacecraft frame (N)
      • getFlowRate

        public abstract double getFlowRate​(double[] parameters)
        Get the flow rate (kg/s). Here it does not depend on current S/C state.
        Parameters:
        parameters - propulsion model parameters
        Returns:
        flow rate (kg/s)
      • getThrustVector

        public abstract <T extends CalculusFieldElement<T>> FieldVector3D<T> getThrustVector​(T[] parameters)
        Get the thrust vector in spacecraft frame (N). Here it does not depend on current S/C state.
        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        parameters - propulsion model parameters
        Returns:
        thrust vector in spacecraft frame (N)
      • getFlowRate

        public abstract <T extends CalculusFieldElement<T>> T getFlowRate​(T[] parameters)
        Get the flow rate (kg/s). Here it does not depend on current S/C state.
        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        parameters - propulsion model parameters
        Returns:
        flow rate (kg/s)