Class BasicConstantThrustPropulsionModel

    • Field Detail

      • THRUST_SCALE

        public static final double THRUST_SCALE
        Thrust scaling factor.

        We use a power of 2 to avoid numeric noise introduction in the multiplications/divisions sequences.

      • FLOW_RATE_SCALE

        public static final double FLOW_RATE_SCALE
        Flow rate scaling factor.

        We use a power of 2 to avoid numeric noise introduction in the multiplications/divisions sequences.

    • Constructor Detail

      • BasicConstantThrustPropulsionModel

        public BasicConstantThrustPropulsionModel​(double thrust,
                                                  double isp,
                                                  Vector3D direction,
                                                  Control3DVectorCostType control3DVectorCostType,
                                                  String name)
        Generic constructor.
        Parameters:
        thrust - thrust (N)
        isp - isp (s)
        direction - direction in spacecraft frame
        control3DVectorCostType - control cost type
        name - name of the maneuver
        Since:
        12.0
      • BasicConstantThrustPropulsionModel

        public BasicConstantThrustPropulsionModel​(double thrust,
                                                  double isp,
                                                  Vector3D direction,
                                                  String name)
        Simple constructor.
        Parameters:
        thrust - thrust (N)
        isp - isp (s)
        direction - direction in spacecraft frame
        name - name of the maneuver
    • Method Detail

      • getThrustVector

        public Vector3D getThrustVector()
        Get the thrust vector in spacecraft frame (N). Here it does not depend on current S/C state.
        Specified by:
        getThrustVector in class AbstractConstantThrustPropulsionModel
        Returns:
        thrust vector in spacecraft frame (N), will throw an exception if used on driver containing several value spans
      • getThrustVector

        public Vector3D getThrustVector​(AbsoluteDate date)
        Get the thrust vector in spacecraft frame (N). Here it does not depend on current S/C state.
        Specified by:
        getThrustVector in class AbstractConstantThrustPropulsionModel
        Parameters:
        date - date at which the thrust vector wants to be known, often the date parameter will not be important and can be whatever if the thrust parameter driver as only value estimated over the all orbit determination interval
        Returns:
        thrust vector in spacecraft frame (N)
      • getFlowRate

        public double getFlowRate()
        Get the flow rate (kg/s). Here it does not depend on current S/C.
        Specified by:
        getFlowRate in class AbstractConstantThrustPropulsionModel
        Returns:
        flow rate (kg/s) will throw an exception if used on driver containing several value spans
      • getFlowRate

        public double getFlowRate​(AbsoluteDate date)
        Get the flow rate (kg/s). Here it does not depend on current S/C.
        Specified by:
        getFlowRate in class AbstractConstantThrustPropulsionModel
        Parameters:
        date - date at which the thrust vector wants to be known, often the date parameter will not be important and can be whatever if the thrust parameter driver as only value estimated over the all orbit determination interval
        Returns:
        flow rate (kg/s)
      • getParametersDrivers

        public List<ParameterDriver> getParametersDrivers()
        Get the drivers for parameters.
        Returns:
        drivers for parameters
      • getThrustVector

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

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

        public <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.
        Specified by:
        getThrustVector in class AbstractConstantThrustPropulsionModel
        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        parameters - propulsion model parameters
        Returns:
        thrust vector in spacecraft frame (N)
      • getFlowRate

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