public final class RediffusedRadiationPressure extends JacobiansParameterizable implements ForceModel, GradientModel
Class that represents a rediffused radiative force.
The implementation of this class enables the computation of partial derivatives with respect to K0 albedo global coefficient, K0 infrared global coefficient, absorption, specular reflection or diffusion reflection coefficients.
| Constructor and Description |
|---|
RediffusedRadiationPressure(PVCoordinatesProvider inSun,
CelestialBodyFrame inBodyFrame,
int inCorona,
int inMeridian,
IEmissivityModel inEmissivityModel,
RediffusedRadiationSensitive inModel)
Constructor.
|
RediffusedRadiationPressure(PVCoordinatesProvider inSun,
CelestialBodyFrame inBodyFrame,
int inCorona,
int inMeridian,
IEmissivityModel inEmissivityModel,
RediffusedRadiationSensitive inModel,
boolean computePD)
Constructor.
|
RediffusedRadiationPressure(RediffusedRadiationPressure otherInstance,
Assembly assembly)
Creates a new instance from the data in another one but with a different assembly.
|
| 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.
|
void |
checkData(AbsoluteDate start,
AbsoluteDate end)
This methods throws an exception if the user did not provide all the required data to perform model call on
provided range [start; end].
|
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.
|
Assembly |
getAssembly()
Getter for the assembly used at construction.
|
EventDetector[] |
getEventsDetectors()
Get the discrete events related to the model.
|
CelestialBodyFrame |
getInBodyFrame()
Getter for the boby frame used at construction.
|
int |
getInCorona()
Getter for the number of corona used at construction.
|
IEmissivityModel |
getInEmissivityModel()
Getter for the emissivity model used at construction.
|
int |
getInMeridian()
Getter for the number of meridian used at construction.
|
PVCoordinatesProvider |
getInSun()
Getter for the coordinate of sun used at construction.
|
double |
getK0Albedo()
Getter for the albedo global multiplicative factor used at construction.
|
double |
getK0Ir()
Getter for the infrared global multiplicative factor used at construction.
|
boolean |
isAlbedoComputed()
Getter for the albedo indicator used at construction.
|
boolean |
isIRComputed()
Getter for the infrared indicator used at construction.
|
addJacobiansParameter, addJacobiansParameter, addJacobiansParameter, supportsJacobianParameteraddAllParameters, addAllParameters, addParameter, getParameters, supportsParameterclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetParameters, supportsParameterpublic RediffusedRadiationPressure(PVCoordinatesProvider inSun, CelestialBodyFrame inBodyFrame, int inCorona, int inMeridian, IEmissivityModel inEmissivityModel, RediffusedRadiationSensitive inModel)
inSun - coordinate of suninBodyFrame - boby frameinCorona - number of coronainMeridian - number of meridianinEmissivityModel - emissivity modelinModel - redistributed radiative modelpublic RediffusedRadiationPressure(PVCoordinatesProvider inSun, CelestialBodyFrame inBodyFrame, int inCorona, int inMeridian, IEmissivityModel inEmissivityModel, RediffusedRadiationSensitive inModel, boolean computePD)
inSun - coordinate of suninBodyFrame - boby frameinCorona - number of coronainMeridian - number of meridianinEmissivityModel - emissivity modelinModel - redistributed radiative modelcomputePD - true if partial derivatives wrt position have to be computedpublic RediffusedRadiationPressure(RediffusedRadiationPressure otherInstance, Assembly assembly)
otherInstance - the other instanceassembly - the new assemblypublic 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 Vector3D computeAcceleration(SpacecraftState s) throws PatriusException
computeAcceleration in interface ForceModels - current state information: date, kinematics, attitudeSpacecraftState framePatriusException - if some specific 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 GradientModelpublic PVCoordinatesProvider getInSun()
public CelestialBodyFrame getInBodyFrame()
public int getInCorona()
public int getInMeridian()
public IEmissivityModel getInEmissivityModel()
public boolean isAlbedoComputed()
public boolean isIRComputed()
public double getK0Albedo()
public double getK0Ir()
public Assembly getAssembly()
public void checkData(AbsoluteDate start, AbsoluteDate end)
checkData in interface ForceModelstart - range start dateend - range end dateCopyright © 2024 CNES. All rights reserved.