Class 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
    • 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.0
        tau - specular reflection coefficient τ between 0.0 an 1.0
    • Method Detail

      • 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 interface RadiationSensitive
        Parameters:
        date - current date
        frame - inertial reference frame for state (both orbit and attitude)
        position - position of spacecraft in reference frame
        rotation - orientation (attitude) of the spacecraft with respect to reference frame
        mass - current mass
        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 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 interface RadiationSensitive
        Type Parameters:
        T - extends RealFieldElement
        Parameters:
        date - current date
        frame - inertial reference frame for state (both orbit and attitude)
        position - position of spacecraft in reference frame
        rotation - orientation (attitude) of the spacecraft with respect to reference frame
        mass - current mass
        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 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 interface RadiationSensitive
        Parameters:
        date - current date
        frame - inertial reference frame for state (both orbit and attitude)
        position - position of spacecraft in reference frame
        rotation - orientation (attitude) of the spacecraft with respect to reference frame
        mass - current mass
        flux - radiation flux in the same inertial frame as spacecraft orbit
        parameters - values of the force model parameters
        paramName - name of the parameter with respect to which derivatives are required
        Returns:
        spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)