Class BasicConstantThrustPropulsionModel
- java.lang.Object
-
- org.orekit.forces.maneuvers.propulsion.AbstractConstantThrustPropulsionModel
-
- org.orekit.forces.maneuvers.propulsion.BasicConstantThrustPropulsionModel
-
- All Implemented Interfaces:
PropulsionModel,ThrustPropulsionModel,EventDetectorsProvider,ParameterDriversProvider
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 Summary
Fields Modifier and Type Field Description static StringFLOW_RATEParameter name for flow rate.static doubleFLOW_RATE_SCALEFlow rate scaling factor.static StringTHRUSTParameter name for thrust.static doubleTHRUST_SCALEThrust scaling factor.-
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY
-
-
Constructor Summary
Constructors Constructor Description BasicConstantThrustPropulsionModel(double thrust, double isp, Vector3D direction, String name)Simple constructor.BasicConstantThrustPropulsionModel(double thrust, double isp, Vector3D direction, Control3DVectorCostType control3DVectorCostType, String name)Generic constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doublegetFlowRate()Get the flow rate (kg/s).doublegetFlowRate(double[] parameters)Get the flow rate (kg/s).doublegetFlowRate(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.Vector3DgetThrustVector()Get the thrust vector in spacecraft frame (N).Vector3DgetThrustVector(double[] parameters)Get the thrust vector in spacecraft frame (N).Vector3DgetThrustVector(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
getDateDetector, getEventDetectors, getFieldDateDetector, 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
-
THRUST
public static final String THRUST
Parameter name for thrust.- See Also:
- Constant Field Values
-
FLOW_RATE
public static final String FLOW_RATE
Parameter name for flow rate.- 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.
-
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, Control3DVectorCostType control3DVectorCostType, String name)Generic constructor.- Parameters:
thrust- thrust (N)isp- isp (s)direction- direction in spacecraft framecontrol3DVectorCostType- control cost typename- name of the maneuver- Since:
- 12.0
-
-
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:
getThrustVectorin 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:
getThrustVectorin 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:
getFlowRatein 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:
getFlowRatein 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:
getThrustVectorin 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:
getFlowRatein 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:
getThrustVectorin 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:
getFlowRatein classAbstractConstantThrustPropulsionModel- Type Parameters:
T- extends CalculusFieldElement<T>- Parameters:
parameters- propulsion model parameters- Returns:
- flow rate (kg/s)
-
-