Class SphericalConstantThrustPropulsionModel

    • Field Detail

      • THRUST_RIGHT_ASCENSION

        public static final String THRUST_RIGHT_ASCENSION
        Parameter name for thrust right ascension.
        See Also:
        Constant Field Values
      • THRUST_DECLINATION

        public static final String THRUST_DECLINATION
        Parameter name for thrust declination.
        See Also:
        Constant Field Values
      • 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.

    • Constructor Detail

      • SphericalConstantThrustPropulsionModel

        public SphericalConstantThrustPropulsionModel​(double isp,
                                                      double thrustMagnitude,
                                                      Vector3D thrustDirection,
                                                      String name)
        Generic constructor.
        Parameters:
        isp - isp (s)
        thrustMagnitude - thrust magnitude (N)
        thrustDirection - thrust direction in spacecraft frame
        name - name of the maneuver
      • SphericalConstantThrustPropulsionModel

        public SphericalConstantThrustPropulsionModel​(double isp,
                                                      Vector3D thrustVector,
                                                      String name)
        Constructor with thrust vector.
        Parameters:
        isp - isp (s)
        thrustVector - thrust vector in spacecraft frame (N)
        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)