Class SolarRadiationPressure
- All Implemented Interfaces:
ForceModel,RadiationForceModel,EventDetectorsProvider,ParameterDriversProvider
Since Orekit 11.0, it is possible to take into account
the eclipses generated by Moon in the solar radiation
pressure force model using the
AbstractRadiationForceModel.addOccultingBody(ExtendedPositionProvider, double)
method.
Example:
SolarRadiationPressure srp =
new SolarRadiationPressure(CelestialBodyFactory.getSun(), Constants.EIGEN5C_EARTH_EQUATORIAL_RADIUS,
new IsotropicRadiationClassicalConvention(50.0, 0.5, 0.5));
srp.addOccultingBody(CelestialBodyFactory.getMoon(), Constants.MOON_EQUATORIAL_RADIUS);
- Author:
- Fabien Maussion, Édouard Delente, Véronique Pommier-Maurussane, Pascal Parraud
-
Field Summary
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY -
Constructor Summary
ConstructorsConstructorDescriptionSolarRadiationPressure(double dRef, double pRef, ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft) Constructor with default eclipse detection settings.SolarRadiationPressure(double dRef, double pRef, ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft, EventDetectionSettings eclipseDetectionSettings) Complete constructor.SolarRadiationPressure(ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft) Simple constructor with default reference values. -
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.<T extends CalculusFieldElement<T>>
TgetLightingRatio(FieldSpacecraftState<T> state) Get the lighting ratio ([0-1]).doublegetLightingRatio(SpacecraftState state) Get the lighting ratio ([0-1]).Get the drivers for parameters.Getter for radiation-sensitive spacecraft.Methods inherited from class org.orekit.forces.radiation.AbstractRadiationForceModel
addOccultingBody, addOccultingBody, getDefaultEclipseDetectionSettings, getEventDetectors, getFieldEventDetectors, getGeneralEclipseAngles, getGeneralEclipseAngles, getOccultingBodiesMethods 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, dependsOnPositionOnly, getMassDerivative, getMassDerivative, init, initMethods inherited from interface org.orekit.utils.drivers.ParameterDriversProvider
getParameterDriver, getParameterDriverWithSubstring, getParameters, getParameters, isSupported
-
Constructor Details
-
SolarRadiationPressure
public SolarRadiationPressure(ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft) Simple constructor with default reference values.When this constructor is used, the reference values are:
- dref = 149597870000.0 m
- pref = 4.56 10-6 N/m²
- Parameters:
sun- Sun modelcentralBody- central body shape model (for umbra/penumbra computation)spacecraft- the object physical and geometrical information- Since:
- 12.0
-
SolarRadiationPressure
public SolarRadiationPressure(double dRef, double pRef, ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft) Constructor with default eclipse detection settings.Note that reference solar radiation pressure
pRefin N/m² is linked to solar flux SF in W/m² using formula pRef = SF/c where c is the speed of light (299792458 m/s). So at 1UA a 1367 W/m² solar flux is a 4.56 10-6 N/m² solar radiation pressure.- Parameters:
dRef- reference distance for the solar radiation pressure (m)pRef- reference solar radiation pressure at dRef (N/m²)sun- Sun modelcentralBody- central body shape model (for umbra/penumbra computation)spacecraft- the object physical and geometrical information- Since:
- 12.0
-
SolarRadiationPressure
public SolarRadiationPressure(double dRef, double pRef, ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft, EventDetectionSettings eclipseDetectionSettings) Complete constructor.Note that reference solar radiation pressure
pRefin N/m² is linked to solar flux SF in W/m² using formula pRef = SF/c where c is the speed of light (299792458 m/s). So at 1UA a 1367 W/m² solar flux is a 4.56 10-6 N/m² solar radiation pressure.- Parameters:
dRef- reference distance for the solar radiation pressure (m)pRef- reference solar radiation pressure at dRef (N/m²)sun- Sun modelcentralBody- central body shape model (for umbra/penumbra computation)spacecraft- the object physical and geometrical informationeclipseDetectionSettings- event detection settings for penumbra and umbra- Since:
- 13.0
-
-
Method Details
-
getRadiationSensitiveSpacecraft
Getter for radiation-sensitive spacecraft.- Returns:
- radiation-sensitive model
- Since:
- 12.1
-
acceleration
Compute acceleration.- 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.- 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
-
getLightingRatio
Get the lighting ratio ([0-1]).- Parameters:
state- spacecraft state- Returns:
- lighting ratio
- Since:
- 7.1
-
getLightingRatio
Get the lighting ratio ([0-1]).- Type Parameters:
T- extends CalculusFieldElement- Parameters:
state- spacecraft state- Returns:
- lighting ratio
- Since:
- 7.1
-
getParametersDrivers
Get the drivers for parameters. By default, no parameters. Override, for instance, to enable partial derivatives.- Returns:
- drivers for parameters
-