public class IsotropicRadiationCNES95Convention extends Object implements RadiationSensitive
This model uses the coefficients described in the collective book edited by CNES in 1995: Spaceflight Dynamics (part I), in section 5.2.2.1.3.1 (page 296 of the English edition). The absorption coefficient is called α and the specular reflection coefficient is called τ. A comment in section 5.2.2.1.3.2 of the same book reads:
Some authors prefer to express thermo-optical properties for surfaces using the following coefficients: Ka = α, Ks = (1-α)τ, Kd = (1-α)(1-τ)Ka is the same absorption coefficient, and Ks is also called specular reflection coefficient, which leads to a confusion. In fact, as the Ka, Ks and Kd coefficients are the most frequently used ones (using the names Ca, Cs and Cd), when speaking about reflection coefficients, it is more often Cd that is considered rather than τ.
The classical set of coefficients Ca, Cs, and Cd are implemented in the
sister class IsotropicRadiationClassicalConvention
, which should
probably be preferred to this legacy class.
BoxAndSolarArraySpacecraft
,
IsotropicDrag
,
IsotropicRadiationClassicalConvention
ABSORPTION_COEFFICIENT, REFLECTION_COEFFICIENT
Constructor and Description |
---|
IsotropicRadiationCNES95Convention(double crossSection,
double alpha,
double tau)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
double |
getAbsorptionCoefficient()
Get the absorption coefficient.
|
double |
getReflectionCoefficient()
Get the specular reflection coefficient.
|
FieldVector3D<DerivativeStructure> |
radiationPressureAcceleration(AbsoluteDate date,
Frame frame,
FieldVector3D<DerivativeStructure> position,
FieldRotation<DerivativeStructure> rotation,
DerivativeStructure mass,
FieldVector3D<DerivativeStructure> flux)
Compute the acceleration due to radiation pressure, with state derivatives.
|
Vector3D |
radiationPressureAcceleration(AbsoluteDate date,
Frame frame,
Vector3D position,
Rotation rotation,
double mass,
Vector3D flux)
Compute the acceleration due to radiation pressure.
|
FieldVector3D<DerivativeStructure> |
radiationPressureAcceleration(AbsoluteDate date,
Frame frame,
Vector3D position,
Rotation rotation,
double mass,
Vector3D flux,
String paramName)
Compute the acceleration due to radiation pressure, with parameters derivatives.
|
void |
setAbsorptionCoefficient(double value)
Set the absorption coefficient.
|
void |
setReflectionCoefficient(double value)
Set the specular reflection coefficient.
|
public IsotropicRadiationCNES95Convention(double crossSection, double alpha, double tau)
crossSection
- Surface (m²)alpha
- absorption coefficient α between 0.0 an 1.0tau
- specular reflection coefficient τ between 0.0 an 1.0public Vector3D radiationPressureAcceleration(AbsoluteDate date, Frame frame, Vector3D position, Rotation rotation, double mass, Vector3D flux)
radiationPressureAcceleration
in interface RadiationSensitive
date
- current dateframe
- inertial reference frame for state (both orbit and attitude)position
- position of spacecraft in reference framerotation
- orientation (attitude) of the spacecraft with respect to reference framemass
- current massflux
- radiation flux in the same inertial frame as spacecraft orbitpublic FieldVector3D<DerivativeStructure> radiationPressureAcceleration(AbsoluteDate date, Frame frame, FieldVector3D<DerivativeStructure> position, FieldRotation<DerivativeStructure> rotation, DerivativeStructure mass, FieldVector3D<DerivativeStructure> flux)
radiationPressureAcceleration
in interface RadiationSensitive
date
- current dateframe
- inertial reference frame for state (both orbit and attitude)position
- position of spacecraft in reference framerotation
- orientation (attitude) of the spacecraft with respect to reference framemass
- spacecraft massflux
- radiation flux in the same inertial frame as spacecraft orbitpublic FieldVector3D<DerivativeStructure> radiationPressureAcceleration(AbsoluteDate date, Frame frame, Vector3D position, Rotation rotation, double mass, Vector3D flux, String paramName) throws OrekitException
radiationPressureAcceleration
in interface RadiationSensitive
date
- current dateframe
- inertial reference frame for state (both orbit and attitude)position
- position of spacecraft in reference framerotation
- orientation (attitude) of the spacecraft with respect to reference framemass
- current massflux
- radiation flux in the same inertial frame as spacecraft orbitparamName
- name of the parameter with respect to which derivatives are requiredOrekitException
- if acceleration cannot be computedpublic void setAbsorptionCoefficient(double value)
setAbsorptionCoefficient
in interface RadiationSensitive
value
- absorption coefficientpublic double getAbsorptionCoefficient()
getAbsorptionCoefficient
in interface RadiationSensitive
public void setReflectionCoefficient(double value)
setReflectionCoefficient
in interface RadiationSensitive
value
- specular reflection coefficientpublic double getReflectionCoefficient()
getReflectionCoefficient
in interface RadiationSensitive
Copyright © 2002-2016 CS Systèmes d'information. All rights reserved.