Interface PropulsionModel
- All Superinterfaces:
EventDetectorsProvider,ParameterDriversProvider
- All Known Subinterfaces:
ThrustPropulsionModel
- All Known Implementing Classes:
AbstractConstantThrustPropulsionModel,BasicConstantThrustPropulsionModel,ProfileThrustPropulsionModel,ScaledConstantThrustPropulsionModel,SphericalConstantThrustPropulsionModel
Generic interface for a propulsion model used in a
Maneuver.- Since:
- 10.2
- Author:
- Maxime Journot
-
Field Summary
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY -
Method Summary
Modifier and TypeMethodDescription<T extends CalculusFieldElement<T>>
FieldVector3D<T> getAcceleration(FieldSpacecraftState<T> s, FieldAttitude<T> maneuverAttitude, T[] parameters) Get the acceleration of the spacecraft during maneuver and in maneuver frame.getAcceleration(SpacecraftState s, Attitude maneuverAttitude, double[] parameters) Get the acceleration of the spacecraft during maneuver and in maneuver frame.Get the control vector's cost type.default Stream<EventDetector> Get the discrete events related to the model.default <T extends CalculusFieldElement<T>>
Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field) Get the discrete events related to the model.<T extends CalculusFieldElement<T>>
TgetMassDerivatives(FieldSpacecraftState<T> s, T[] parameters) Get the mass derivative (i.e. flow rate in kg/s) during maneuver.doublegetMassDerivatives(SpacecraftState s, double[] parameters) Get the mass derivative (i.e. flow rate in kg/s) during maneuver.default StringgetName()Get the maneuver name.default <T extends CalculusFieldElement<T>>
voidinit(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> target) Initialization method.default voidinit(SpacecraftState initialState, AbsoluteDate target) Initialization method.Methods inherited from interface org.orekit.propagation.events.EventDetectorsProvider
getDateDetector, getEventDetectors, getFieldDateDetector, getFieldEventDetectorsMethods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, getParametersDrivers, isSupported
-
Method Details
-
init
Initialization method. Called in when Maneuver.init(...) is called (from ForceModel.init(...))- Parameters:
initialState- initial spacecraft state (at the start of propagation).target- date of propagation. Not equal toinitialState.getDate().
-
init
default <T extends CalculusFieldElement<T>> void init(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> target) Initialization method. Called in when Maneuver.init(...) is called (from ForceModel.init(...))- Type Parameters:
T- type of the elements- Parameters:
initialState- initial spacecraft state (at the start of propagation).target- date of propagation. Not equal toinitialState.getDate().- Since:
- 11.1
-
getEventDetectors
Get the discrete events related to the model.This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.
- Specified by:
getEventDetectorsin interfaceEventDetectorsProvider- Returns:
- stream of event detectors
-
getFieldEventDetectors
default <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field) Get the discrete events related to the model.This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.
- Specified by:
getFieldEventDetectorsin interfaceEventDetectorsProvider- Type Parameters:
T- extends CalculusFieldElement<T>- Parameters:
field- field to which the state belongs- Returns:
- stream of event detectors
-
getAcceleration
Get the acceleration of the spacecraft during maneuver and in maneuver frame.- Parameters:
s- current spacecraft statemaneuverAttitude- current attitude in maneuverparameters- propulsion model parameters- Returns:
- acceleration
-
getAcceleration
<T extends CalculusFieldElement<T>> FieldVector3D<T> getAcceleration(FieldSpacecraftState<T> s, FieldAttitude<T> maneuverAttitude, T[] parameters) Get the acceleration of the spacecraft during maneuver and in maneuver frame.- Type Parameters:
T- extends CalculusFieldElement<T>- Parameters:
s- current spacecraft statemaneuverAttitude- current attitude in maneuverparameters- propulsion model parameters- Returns:
- acceleration
-
getMassDerivatives
Get the mass derivative (i.e. flow rate in kg/s) during maneuver.- Parameters:
s- current spacecraft stateparameters- propulsion model parameters- Returns:
- mass derivative in kg/s
-
getMassDerivatives
Get the mass derivative (i.e. flow rate in kg/s) during maneuver.- Type Parameters:
T- extends CalculusFieldElement<T>- Parameters:
s- current spacecraft stateparameters- propulsion model parameters- Returns:
- mass derivative in kg/s
-
getName
Get the maneuver name.- Returns:
- the maneuver name
-
getControl3DVectorCostType
Control3DVectorCostType getControl3DVectorCostType()Get the control vector's cost type.- Returns:
- control cost type
- Since:
- 12.0
-