Package org.orekit.forces.radiation
Class RadiationPressureModel
- java.lang.Object
-
- org.orekit.forces.radiation.RadiationPressureModel
-
- All Implemented Interfaces:
ForceModel,RadiationForceModel,EventDetectorsProvider,ParameterDriversProvider
public class RadiationPressureModel extends Object implements RadiationForceModel
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:
LightFluxModel,RadiationSensitive
-
-
Field Summary
-
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY
-
-
Constructor Summary
Constructors Constructor Description RadiationPressureModel(LightFluxModel lightFluxModel, RadiationSensitive radiationSensitive)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends CalculusFieldElement<T>>
FieldVector3D<T>acceleration(FieldSpacecraftState<T> s, T[] parameters)Compute acceleration.Vector3Dacceleration(SpacecraftState s, double[] parameters)Compute acceleration.Stream<EventDetector>getEventDetectors()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.LightFluxModelgetLightFluxModel()Getter for light flux model.List<ParameterDriver>getParametersDrivers()Get the drivers for parameters.RadiationSensitivegetRadiationSensitive()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, wait
-
Methods inherited from interface org.orekit.propagation.events.EventDetectorsProvider
getDateDetector, getEventDetectors, getFieldDateDetector, getFieldEventDetectors
-
Methods inherited from interface org.orekit.forces.ForceModel
addContribution, addContribution, dependsOnAttitudeRate, getMassDerivative, getMassDerivative
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Methods inherited from interface org.orekit.forces.radiation.RadiationForceModel
dependsOnPositionOnly
-
-
-
-
Constructor Detail
-
RadiationPressureModel
public RadiationPressureModel(LightFluxModel lightFluxModel, RadiationSensitive radiationSensitive)
Constructor.- Parameters:
lightFluxModel- model for light fluxradiationSensitive- object defining radiation properties
-
-
Method Detail
-
getRadiationSensitive
public RadiationSensitive getRadiationSensitive()
Getter for radiation sensitive object.- Returns:
- radiation sensitive object
-
getLightFluxModel
public LightFluxModel getLightFluxModel()
Getter for light flux model.- Returns:
- flux model
-
init
public void init(SpacecraftState initialState, AbsoluteDate 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- 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
public Vector3D acceleration(SpacecraftState s, double[] parameters)
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
public List<ParameterDriver> getParametersDrivers()
Get the drivers for parameters.- Specified by:
getParametersDriversin interfaceParameterDriversProvider- Returns:
- drivers for parameters
-
getEventDetectors
public Stream<EventDetector> 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
-
-