public class IsotropicRadiationClassicalConvention extends Object implements RadiationSensitive
This model uses the classical thermo-optical coefficients Ca for absorption, Cs for specular reflection and Kd for diffuse reflection. The equation Ca + Cs + Cd = 1 always holds.
A less standard set of coefficients α = Ca for absorption and
τ = Cs/(1-Ca) for specular reflection is implemented in the sister
class IsotropicRadiationCNES95Convention.
BoxAndSolarArraySpacecraft,
IsotropicDrag,
IsotropicRadiationCNES95ConventionABSORPTION_COEFFICIENT, REFLECTION_COEFFICIENT| Constructor and Description |
|---|
IsotropicRadiationClassicalConvention(double crossSection,
double ca,
double cs)
Simple constructor.
|
| Modifier and Type | Method and Description |
|---|---|
double |
getAbsorptionCoefficient()
Get the absorption coefficient.
|
double |
getReflectionCoefficient()
Get the specular reflection coefficient.
|
org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D<org.apache.commons.math3.analysis.differentiation.DerivativeStructure> |
radiationPressureAcceleration(AbsoluteDate date,
Frame frame,
org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D<org.apache.commons.math3.analysis.differentiation.DerivativeStructure> position,
org.apache.commons.math3.geometry.euclidean.threed.FieldRotation<org.apache.commons.math3.analysis.differentiation.DerivativeStructure> rotation,
org.apache.commons.math3.analysis.differentiation.DerivativeStructure mass,
org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D<org.apache.commons.math3.analysis.differentiation.DerivativeStructure> flux)
Compute the acceleration due to radiation pressure, with state derivatives.
|
org.apache.commons.math3.geometry.euclidean.threed.Vector3D |
radiationPressureAcceleration(AbsoluteDate date,
Frame frame,
org.apache.commons.math3.geometry.euclidean.threed.Vector3D position,
org.apache.commons.math3.geometry.euclidean.threed.Rotation rotation,
double mass,
org.apache.commons.math3.geometry.euclidean.threed.Vector3D flux)
Compute the acceleration due to radiation pressure.
|
org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D<org.apache.commons.math3.analysis.differentiation.DerivativeStructure> |
radiationPressureAcceleration(AbsoluteDate date,
Frame frame,
org.apache.commons.math3.geometry.euclidean.threed.Vector3D position,
org.apache.commons.math3.geometry.euclidean.threed.Rotation rotation,
double mass,
org.apache.commons.math3.geometry.euclidean.threed.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 IsotropicRadiationClassicalConvention(double crossSection,
double ca,
double cs)
crossSection - Surface (m²)ca - absorption coefficient Ca between 0.0 an 1.0cs - specular reflection coefficient Cs between 0.0 an 1.0public org.apache.commons.math3.geometry.euclidean.threed.Vector3D radiationPressureAcceleration(AbsoluteDate date, Frame frame, org.apache.commons.math3.geometry.euclidean.threed.Vector3D position, org.apache.commons.math3.geometry.euclidean.threed.Rotation rotation, double mass, org.apache.commons.math3.geometry.euclidean.threed.Vector3D flux)
radiationPressureAcceleration in interface RadiationSensitivedate - 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 org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D<org.apache.commons.math3.analysis.differentiation.DerivativeStructure> radiationPressureAcceleration(AbsoluteDate date, Frame frame, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D<org.apache.commons.math3.analysis.differentiation.DerivativeStructure> position, org.apache.commons.math3.geometry.euclidean.threed.FieldRotation<org.apache.commons.math3.analysis.differentiation.DerivativeStructure> rotation, org.apache.commons.math3.analysis.differentiation.DerivativeStructure mass, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D<org.apache.commons.math3.analysis.differentiation.DerivativeStructure> flux)
radiationPressureAcceleration in interface RadiationSensitivedate - 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 org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D<org.apache.commons.math3.analysis.differentiation.DerivativeStructure> radiationPressureAcceleration(AbsoluteDate date, Frame frame, org.apache.commons.math3.geometry.euclidean.threed.Vector3D position, org.apache.commons.math3.geometry.euclidean.threed.Rotation rotation, double mass, org.apache.commons.math3.geometry.euclidean.threed.Vector3D flux, String paramName) throws OrekitException
radiationPressureAcceleration in interface RadiationSensitivedate - 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 RadiationSensitivevalue - absorption coefficientpublic double getAbsorptionCoefficient()
getAbsorptionCoefficient in interface RadiationSensitivepublic void setReflectionCoefficient(double value)
setReflectionCoefficient in interface RadiationSensitivevalue - specular reflection coefficientpublic double getReflectionCoefficient()
getReflectionCoefficient in interface RadiationSensitiveCopyright © 2002-2017 CS Systèmes d'information. All rights reserved.