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:
  • Constructor Details

    • IsotropicRadiationCNES95Convention

      public IsotropicRadiationCNES95Convention(double crossSection, double alpha, double tau)
      Simple constructor.
      Parameters:
      crossSection - Surface (m²)
      alpha - absorption coefficient α between 0.0 an 1.0
      tau - specular reflection coefficient τ between 0.0 an 1.0
  • Method Details

    • getRadiationParametersDrivers

      public List<ParameterDriver> getRadiationParametersDrivers()
      Get the drivers for supported parameters.
      Specified by:
      getRadiationParametersDrivers in interface RadiationSensitive
      Returns:
      parameters drivers
    • radiationPressureAcceleration

      public Vector3D radiationPressureAcceleration(SpacecraftState state, Vector3D flux, double[] parameters)
      Compute the acceleration due to radiation pressure.
      Specified by:
      radiationPressureAcceleration in interface RadiationSensitive
      Parameters:
      state - current state
      flux - radiation flux in the same inertial frame as spacecraft orbit
      parameters - values of the force model parameters
      Returns:
      spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
    • radiationPressureAcceleration

      public <T extends CalculusFieldElement<T>> FieldVector3D<T> radiationPressureAcceleration(FieldSpacecraftState<T> state, FieldVector3D<T> flux, T[] parameters)
      Compute the acceleration due to radiation pressure.
      Specified by:
      radiationPressureAcceleration in interface RadiationSensitive
      Type Parameters:
      T - extends CalculusFieldElement
      Parameters:
      state - current state
      flux - radiation flux in the same inertial frame as spacecraft orbit
      parameters - values of the force model parameters
      Returns:
      spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)