public class SolarRadiationPressureCircular extends JacobiansParameterizable implements ForceModel, GradientModel
The implementation of this class enables the computation of partial derivatives with respect to absorption, specular reflection or diffusion reflection coefficients.
| Modifier and Type | Field and Description |
|---|---|
static String |
REFERENCE_FLUX
Normalized reference flux.
|
| Constructor and Description |
|---|
SolarRadiationPressureCircular(double dRef,
double pRef,
PVCoordinatesProvider sunIn,
double equatorialRadiusIn,
RadiationSensitive spacecraftIn)
Complete constructor.
|
SolarRadiationPressureCircular(double dRef,
double pRef,
PVCoordinatesProvider sunIn,
double equatorialRadiusIn,
RadiationSensitive spacecraftIn,
boolean computePD)
Complete constructor.
|
SolarRadiationPressureCircular(Parameter refFlux,
PVCoordinatesProvider sunIn,
double equatorialRadiusIn,
RadiationSensitive spacecraftIn)
Complete constructor.
|
SolarRadiationPressureCircular(Parameter refFlux,
PVCoordinatesProvider sunIn,
double equatorialRadiusIn,
RadiationSensitive spacecraftIn,
boolean computePD)
Complete constructor.
|
SolarRadiationPressureCircular(PVCoordinatesProvider sunIn,
double equatorialRadiusIn,
RadiationSensitive spacecraftIn)
Simple constructor with default reference values.
|
SolarRadiationPressureCircular(PVCoordinatesProvider sunIn,
double equatorialRadiusIn,
RadiationSensitive spacecraftIn,
boolean computePD)
Simple constructor with default reference values.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addContribution(SpacecraftState s,
TimeDerivativesEquations adder)
Compute the contribution of the force model to the perturbing
acceleration.
|
void |
addDAccDParam(SpacecraftState s,
Parameter param,
double[] dAccdParam)
Compute acceleration derivatives with respect to additional parameters.
|
void |
addDAccDState(SpacecraftState s,
double[][] dAccdPos,
double[][] dAccdVel)
Compute acceleration derivatives with respect to state parameters.
|
Vector3D |
computeAcceleration(SpacecraftState s)
Compute the acceleration due to the force.
|
boolean |
computeGradientPosition()
This method returns true if the acceleration partial derivatives with
respect to position have to be computed.
|
boolean |
computeGradientVelocity()
This method returns true if the acceleration partial derivatives with
respect to velocity have to be computed.
|
EventDetector[] |
getEventsDetectors()
Get the discrete events related to the model.
|
double |
getLightningRatio(Vector3D position,
Frame frame,
AbsoluteDate date)
Get the lightning ratio ([0-1]).
|
addJacobiansParameter, addJacobiansParameter, addJacobiansParameter, supportsJacobianParameteraddParameter, getParameters, supportsParameterclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetParameters, supportsParameterpublic static final String REFERENCE_FLUX
public SolarRadiationPressureCircular(PVCoordinatesProvider sunIn, double equatorialRadiusIn, RadiationSensitive spacecraftIn)
When this constructor is used, the reference values are:
sunIn - Sun modelequatorialRadiusIn - spherical shape model (for umbra/penumbra computation)spacecraftIn - the object physical and geometrical informationpublic SolarRadiationPressureCircular(PVCoordinatesProvider sunIn, double equatorialRadiusIn, RadiationSensitive spacecraftIn, boolean computePD)
When this constructor is used, the reference values are:
sunIn - Sun modelequatorialRadiusIn - spherical shape model (for umbra/penumbra computation)spacecraftIn - the object physical and geometrical informationcomputePD - true if partial derivatives wrt position have to be computedpublic SolarRadiationPressureCircular(double dRef,
double pRef,
PVCoordinatesProvider sunIn,
double equatorialRadiusIn,
RadiationSensitive spacecraftIn)
Note that reference solar radiation pressure pRef in N/m2 is linked to solar flux SF in
W/m2 using formula pRef = SF/c where c is the speed of light (299792458 m/s). So at 1UA a 1367
W/m2 solar flux is a 4.56 10-6 N/m2 solar radiation pressure.
dRef - reference distance for the solar radiation pressure (m)pRef - reference solar radiation pressure at dRef (N/m2)sunIn - Sun modelequatorialRadiusIn - spherical shape model (for umbra/penumbra computation)spacecraftIn - the object physical and geometrical informationpublic SolarRadiationPressureCircular(double dRef,
double pRef,
PVCoordinatesProvider sunIn,
double equatorialRadiusIn,
RadiationSensitive spacecraftIn,
boolean computePD)
Note that reference solar radiation pressure pRef in N/m2 is linked to solar flux SF in
W/m2 using formula pRef = SF/c where c is the speed of light (299792458 m/s). So at 1UA a 1367
W/m2 solar flux is a 4.56 10-6 N/m2 solar radiation pressure.
dRef - reference distance for the solar radiation pressure (m)pRef - reference solar radiation pressure at dRef (N/m2)sunIn - Sun modelequatorialRadiusIn - spherical shape model (for umbra/penumbra computation)spacecraftIn - the object physical and geometrical informationcomputePD - true if partial derivatives wrt position have to be computedpublic SolarRadiationPressureCircular(Parameter refFlux, PVCoordinatesProvider sunIn, double equatorialRadiusIn, RadiationSensitive spacecraftIn)
refFlux - parameter representing the reference flux normalized for a 1m distance (N)sunIn - Sun modelequatorialRadiusIn - spherical shape model (for umbra/penumbra computation)spacecraftIn - the object physical and geometrical informationpublic SolarRadiationPressureCircular(Parameter refFlux, PVCoordinatesProvider sunIn, double equatorialRadiusIn, RadiationSensitive spacecraftIn, boolean computePD)
refFlux - parameter representing the reference flux normalized for a 1m distance (N)sunIn - Sun modelequatorialRadiusIn - spherical shape model (for umbra/penumbra computation)spacecraftIn - the object physical and geometrical informationcomputePD - true if partial derivatives wrt position have to be computedpublic Vector3D computeAcceleration(SpacecraftState s) throws PatriusException
computeAcceleration in interface ForceModels - current state information: date, kinematics, attitudeSpacecraftState framePatriusException - if some specific error occurspublic void addContribution(SpacecraftState s, TimeDerivativesEquations adder) throws PatriusException
addContribution in interface ForceModels - current state information: date, kinematics, attitudeadder - object where the contribution should be addedPatriusException - if some specific error occurspublic double getLightningRatio(Vector3D position, Frame frame, AbsoluteDate date) throws PatriusException
position - the satellite's position in the selected frame.frame - in which is defined the positiondate - the datePatriusException - if an error occurspublic EventDetector[] getEventsDetectors()
getEventsDetectors in interface ForceModelpublic void addDAccDState(SpacecraftState s, double[][] dAccdPos, double[][] dAccdVel) throws PatriusException
addDAccDState in interface IJacobiansParameterizables - spacecraft statedAccdPos - acceleration derivatives with respect to positiondAccdVel - acceleration derivatives with respect to velocityPatriusException - if derivatives cannot be computedpublic void addDAccDParam(SpacecraftState s, Parameter param, double[] dAccdParam) throws PatriusException
addDAccDParam in interface IJacobiansParameterizables - spacecraft stateparam - the parameter with respect to which derivatives are requireddAccdParam - acceleration derivatives with respect to specified parametersPatriusException - if derivatives cannot be computedpublic boolean computeGradientPosition()
computeGradientPosition in interface GradientModelpublic boolean computeGradientVelocity()
computeGradientVelocity in interface GradientModelCopyright © 2017 CNES. All rights reserved.