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(CelestialBody inSun,
Frame inBodyFrame,
int inCorona,
int inMeridian,
IEmissivityModel inEmissivityModel,
RediffusedRadiationSensitive inModel)
Constructor.
|
RediffusedRadiationPressure(CelestialBody inSun,
Frame 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.
|
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.
|
Frame |
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.
|
CelestialBody |
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, supportsJacobianParameter
addParameter, getParameters, supportsParameter
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getParameters, supportsParameter
public RediffusedRadiationPressure(CelestialBody inSun, Frame inBodyFrame, int inCorona, int inMeridian, IEmissivityModel inEmissivityModel, RediffusedRadiationSensitive inModel) throws PatriusException
inSun
- coordinate of suninBodyFrame
- boby frameinCorona
- number of coronainMeridian
- number of meridianinEmissivityModel
- emissivity modelinModel
- redistributed radiative modelPatriusException
- thrown if no radiative properties foundpublic RediffusedRadiationPressure(CelestialBody inSun, Frame inBodyFrame, int inCorona, int inMeridian, IEmissivityModel inEmissivityModel, RediffusedRadiationSensitive inModel, boolean computePD) throws PatriusException
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 computedPatriusException
- thrown if no radiative properties foundpublic RediffusedRadiationPressure(RediffusedRadiationPressure otherInstance, Assembly assembly) throws PatriusException
otherInstance
- the other instanceassembly
- the new assemblyPatriusException
- if no radiative properties foundpublic void addContribution(SpacecraftState s, TimeDerivativesEquations adder) throws PatriusException
addContribution
in interface ForceModel
s
- 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 ForceModel
s
- current state information: date, kinematics, attitudeSpacecraftState frame
PatriusException
- if some specific error occurspublic EventDetector[] getEventsDetectors()
getEventsDetectors
in interface ForceModel
public void addDAccDState(SpacecraftState s, double[][] dAccdPos, double[][] dAccdVel) throws PatriusException
addDAccDState
in interface IJacobiansParameterizable
s
- 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 IJacobiansParameterizable
s
- 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 GradientModel
public boolean computeGradientVelocity()
computeGradientVelocity
in interface GradientModel
public CelestialBody getInSun()
public Frame 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()
Copyright © 2019 CNES. All rights reserved.