|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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 informationpublic 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 computedpublic 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 informationpublic 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 computedpublic 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 informationpublic 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 computedMethod Detail |
---|
public Vector3D computeAcceleration(SpacecraftState s) throws OrekitException
ForceModel
computeAcceleration
in interface ForceModel
s
- current state information: date, kinematics, attitude
SpacecraftState frame
OrekitException
- if some specific error occurspublic void addContribution(SpacecraftState s, TimeDerivativesEquations adder) throws OrekitException
ForceModel
addContribution
in interface ForceModel
s
- current state information: date, kinematics, attitudeadder
- object where the contribution should be added
OrekitException
- if some specific error occurspublic 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 IJacobiansParameterizable
s
- spacecraft statedAccdPos
- acceleration derivatives with respect to positiondAccdVel
- acceleration derivatives with respect to velocity
OrekitException
- if derivatives cannot be computedpublic void addDAccDParam(SpacecraftState s, Parameter param, double[] dAccdParam) throws OrekitException
IJacobiansParameterizable
addDAccDParam
in interface IJacobiansParameterizable
s
- 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 GradientModel
public boolean computeGradientVelocity()
computeGradientVelocity
in interface GradientModel
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |