Class ScaledConstantThrustPropulsionModel

java.lang.Object
org.orekit.forces.maneuvers.propulsion.AbstractConstantThrustPropulsionModel
org.orekit.forces.maneuvers.propulsion.ScaledConstantThrustPropulsionModel
All Implemented Interfaces:
PropulsionModel, ThrustPropulsionModel, EventDetectorsProvider, ParameterDriversProvider

public class ScaledConstantThrustPropulsionModel extends AbstractConstantThrustPropulsionModel
Thrust propulsion model with parameters (for estimation) represented by scale factors on the X, Y and Z axis of the spacecraft frame.
Since:
10.2
Author:
Maxime Journot
  • Field Details

    • THRUSTX_SCALE_FACTOR

      public static final String THRUSTX_SCALE_FACTOR
      Parameter name for the scale factor on the X component of the thrust in S/C frame.
      See Also:
    • THRUSTY_SCALE_FACTOR

      public static final String THRUSTY_SCALE_FACTOR
      Parameter name for the scale factor on the Y component of the thrust in S/C frame.
      See Also:
    • THRUSTZ_SCALE_FACTOR

      public static final String THRUSTZ_SCALE_FACTOR
      Parameter name for the scale factor on the Z component of the thrust in S/C frame.
      See Also:
  • Constructor Details

    • ScaledConstantThrustPropulsionModel

      public ScaledConstantThrustPropulsionModel(double thrust, double isp, Vector3D direction, String name)
      Constructor with min/max deviation for the scale factors. Typical usage is, for example, if you know that your propulsion system usually has an error of less than 10% then set the min/max to respectively 0.9 and 1.1.
      Parameters:
      thrust - the thrust (N)
      isp - the isp (s)
      direction - in spacecraft frame
      name - the name of the maneuver
  • Method Details

    • 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)