Class ProfileThrustPropulsionModel
java.lang.Object
org.orekit.forces.maneuvers.propulsion.ProfileThrustPropulsionModel
- All Implemented Interfaces:
PropulsionModel,ThrustPropulsionModel,EventDetectorsProvider,ParameterDriversProvider
Thrust propulsion model based on segmented profile.
- Since:
- 12.0
- Author:
- Luc Maisonobe
-
Field Summary
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY -
Constructor Summary
ConstructorsConstructorDescriptionProfileThrustPropulsionModel(TimeSpanMap<ThrustVectorProvider> profile, double isp, String name) Constructor with default cost type.ProfileThrustPropulsionModel(TimeSpanMap<ThrustVectorProvider> profile, double isp, Control3DVectorCostType control3DVectorCostType, String name) Generic constructor. -
Method Summary
Modifier and TypeMethodDescriptionGetter for active provider at input date.Get the control vector's cost type.Get the discrete events related to the model.<T extends CalculusFieldElement<T>>
Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field) Get the discrete events related to the model.<T extends CalculusFieldElement<T>>
TgetFlowRate(FieldSpacecraftState<T> s, T[] parameters) Get the flow rate (kg/s).doubleGet the flow rate (kg/s).doublegetFlowRate(SpacecraftState s, double[] parameters) Get the flow rate (kg/s).getName()Get the maneuver name.Get the drivers for parameters.<T extends CalculusFieldElement<T>>
FieldVector3D<T> getThrustVector(FieldSpacecraftState<T> s, T[] parameters) Get the thrust vector in spacecraft frame (N).Get the thrust vector in spacecraft frame (N).getThrustVector(SpacecraftState s, double[] parameters) Get the thrust vector in spacecraft frame (N).static <T extends ThrustVectorProvider>
ProfileThrustPropulsionModelof(TimeSpanMap<T> profile, double isp, Control3DVectorCostType control3DVectorCostType, String name) Build with customized profile.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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, isSupportedMethods inherited from interface org.orekit.forces.maneuvers.propulsion.PropulsionModel
init, initMethods inherited from interface org.orekit.forces.maneuvers.propulsion.ThrustPropulsionModel
getAcceleration, getAcceleration, getDirection, getIsp, getMassDerivatives, getMassDerivatives
-
Constructor Details
-
ProfileThrustPropulsionModel
public ProfileThrustPropulsionModel(TimeSpanMap<ThrustVectorProvider> profile, double isp, String name) Constructor with default cost type.- Parameters:
profile- thrust profile (N)isp- specific impulse (s)name- name of the maneuver- Since:
- 13.0
-
ProfileThrustPropulsionModel
public ProfileThrustPropulsionModel(TimeSpanMap<ThrustVectorProvider> profile, double isp, Control3DVectorCostType control3DVectorCostType, String name) Generic constructor.- Parameters:
profile- thrust profile (N)isp- specific impulse (s)control3DVectorCostType- control vector's cost typename- name of the maneuver- Since:
- 13.0
-
-
Method Details
-
of
public static <T extends ThrustVectorProvider> ProfileThrustPropulsionModel of(TimeSpanMap<T> profile, double isp, Control3DVectorCostType control3DVectorCostType, String name) Build with customized profile.- Type Parameters:
T- segment type- Parameters:
profile- thrust profile (N)isp- specific impulse (s)control3DVectorCostType- control vector's cost typename- name of the maneuver- Returns:
- propulsion model
- Since:
- 13.0
-
getName
Get the maneuver name.- Specified by:
getNamein interfacePropulsionModel- Returns:
- the maneuver name
-
getControl3DVectorCostType
Get the control vector's cost type.- Specified by:
getControl3DVectorCostTypein interfacePropulsionModel- Returns:
- control cost type
-
getActiveProvider
Getter for active provider at input date.- Parameters:
date- date- Returns:
- active segment
- Since:
- 13.0
-
getThrustVector
Get the thrust vector in spacecraft frame (N).- Specified by:
getThrustVectorin interfaceThrustPropulsionModel- Parameters:
s- current spacecraft state- Returns:
- thrust vector in spacecraft frame (N)
-
getFlowRate
Get the flow rate (kg/s).- Specified by:
getFlowRatein interfaceThrustPropulsionModel- Parameters:
s- current spacecraft state- Returns:
- flow rate (kg/s)
-
getFlowRate
Get the flow rate (kg/s).- Specified by:
getFlowRatein interfaceThrustPropulsionModel- Parameters:
s- current spacecraft stateparameters- propulsion model parameters- Returns:
- flow rate (kg/s)
-
getThrustVector
Get the thrust vector in spacecraft frame (N).- Specified by:
getThrustVectorin interfaceThrustPropulsionModel- Parameters:
s- current spacecraft stateparameters- propulsion model parameters- Returns:
- thrust vector in spacecraft frame (N)
-
getThrustVector
public <T extends CalculusFieldElement<T>> FieldVector3D<T> getThrustVector(FieldSpacecraftState<T> s, T[] parameters) Get the thrust vector in spacecraft frame (N).- Specified by:
getThrustVectorin interfaceThrustPropulsionModel- Type Parameters:
T- extends CalculusFieldElement<T>- Parameters:
s- current spacecraft stateparameters- propulsion model parameters- Returns:
- thrust vector in spacecraft frame (N)
-
getFlowRate
Get the flow rate (kg/s).- Specified by:
getFlowRatein interfaceThrustPropulsionModel- Type Parameters:
T- extends CalculusFieldElement<T>- Parameters:
s- current spacecraft stateparameters- propulsion model parameters- Returns:
- flow rate (kg/s)
-
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..
The single detector returned triggers
Action.RESET_DERIVATIVESevents at everyThrustVectorProviderboundaries.- Specified by:
getEventDetectorsin interfaceEventDetectorsProvider- Specified by:
getEventDetectorsin interfacePropulsionModel- Returns:
- stream of event detectors
-
getFieldEventDetectors
public <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..
The single detector returned triggers
Action.RESET_DERIVATIVESevents at everyThrustVectorProviderboundaries.- Specified by:
getFieldEventDetectorsin interfaceEventDetectorsProvider- Specified by:
getFieldEventDetectorsin interfacePropulsionModel- Type Parameters:
T- extends CalculusFieldElement<T>- Parameters:
field- field to which the state belongs- Returns:
- stream of event detectors
-
getParametersDrivers
Get the drivers for parameters.- Specified by:
getParametersDriversin interfaceParameterDriversProvider- Returns:
- drivers for parameters
-