public class SolarRadiationPressure extends AbstractForceModel
Constructor and Description |
---|
SolarRadiationPressure(double dRef,
double pRef,
PVCoordinatesProvider sun,
double equatorialRadius,
RadiationSensitive spacecraft)
Complete constructor.
|
SolarRadiationPressure(PVCoordinatesProvider sun,
double equatorialRadius,
RadiationSensitive spacecraft)
Simple constructor with default reference values.
|
Modifier and Type | Method and Description |
---|---|
<T extends RealFieldElement<T>> |
acceleration(FieldSpacecraftState<T> s,
T[] parameters)
Compute acceleration.
|
Vector3D |
acceleration(SpacecraftState s,
double[] parameters)
Compute acceleration.
|
boolean |
dependsOnPositionOnly()
Check if force models depends on position only.
|
Stream<EventDetector> |
getEventsDetectors()
Get the discrete events related to the model.
|
<T extends RealFieldElement<T>> |
getFieldEventsDetectors(Field<T> field)
Get the discrete events related to the model.
|
<T extends RealFieldElement<T>> |
getLightingRatio(FieldVector3D<T> position,
Frame frame,
FieldAbsoluteDate<T> date)
Get the lighting ratio ([0-1]).
|
double |
getLightingRatio(Vector3D position,
Frame frame,
AbsoluteDate date)
Get the lighting ratio ([0-1]).
|
ParameterDriver[] |
getParametersDrivers()
Get the drivers for force model parameters.
|
complainIfNotSupported, getParameterDriver, isSupported
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addContribution, addContribution, getParameters, getParameters, init
public SolarRadiationPressure(PVCoordinatesProvider sun, double equatorialRadius, RadiationSensitive spacecraft)
When this constructor is used, the reference values are:
sun
- Sun modelequatorialRadius
- spherical shape model (for umbra/penumbra computation)spacecraft
- the object physical and geometrical informationpublic SolarRadiationPressure(double dRef, double pRef, PVCoordinatesProvider sun, double equatorialRadius, 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 modelequatorialRadius
- spherical shape model (for umbra/penumbra computation)spacecraft
- the object physical and geometrical informationpublic boolean dependsOnPositionOnly()
public Vector3D acceleration(SpacecraftState s, double[] parameters) throws OrekitException
s
- current state information: date, kinematics, attitudeparameters
- values of the force model parametersOrekitException
- if some specific error occurspublic <T extends RealFieldElement<T>> FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters) throws OrekitException
T
- type of the elementss
- current state information: date, kinematics, attitudeparameters
- values of the force model parametersOrekitException
- if some specific error occurspublic double getLightingRatio(Vector3D position, Frame frame, AbsoluteDate date) throws OrekitException
position
- the satellite's position in the selected frame.frame
- in which is defined the positiondate
- the dateOrekitException
- if the trajectory is inside the central bodypublic <T extends RealFieldElement<T>> T getLightingRatio(FieldVector3D<T> position, Frame frame, FieldAbsoluteDate<T> date) throws OrekitException
T
- extends RealFieldElementposition
- the satellite's position in the selected frame.frame
- in which is defined the positiondate
- the dateOrekitException
- if the trajectory is inside the central bodypublic Stream<EventDetector> getEventsDetectors()
public <T extends RealFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventsDetectors(Field<T> field)
T
- extends RealFieldElementfield
- field to which the state belongspublic ParameterDriver[] getParametersDrivers()
Copyright © 2002-2017 CS Systèmes d'information. All rights reserved.