Interface PropulsionModel
-
- All Known Subinterfaces:
ThrustPropulsionModel
- All Known Implementing Classes:
AbstractConstantThrustPropulsionModel
,BasicConstantThrustPropulsionModel
,PythonAbstractConstantThrustPropulsionModel
,PythonPropulsionModel
,PythonThrustPropulsionModel
,ScaledConstantThrustPropulsionModel
public interface PropulsionModel
Generic interface for a propulsion model used in aManeuver
.- Since:
- 10.2
- Author:
- Maxime Journot
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description <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.Vector3D
getAcceleration(SpacecraftState s, Attitude maneuverAttitude, double[] parameters)
Get the acceleration of the spacecraft during maneuver and in maneuver frame.<T extends CalculusFieldElement<T>>
TgetMassDerivatives(FieldSpacecraftState<T> s, T[] parameters)
Get the mass derivative (i.e.double
getMassDerivatives(SpacecraftState s, double[] parameters)
Get the mass derivative (i.e.default String
getName()
Get the maneuver name.default List<ParameterDriver>
getParametersDrivers()
Get the propulsion model parameter drivers.default <T extends CalculusFieldElement<T>>
voidinit(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> target)
Initialization method.default void
init(SpacecraftState initialState, AbsoluteDate target)
Initialization method.
-
-
-
Method Detail
-
init
default void init(SpacecraftState initialState, AbsoluteDate target)
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
-
getAcceleration
Vector3D getAcceleration(SpacecraftState s, Attitude maneuverAttitude, double[] parameters)
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
double getMassDerivatives(SpacecraftState s, double[] parameters)
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
<T extends CalculusFieldElement<T>> T getMassDerivatives(FieldSpacecraftState<T> s, T[] parameters)
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
-
getParametersDrivers
default List<ParameterDriver> getParametersDrivers()
Get the propulsion model parameter drivers.- Returns:
- propulsion model parameter drivers
-
getName
default String getName()
Get the maneuver name.- Returns:
- the maneuver name
-
-