Interface ThrustPropulsionModel
-
- All Superinterfaces:
EventDetectorsProvider
,ParameterDriversProvider
,PropulsionModel
- All Known Implementing Classes:
AbstractConstantThrustPropulsionModel
,BasicConstantThrustPropulsionModel
,ProfileThrustPropulsionModel
,ScaledConstantThrustPropulsionModel
public interface ThrustPropulsionModel extends PropulsionModel
Interface for a thrust-based propulsion model.- Since:
- 10.2
- Author:
- Maxime Journot
-
-
Field Summary
-
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default <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.default Vector3D
getAcceleration(SpacecraftState s, Attitude maneuverAttitude, double[] parameters)
Get the acceleration of the spacecraft during maneuver and in maneuver frame.default Vector3D
getDirection(SpacecraftState s)
Get the thrust direction in spacecraft frame.<T extends CalculusFieldElement<T>>
TgetFlowRate(FieldSpacecraftState<T> s, T[] parameters)
Get the flow rate (kg/s).double
getFlowRate(SpacecraftState s)
Get the flow rate (kg/s).double
getFlowRate(SpacecraftState s, double[] parameters)
Get the flow rate (kg/s).default double
getIsp(SpacecraftState s)
Get the specific impulse (s).default <T extends CalculusFieldElement<T>>
TgetMassDerivatives(FieldSpacecraftState<T> s, T[] parameters)
Get the mass derivative (i.e.default double
getMassDerivatives(SpacecraftState s, double[] parameters)
Get the mass derivative (i.e.<T extends CalculusFieldElement<T>>
FieldVector3D<T>getThrustVector(FieldSpacecraftState<T> s, T[] parameters)
Get the thrust vector in spacecraft frame (N).Vector3D
getThrustVector(SpacecraftState s)
Get the thrust vector in spacecraft frame (N).Vector3D
getThrustVector(SpacecraftState s, double[] parameters)
Get the thrust vector in spacecraft frame (N).-
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, getParametersDrivers, isSupported
-
Methods inherited from interface org.orekit.forces.maneuvers.propulsion.PropulsionModel
getControl3DVectorCostType, getEventDetectors, getFieldEventDetectors, getName, init, init
-
-
-
-
Method Detail
-
getIsp
default double getIsp(SpacecraftState s)
Get the specific impulse (s).- Parameters:
s
- current spacecraft state- Returns:
- specific impulse (s).
-
getDirection
default Vector3D getDirection(SpacecraftState s)
Get the thrust direction in spacecraft frame.Return a zero vector if there is no thrust for given spacecraft state.
- Parameters:
s
- current spacecraft state- Returns:
- thrust direction in spacecraft frame
-
getThrustVector
Vector3D getThrustVector(SpacecraftState s)
Get the thrust vector in spacecraft frame (N).- Parameters:
s
- current spacecraft state- Returns:
- thrust vector in spacecraft frame (N)
-
getFlowRate
double getFlowRate(SpacecraftState s)
Get the flow rate (kg/s).- Parameters:
s
- current spacecraft state- Returns:
- flow rate (kg/s)
-
getThrustVector
Vector3D getThrustVector(SpacecraftState s, double[] parameters)
Get the thrust vector in spacecraft frame (N).- Parameters:
s
- current spacecraft stateparameters
- propulsion model parameters- Returns:
- thrust vector in spacecraft frame (N)
-
getFlowRate
double getFlowRate(SpacecraftState s, double[] parameters)
Get the flow rate (kg/s).- Parameters:
s
- current spacecraft stateparameters
- propulsion model parameters- Returns:
- flow rate (kg/s)
-
getThrustVector
<T extends CalculusFieldElement<T>> FieldVector3D<T> getThrustVector(FieldSpacecraftState<T> s, T[] parameters)
Get the thrust vector in spacecraft frame (N).- Type Parameters:
T
- extends CalculusFieldElement<T>- Parameters:
s
- current spacecraft stateparameters
- propulsion model parameters- Returns:
- thrust vector in spacecraft frame (N)
-
getFlowRate
<T extends CalculusFieldElement<T>> T getFlowRate(FieldSpacecraftState<T> s, T[] parameters)
Get the flow rate (kg/s).- Type Parameters:
T
- extends CalculusFieldElement<T>- Parameters:
s
- current spacecraft stateparameters
- propulsion model parameters- Returns:
- flow rate (kg/s)
-
getAcceleration
default Vector3D getAcceleration(SpacecraftState s, Attitude maneuverAttitude, double[] parameters)
Get the acceleration of the spacecraft during maneuver and in maneuver frame. Acceleration is computed here using the thrust vector in S/C frame.- Specified by:
getAcceleration
in interfacePropulsionModel
- Parameters:
s
- current spacecraft statemaneuverAttitude
- current attitude in maneuverparameters
- propulsion model parameters- Returns:
- acceleration
-
getAcceleration
default <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. Acceleration is computed here using the thrust vector in S/C frame.- Specified by:
getAcceleration
in interfacePropulsionModel
- Type Parameters:
T
- extends CalculusFieldElement<T>- Parameters:
s
- current spacecraft statemaneuverAttitude
- current attitude in maneuverparameters
- propulsion model parameters- Returns:
- acceleration
-
getMassDerivatives
default double getMassDerivatives(SpacecraftState s, double[] parameters)
Get the mass derivative (i.e. flow rate in kg/s) during maneuver. Mass derivatives are directly extracted here from the flow rate value.- Specified by:
getMassDerivatives
in interfacePropulsionModel
- Parameters:
s
- current spacecraft stateparameters
- propulsion model parameters- Returns:
- mass derivative in kg/s
-
getMassDerivatives
default <T extends CalculusFieldElement<T>> T getMassDerivatives(FieldSpacecraftState<T> s, T[] parameters)
Get the mass derivative (i.e. flow rate in kg/s) during maneuver. Mass derivatives are directly extracted here from the flow rate value.- Specified by:
getMassDerivatives
in interfacePropulsionModel
- Type Parameters:
T
- extends CalculusFieldElement<T>- Parameters:
s
- current spacecraft stateparameters
- propulsion model parameters- Returns:
- mass derivative in kg/s
-
-