Class DSSTSolarRadiationPressure

    • Constructor Detail

      • DSSTSolarRadiationPressure

        public DSSTSolarRadiationPressure​(double cr,
                                          double area,
                                          ExtendedPositionProvider sun,
                                          OneAxisEllipsoid centralBody,
                                          double mu)
        Simple constructor with default reference values and spherical spacecraft.

        When this constructor is used, the reference values are:

        • dref = 149597870000.0 m
        • pref = 4.56 10-6 N/m²

        The spacecraft has a spherical shape.

        Parameters:
        cr - satellite radiation pressure coefficient (assuming total specular reflection)
        area - cross sectional area of satellite
        sun - Sun model
        centralBody - central body (for shadow computation)
        mu - central attraction coefficient
        Since:
        12.0
      • DSSTSolarRadiationPressure

        public DSSTSolarRadiationPressure​(ExtendedPositionProvider sun,
                                          OneAxisEllipsoid centralBody,
                                          RadiationSensitive spacecraft,
                                          double mu)
        Simple constructor with default reference values, but custom spacecraft.

        When this constructor is used, the reference values are:

        • dref = 149597870000.0 m
        • pref = 4.56 10-6 N/m²
        Parameters:
        sun - Sun model
        centralBody - central body (for shadow computation)
        spacecraft - spacecraft model
        mu - central attraction coefficient
        Since:
        12.0
      • DSSTSolarRadiationPressure

        public DSSTSolarRadiationPressure​(double dRef,
                                          double pRef,
                                          double cr,
                                          double area,
                                          ExtendedPositionProvider sun,
                                          OneAxisEllipsoid centralBody,
                                          double mu)
        Constructor with customizable reference values but spherical spacecraft.

        Note that reference solar radiation pressure pRef in N/m² is linked to solar flux SF in W/m² using formula pRef = SF/c where c is the speed of light (299792458 m/s). So at 1UA a 1367 W/m² solar flux is a 4.56 10-6 N/m² solar radiation pressure.

        Parameters:
        dRef - reference distance for the solar radiation pressure (m)
        pRef - reference solar radiation pressure at dRef (N/m²)
        cr - satellite radiation pressure coefficient (assuming total specular reflection)
        area - cross sectional area of satellite
        sun - Sun model
        centralBody - central body (for shadow computation)
        mu - central attraction coefficient
        Since:
        12.0
      • DSSTSolarRadiationPressure

        public DSSTSolarRadiationPressure​(double dRef,
                                          double pRef,
                                          ExtendedPositionProvider sun,
                                          OneAxisEllipsoid centralBody,
                                          RadiationSensitive spacecraft,
                                          double mu)
        Complete constructor.

        Note that reference solar radiation pressure pRef in N/m² is linked to solar flux SF in W/m² using formula pRef = SF/c where c is the speed of light (299792458 m/s). So at 1UA a 1367 W/m² solar flux is a 4.56 10-6 N/m² solar radiation pressure.

        Parameters:
        dRef - reference distance for the solar radiation pressure (m)
        pRef - reference solar radiation pressure at dRef (N/m²)
        sun - Sun model
        centralBody - central body shape model (for umbra/penumbra computation)
        spacecraft - spacecraft model
        mu - central attraction coefficient
        Since:
        12.0
    • Method Detail

      • getSpacecraft

        public RadiationSensitive getSpacecraft()
        Get spacecraft shape.
        Returns:
        the spacecraft shape.
      • getLLimits

        protected double[] getLLimits​(SpacecraftState state,
                                      AuxiliaryElements auxiliaryElements)
        Compute the limits in L, the true longitude, for integration.
        Specified by:
        getLLimits in class AbstractGaussianContribution
        Parameters:
        state - current state information: date, kinematics, attitude
        auxiliaryElements - auxiliary elements related to the current orbit
        Returns:
        the integration limits in L
      • getLLimits

        protected <T extends CalculusFieldElement<T>> T[] getLLimits​(FieldSpacecraftState<T> state,
                                                                     FieldAuxiliaryElements<T> auxiliaryElements)
        Compute the limits in L, the true longitude, for integration.
        Specified by:
        getLLimits in class AbstractGaussianContribution
        Type Parameters:
        T - type of the elements
        Parameters:
        state - current state information: date, kinematics, attitude
        auxiliaryElements - auxiliary elements related to the current orbit
        Returns:
        the integration limits in L
      • getEquatorialRadius

        public double getEquatorialRadius()
        Get the central body equatorial radius.
        Returns:
        central body equatorial radius (m)