Class ScaledConstantThrustPropulsionModel
- java.lang.Object
-
- org.orekit.forces.maneuvers.propulsion.AbstractConstantThrustPropulsionModel
-
- org.orekit.forces.maneuvers.propulsion.ScaledConstantThrustPropulsionModel
-
- All Implemented Interfaces:
PropulsionModel
,ThrustPropulsionModel
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 Summary
Fields Modifier and Type Field Description static String
THRUSTX_SCALE_FACTOR
Parameter name for the scale factor on the X component of the thrust in S/C frame.static String
THRUSTY_SCALE_FACTOR
Parameter name for the scale factor on the Y component of the thrust in S/C frame.static String
THRUSTZ_SCALE_FACTOR
Parameter name for the scale factor on the Z component of the thrust in S/C frame.
-
Constructor Summary
Constructors Constructor Description ScaledConstantThrustPropulsionModel(double thrust, double isp, Vector3D direction, String name)
Constructor with min/max deviation for the scale factors.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getFlowRate()
Get the flow rate (kg/s).double
getFlowRate(double[] parameters)
Get the flow rate (kg/s).<T extends CalculusFieldElement<T>>
TgetFlowRate(T[] parameters)
Get the flow rate (kg/s).List<ParameterDriver>
getParametersDrivers()
Get the propulsion model parameter drivers.Vector3D
getThrustVector()
Get the thrust vector in spacecraft frame (N).Vector3D
getThrustVector(double[] parameters)
Get the thrust vector in spacecraft frame (N).<T extends CalculusFieldElement<T>>
FieldVector3D<T>getThrustVector(T[] parameters)
Get the thrust vector in spacecraft frame (N).-
Methods inherited from class org.orekit.forces.maneuvers.propulsion.AbstractConstantThrustPropulsionModel
getDirection, getFlowRate, getFlowRate, getFlowRate, getInitialFlowrate, getInitialThrustVector, getIsp, getName, getThrust, getThrustVector, getThrustVector, getThrustVector
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.forces.maneuvers.propulsion.PropulsionModel
init, init
-
Methods inherited from interface org.orekit.forces.maneuvers.propulsion.ThrustPropulsionModel
getAcceleration, getAcceleration, getDirection, getIsp, getMassDerivatives, getMassDerivatives, getThrust
-
-
-
-
Field Detail
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
-
Constructor Detail
-
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 framename
- the 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 classAbstractConstantThrustPropulsionModel
- 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 classAbstractConstantThrustPropulsionModel
- Returns:
- flow rate (kg/s)
-
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 classAbstractConstantThrustPropulsionModel
- 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 classAbstractConstantThrustPropulsionModel
- 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 classAbstractConstantThrustPropulsionModel
- 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 classAbstractConstantThrustPropulsionModel
- Type Parameters:
T
- extends CalculusFieldElement<T>- Parameters:
parameters
- propulsion model parameters- Returns:
- flow rate (kg/s)
-
-