|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.orekit.parameter.Parameterizable
org.orekit.parameter.JacobiansParameterizable
fr.cnes.sirius.patrius.forces.radiation.PatriusSolarRadiationPressure
public class PatriusSolarRadiationPressure
Solar radiation pressure force model with spheroids. Based on the Orekit implementation of
SolarRadiationPressure for a spherical Earth.
The implementation of this class enables the computation of partial derivatives with respect to absorption, specular reflection or diffusion reflection coefficients.
| Field Summary | |
|---|---|
static String |
REFERENCE_FLUX
Normalized reference flux. |
| Constructor Summary | |
|---|---|
PatriusSolarRadiationPressure(double dRef,
double pRef,
PVCoordinatesProvider sunBody,
GeometricBodyShape shape,
RadiationSensitive spacecraftModel)
Complete constructor. |
|
PatriusSolarRadiationPressure(double dRef,
double pRef,
PVCoordinatesProvider sunBody,
GeometricBodyShape shape,
RadiationSensitive spacecraftModel,
boolean computePD)
Complete constructor. |
|
PatriusSolarRadiationPressure(Parameter referenceFlux,
PVCoordinatesProvider sunBody,
GeometricBodyShape shape,
RadiationSensitive spacecraftModel)
Complete constructor using Parameter. |
|
PatriusSolarRadiationPressure(Parameter referenceFlux,
PVCoordinatesProvider sunBody,
GeometricBodyShape shape,
RadiationSensitive spacecraftModel,
boolean computePD)
Complete constructor using Parameter. |
|
PatriusSolarRadiationPressure(PVCoordinatesProvider sunBody,
GeometricBodyShape shape,
RadiationSensitive spacecraftModel)
Simple constructor with default reference values. |
|
PatriusSolarRadiationPressure(PVCoordinatesProvider sunBody,
GeometricBodyShape shape,
RadiationSensitive spacecraftModel,
boolean computePD)
Simple constructor with default reference values. |
|
| Method Summary | |
|---|---|
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. |
static double |
getLightningRatio(PVCoordinatesProvider sun,
Vector3D satSunVector,
GeometricBodyShape earthModel,
Vector3D position,
Frame frame,
AbsoluteDate date)
Get the lightning ratio ([0-1]). |
| Methods inherited from class org.orekit.parameter.JacobiansParameterizable |
|---|
addJacobiansParameter, addJacobiansParameter, addJacobiansParameter, supportsJacobianParameter |
| Methods inherited from class org.orekit.parameter.Parameterizable |
|---|
addParameter, getParameters, supportsParameter |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.orekit.parameter.IParameterizable |
|---|
getParameters, supportsParameter |
| Field Detail |
|---|
public static final String REFERENCE_FLUX
| Constructor Detail |
|---|
public PatriusSolarRadiationPressure(PVCoordinatesProvider sunBody,
GeometricBodyShape shape,
RadiationSensitive spacecraftModel)
When this constructor is used, the reference values are:
sunBody - Sun modelshape - Earth model (for umbra/penumbra computation)spacecraftModel - the object physical and geometrical information
public PatriusSolarRadiationPressure(PVCoordinatesProvider sunBody,
GeometricBodyShape shape,
RadiationSensitive spacecraftModel,
boolean computePD)
When this constructor is used, the reference values are:
sunBody - Sun modelshape - Earth model (for umbra/penumbra computation)spacecraftModel - the object physical and geometrical informationcomputePD - true if partial derivatives wrt position have to be computed
public PatriusSolarRadiationPressure(double dRef,
double pRef,
PVCoordinatesProvider sunBody,
GeometricBodyShape shape,
RadiationSensitive spacecraftModel)
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)sunBody - Sun modelshape - Earth model (for umbra/penumbra computation)spacecraftModel - the object physical and geometrical information
public PatriusSolarRadiationPressure(double dRef,
double pRef,
PVCoordinatesProvider sunBody,
GeometricBodyShape shape,
RadiationSensitive spacecraftModel,
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)sunBody - Sun modelshape - Earth model (for umbra/penumbra computation)spacecraftModel - the object physical and geometrical informationcomputePD - true if partial derivatives wrt position have to be computed
public PatriusSolarRadiationPressure(Parameter referenceFlux,
PVCoordinatesProvider sunBody,
GeometricBodyShape shape,
RadiationSensitive spacecraftModel)
Parameter.
referenceFlux - the parameter representing the normalized reference fluxsunBody - Sun modelshape - Earth model (for umbra/penumbra computation)spacecraftModel - the object physical and geometrical information
public PatriusSolarRadiationPressure(Parameter referenceFlux,
PVCoordinatesProvider sunBody,
GeometricBodyShape shape,
RadiationSensitive spacecraftModel,
boolean computePD)
Parameter.
referenceFlux - the parameter representing the normalized reference fluxsunBody - Sun modelshape - Earth model (for umbra/penumbra computation)spacecraftModel - the object physical and geometrical informationcomputePD - true if partial derivatives wrt position have to be computed| Method Detail |
|---|
public Vector3D computeAcceleration(SpacecraftState s)
throws OrekitException
ForceModel
computeAcceleration in interface ForceModels - current state information: date, kinematics, attitude
SpacecraftState frame
OrekitException - if some specific error occurs
public void addContribution(SpacecraftState s,
TimeDerivativesEquations adder)
throws OrekitException
ForceModel
addContribution in interface ForceModels - current state information: date, kinematics, attitudeadder - object where the contribution should be added
OrekitException - if some specific error occurs
public static double getLightningRatio(PVCoordinatesProvider sun,
Vector3D satSunVector,
GeometricBodyShape earthModel,
Vector3D position,
Frame frame,
AbsoluteDate date)
throws OrekitException
sun - PV provider for the sunsatSunVector - Satellite-Sun vectorearthModel - earth body shapeposition - the satellite's position in the selected frame.frame - in which is defined the positiondate - the date
OrekitException - if an error occurspublic EventDetector[] getEventsDetectors()
getEventsDetectors in interface ForceModel
public void addDAccDState(SpacecraftState s,
double[][] dAccdPos,
double[][] dAccdVel)
throws OrekitException
IJacobiansParameterizable
addDAccDState in interface IJacobiansParameterizables - spacecraft statedAccdPos - acceleration derivatives with respect to positiondAccdVel - acceleration derivatives with respect to velocity
OrekitException - if derivatives cannot be computed
public void addDAccDParam(SpacecraftState s,
Parameter param,
double[] dAccdParam)
throws OrekitException
IJacobiansParameterizable
addDAccDParam in interface IJacobiansParameterizables - spacecraft stateparam - the parameter with respect to which derivatives are requireddAccdParam - acceleration derivatives with respect to specified parameters
OrekitException - if derivatives cannot be computedpublic boolean computeGradientPosition()
computeGradientPosition in interface GradientModelpublic boolean computeGradientVelocity()
computeGradientVelocity in interface GradientModel
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||