public class SolarRadiationPressure extends AbstractRadiationForceModel
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(ExtendedPVCoordinatesProvider, 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);
DATATION_ACCURACY
Constructor and Description |
---|
SolarRadiationPressure(double dRef,
double pRef,
ExtendedPVCoordinatesProvider sun,
OneAxisEllipsoid centralBody,
RadiationSensitive spacecraft)
Complete constructor.
|
SolarRadiationPressure(ExtendedPVCoordinatesProvider sun,
OneAxisEllipsoid centralBody,
RadiationSensitive spacecraft)
Simple constructor with default reference values.
|
Modifier and Type | Method and Description |
---|---|
<T extends org.hipparchus.CalculusFieldElement<T>> |
acceleration(FieldSpacecraftState<T> s,
T[] parameters)
Compute acceleration.
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
acceleration(SpacecraftState s,
double[] parameters)
Compute acceleration.
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getLightingRatio(FieldSpacecraftState<T> state)
Get the lighting ratio ([0-1]).
|
double |
getLightingRatio(SpacecraftState state)
Get the lighting ratio ([0-1]).
|
List<ParameterDriver> |
getParametersDrivers()
Get the drivers for parameters.
|
addOccultingBody, addOccultingBody, dependsOnPositionOnly, getEventDetectors, getFieldEventDetectors, getGeneralEclipseAngles, getGeneralEclipseAngles, getOccultingBodies
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addContribution, addContribution, init, init
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
getEventDetectors, getFieldEventDetectors
public SolarRadiationPressure(ExtendedPVCoordinatesProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft)
When this constructor is used, the reference values are:
sun
- Sun modelcentralBody
- central body shape model (for umbra/penumbra computation)spacecraft
- the object physical and geometrical informationpublic SolarRadiationPressure(double dRef, double pRef, ExtendedPVCoordinatesProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft)
Note that reference solar radiation pressure pRef
in
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.
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 informationpublic org.hipparchus.geometry.euclidean.threed.Vector3D acceleration(SpacecraftState s, double[] parameters)
s
- current state information: date, kinematics, attitudeparameters
- values of the force model parameters at state date,
only 1 value for each parameterDriverpublic <T extends org.hipparchus.CalculusFieldElement<T>> org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters)
T
- type of the elementss
- current state information: date, kinematics, attitudeparameters
- values of the force model parameters at state date,
only 1 value for each parameterDriverpublic double getLightingRatio(SpacecraftState state)
state
- spacecraft statepublic <T extends org.hipparchus.CalculusFieldElement<T>> T getLightingRatio(FieldSpacecraftState<T> state)
T
- extends CalculusFieldElementstate
- spacecraft statepublic List<ParameterDriver> getParametersDrivers()
Copyright © 2002-2023 CS GROUP. All rights reserved.