Package org.orekit.forces.radiation
Class RadiationPressureModel
java.lang.Object
org.orekit.forces.radiation.RadiationPressureModel
- All Implemented Interfaces:
ForceModel,RadiationForceModel,EventDetectorsProvider,ParameterDriversProvider
Class representing a light-induced radiation pressure force, by leveraging on a given flux model.
This class should not be used in addition to SolarRadiationPressure, which is another way of
representing the same orbital perturbation.
- Since:
- 12.1
- Author:
- Romain Serra
- See Also:
-
Field Summary
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY -
Constructor Summary
ConstructorsConstructorDescriptionRadiationPressureModel(LightFluxModel lightFluxModel, RadiationSensitive radiationSensitive) Constructor. -
Method Summary
Modifier and TypeMethodDescription<T extends CalculusFieldElement<T>>
FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters) Compute acceleration.acceleration(SpacecraftState s, double[] parameters) Compute acceleration.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.Getter for light flux model.Get the drivers for parameters.Getter for radiation sensitive object.<T extends CalculusFieldElement<T>>
voidinit(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> target) Initialize the force model at the start of propagation.voidinit(SpacecraftState initialState, AbsoluteDate target) Initialize the force model at the start of propagation.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.forces.ForceModel
addContribution, addContribution, dependsOnAttitudeRate, getMassDerivative, getMassDerivativeMethods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupportedMethods inherited from interface org.orekit.forces.radiation.RadiationForceModel
dependsOnPositionOnly
-
Constructor Details
-
RadiationPressureModel
Constructor.- Parameters:
lightFluxModel- model for light fluxradiationSensitive- object defining radiation properties
-
-
Method Details
-
getRadiationSensitive
Getter for radiation sensitive object.- Returns:
- radiation sensitive object
-
getLightFluxModel
Getter for light flux model.- Returns:
- flux model
-
init
Initialize the force model at the start of propagation. This method will be called before any calls toForceModel.addContribution(SpacecraftState, TimeDerivativesEquations),ForceModel.addContribution(FieldSpacecraftState, FieldTimeDerivativesEquations),ForceModel.acceleration(SpacecraftState, double[])orForceModel.acceleration(FieldSpacecraftState, CalculusFieldElement[])The default implementation of this method does nothing.
- Specified by:
initin interfaceForceModel- Parameters:
initialState- spacecraft state at the start of propagation.target- date of propagation. Not equal toinitialState.getDate().
-
init
public <T extends CalculusFieldElement<T>> void init(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> target) Initialize the force model at the start of propagation. This method will be called before any calls toForceModel.addContribution(SpacecraftState, TimeDerivativesEquations),ForceModel.addContribution(FieldSpacecraftState, FieldTimeDerivativesEquations),ForceModel.acceleration(SpacecraftState, double[])orForceModel.acceleration(FieldSpacecraftState, CalculusFieldElement[])The default implementation of this method does nothing.
- Specified by:
initin interfaceForceModel- Type Parameters:
T- type of the elements- Parameters:
initialState- spacecraft state at the start of propagation.target- date of propagation. Not equal toinitialState.getDate().
-
acceleration
Compute acceleration.- Specified by:
accelerationin interfaceForceModel- Parameters:
s- current state information: date, kinematics, attitudeparameters- values of the force model parameters at state date, only 1 value for each parameterDriver- Returns:
- acceleration in same frame as state
-
acceleration
public <T extends CalculusFieldElement<T>> FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters) Compute acceleration.- Specified by:
accelerationin interfaceForceModel- Type Parameters:
T- type of the elements- Parameters:
s- current state information: date, kinematics, attitudeparameters- values of the force model parameters at state date, only 1 value for each parameterDriver- Returns:
- acceleration in same frame as state
-
getParametersDrivers
Get the drivers for parameters.- Specified by:
getParametersDriversin interfaceParameterDriversProvider- Returns:
- drivers for parameters
-
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.
- Specified by:
getEventDetectorsin interfaceEventDetectorsProvider- Specified by:
getEventDetectorsin interfaceForceModel- 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.
- Specified by:
getFieldEventDetectorsin interfaceEventDetectorsProvider- Specified by:
getFieldEventDetectorsin interfaceForceModel- Type Parameters:
T- extends CalculusFieldElement<T>- Parameters:
field- field to which the state belongs- Returns:
- stream of event detectors
-