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 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.-
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY
-
-
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).double
getFlowRate(AbsoluteDate date)
Get the flow rate (kg/s).<T extends CalculusFieldElement<T>>
TgetFlowRate(T[] parameters)
Get the flow rate (kg/s).List<ParameterDriver>
getParametersDrivers()
Get the drivers for parameters.Vector3D
getThrustVector()
Get the thrust vector in spacecraft frame (N).Vector3D
getThrustVector(double[] parameters)
Get the thrust vector in spacecraft frame (N).Vector3D
getThrustVector(AbsoluteDate date)
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
getControl3DVectorCostType, getDirection, getDirection, getFlowRate, getFlowRate, getFlowRate, getInitialFlowRate, getInitialThrustVector, getIsp, getIsp, getName, getThrustMagnitude, getThrustMagnitude, 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.propagation.events.EventDetectorsProvider
getEventDetectors, getFieldEventDetectors
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Methods inherited from interface org.orekit.forces.maneuvers.propulsion.PropulsionModel
getEventDetectors, getFieldEventDetectors, init, init
-
Methods inherited from interface org.orekit.forces.maneuvers.propulsion.ThrustPropulsionModel
getAcceleration, getAcceleration, getDirection, getIsp, getMassDerivatives, getMassDerivatives
-
-
-
-
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), 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 classAbstractConstantThrustPropulsionModel
- 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 classAbstractConstantThrustPropulsionModel
- 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 classAbstractConstantThrustPropulsionModel
- 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 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)
-
-