Class IsotropicRadiationCNES95Convention
- java.lang.Object
-
- org.orekit.forces.radiation.IsotropicRadiationCNES95Convention
-
- All Implemented Interfaces:
RadiationSensitive
public class IsotropicRadiationCNES95Convention extends Object implements RadiationSensitive
This class represents the features of a simplified spacecraft.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.- Since:
- 7.1
- Author:
- Luc Maisonobe
- See Also:
BoxAndSolarArraySpacecraft
,IsotropicDrag
,IsotropicRadiationClassicalConvention
-
-
Field Summary
-
Fields inherited from interface org.orekit.forces.radiation.RadiationSensitive
ABSORPTION_COEFFICIENT, REFLECTION_COEFFICIENT
-
-
Constructor Summary
Constructors Constructor Description IsotropicRadiationCNES95Convention(double crossSection, double alpha, double tau)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ParameterDriver[]
getRadiationParametersDrivers()
Get the drivers for supported parameters.org.hipparchus.geometry.euclidean.threed.Vector3D
radiationPressureAcceleration(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.Vector3D position, org.hipparchus.geometry.euclidean.threed.Rotation rotation, double mass, org.hipparchus.geometry.euclidean.threed.Vector3D flux, double[] parameters)
Compute the acceleration due to radiation pressure.org.hipparchus.geometry.euclidean.threed.FieldVector3D<org.hipparchus.analysis.differentiation.DerivativeStructure>
radiationPressureAcceleration(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.Vector3D position, org.hipparchus.geometry.euclidean.threed.Rotation rotation, double mass, org.hipparchus.geometry.euclidean.threed.Vector3D flux, double[] parameters, String paramName)
Compute the acceleration due to radiation pressure, with parameters derivatives.<T extends org.hipparchus.RealFieldElement<T>>
org.hipparchus.geometry.euclidean.threed.FieldVector3D<T>radiationPressureAcceleration(FieldAbsoluteDate<T> date, Frame frame, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, org.hipparchus.geometry.euclidean.threed.FieldRotation<T> rotation, T mass, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> flux, T[] parameters)
Compute the acceleration due to radiation pressure.
-
-
-
Constructor Detail
-
IsotropicRadiationCNES95Convention
public IsotropicRadiationCNES95Convention(double crossSection, double alpha, double tau)
Simple constructor.- Parameters:
crossSection
- Surface (m²)alpha
- absorption coefficient α between 0.0 an 1.0tau
- specular reflection coefficient τ between 0.0 an 1.0
-
-
Method Detail
-
getRadiationParametersDrivers
public ParameterDriver[] getRadiationParametersDrivers()
Get the drivers for supported parameters.- Specified by:
getRadiationParametersDrivers
in interfaceRadiationSensitive
- Returns:
- parameters drivers
-
radiationPressureAcceleration
public org.hipparchus.geometry.euclidean.threed.Vector3D radiationPressureAcceleration(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.Vector3D position, org.hipparchus.geometry.euclidean.threed.Rotation rotation, double mass, org.hipparchus.geometry.euclidean.threed.Vector3D flux, double[] parameters)
Compute the acceleration due to radiation pressure.- Specified by:
radiationPressureAcceleration
in interfaceRadiationSensitive
- Parameters:
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 orbitparameters
- values of the force model parameters- Returns:
- spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
-
radiationPressureAcceleration
public <T extends org.hipparchus.RealFieldElement<T>> org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> radiationPressureAcceleration(FieldAbsoluteDate<T> date, Frame frame, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, org.hipparchus.geometry.euclidean.threed.FieldRotation<T> rotation, T mass, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> flux, T[] parameters)
Compute the acceleration due to radiation pressure.- Specified by:
radiationPressureAcceleration
in interfaceRadiationSensitive
- Type Parameters:
T
- extends RealFieldElement- Parameters:
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 orbitparameters
- values of the force model parameters- Returns:
- spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
-
radiationPressureAcceleration
public org.hipparchus.geometry.euclidean.threed.FieldVector3D<org.hipparchus.analysis.differentiation.DerivativeStructure> radiationPressureAcceleration(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.Vector3D position, org.hipparchus.geometry.euclidean.threed.Rotation rotation, double mass, org.hipparchus.geometry.euclidean.threed.Vector3D flux, double[] parameters, String paramName)
Compute the acceleration due to radiation pressure, with parameters derivatives.- Specified by:
radiationPressureAcceleration
in interfaceRadiationSensitive
- Parameters:
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 orbitparameters
- values of the force model parametersparamName
- name of the parameter with respect to which derivatives are required- Returns:
- spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
-
-