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 Vector3DgetAcceleration(SpacecraftState s, Attitude maneuverAttitude, double[] parameters)Get the acceleration of the spacecraft during maneuver and in maneuver frame.default Vector3DgetDirection(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).doublegetFlowRate(SpacecraftState s)Get the flow rate (kg/s).doublegetFlowRate(SpacecraftState s, double[] parameters)Get the flow rate (kg/s).default doublegetIsp(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 doublegetMassDerivatives(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).Vector3DgetThrustVector(SpacecraftState s)Get the thrust vector in spacecraft frame (N).Vector3DgetThrustVector(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:
getAccelerationin 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:
getAccelerationin 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:
getMassDerivativesin 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:
getMassDerivativesin interfacePropulsionModel- Type Parameters:
T- extends CalculusFieldElement<T>- Parameters:
s- current spacecraft stateparameters- propulsion model parameters- Returns:
- mass derivative in kg/s
-
-