Class BasicConstantThrustPropulsionModel

  • All Implemented Interfaces:
    PropulsionModel, ThrustPropulsionModel

    public class BasicConstantThrustPropulsionModel
    extends AbstractConstantThrustPropulsionModel
    Constant thrust propulsion model with: - Constant thrust direction in spacecraft frame - Parameter drivers (for estimation) for the thrust norm or the flow rate. Note that both parameters CANNOT be selected at the same time since they depend on one another.
    Since:
    10.2
    Author:
    Maxime Journot
    • 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,
                                                  String name)
        Simple constructor.
        Parameters:
        thrust - thrust (N)
        isp - isp (s)
        direction - direction in spacecraft frame
        name - name of the maneuver
    • Method Detail

      • getParametersDrivers

        public List<ParameterDriver> getParametersDrivers()
        Get the propulsion model parameter drivers.
        Returns:
        propulsion model parameter drivers
      • 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)