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 Static 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.static double
getExhaustVelocity(double isp)
Method computing the effective exhaust velocity from the specific impulse.<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
getDateDetector, getEventDetectors, getFieldDateDetector, 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
-
getExhaustVelocity
static double getExhaustVelocity(double isp)
Method computing the effective exhaust velocity from the specific impulse.- Parameters:
isp
- specific impulse (s)- Returns:
- effective exhaust velocity (m/s)
- Since:
- 13.0
-
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
-
-