public class SolarRadiationPressure extends AbstractParameterizable implements ForceModel
| 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 |
|---|---|
FieldVector3D<DerivativeStructure> |
accelerationDerivatives(AbsoluteDate date,
Frame frame,
FieldVector3D<DerivativeStructure> position,
FieldVector3D<DerivativeStructure> velocity,
FieldRotation<DerivativeStructure> rotation,
DerivativeStructure mass)
Compute acceleration derivatives with respect to state parameters.
|
FieldVector3D<DerivativeStructure> |
accelerationDerivatives(SpacecraftState s,
String paramName)
Compute acceleration derivatives with respect to additional parameters.
|
void |
addContribution(SpacecraftState s,
TimeDerivativesEquations adder)
Compute the contribution of the force model to the perturbing
acceleration.
|
EventDetector[] |
getEventsDetectors()
Get the discrete events related to the model.
|
double |
getLightingRatio(Vector3D position,
Frame frame,
AbsoluteDate date)
Get the lighting ratio ([0-1]).
|
double |
getLightningRatio(Vector3D position,
Frame frame,
AbsoluteDate date)
Deprecated.
as of 7.1, replaced with
getLightingRatio(Vector3D, Frame, AbsoluteDate) |
double |
getParameter(String name) |
void |
setParameter(String name,
double value) |
complainIfNotSupported, getParametersNames, isSupportedclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetParametersNames, isSupportedpublic 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 void addContribution(SpacecraftState s, TimeDerivativesEquations adder) throws OrekitException
addContribution in interface ForceModels - current state information: date, kinematics, attitudeadder - object where the contribution should be addedOrekitException - if some specific error occurs@Deprecated public double getLightningRatio(Vector3D position, Frame frame, AbsoluteDate date) throws OrekitException
getLightingRatio(Vector3D, Frame, AbsoluteDate)position - the satellite's position in the selected frame.frame - in which is defined the positiondate - the dateOrekitException - if the trajectory is inside the Earthpublic 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 Earthpublic EventDetector[] getEventsDetectors()
getEventsDetectors in interface ForceModelpublic FieldVector3D<DerivativeStructure> accelerationDerivatives(AbsoluteDate date, Frame frame, FieldVector3D<DerivativeStructure> position, FieldVector3D<DerivativeStructure> velocity, FieldRotation<DerivativeStructure> rotation, DerivativeStructure mass) throws OrekitException
The derivatives should be computed with respect to position, velocity and optionnaly mass. The input parameters already take into account the free parameters (6 or 7 depending on derivation with respect to mass being considered or not) and order (always 1). Free parameters at indices 0, 1 and 2 correspond to derivatives with respect to position. Free parameters at indices 3, 4 and 5 correspond to derivatives with respect to velocity. Free parameter at index 6 (if present) corresponds to to derivatives with respect to mass.
accelerationDerivatives in interface ForceModeldate - current dateframe - inertial reference frame for state (both orbit and attitude)position - position of spacecraft in reference framevelocity - velocity of spacecraft in reference framerotation - orientation (attitude) of the spacecraft with respect to reference framemass - spacecraft massOrekitException - if derivatives cannot be computedpublic FieldVector3D<DerivativeStructure> accelerationDerivatives(SpacecraftState s, String paramName) throws OrekitException
accelerationDerivatives in interface ForceModels - spacecraft stateparamName - name of the parameter with respect to which derivatives are requiredOrekitException - if derivatives cannot be computedpublic double getParameter(String name) throws IllegalArgumentException
getParameter in interface ParameterizedODEIllegalArgumentExceptionpublic void setParameter(String name, double value) throws IllegalArgumentException
setParameter in interface ParameterizedODEIllegalArgumentExceptionCopyright © 2002-2016 CS Systèmes d'information. All rights reserved.