Class SolarRadiationPressure

    • Constructor Detail

      • SolarRadiationPressure

        public SolarRadiationPressure​(ExtendedPositionProvider sun,
                                      OneAxisEllipsoid centralBody,
                                      RadiationSensitive spacecraft)
        Simple constructor with default reference values.

        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 shape model (for umbra/penumbra computation)
        spacecraft - the object physical and geometrical information
        Since:
        12.0
      • SolarRadiationPressure

        public SolarRadiationPressure​(double dRef,
                                      double pRef,
                                      ExtendedPositionProvider sun,
                                      OneAxisEllipsoid centralBody,
                                      RadiationSensitive spacecraft)
        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 - the object physical and geometrical information
        Since:
        12.0
    • Method Detail

      • getRadiationSensitiveSpacecraft

        public RadiationSensitive getRadiationSensitiveSpacecraft()
        Getter for radiation-sensitive spacecraft.
        Returns:
        radiation-sensitive model
        Since:
        12.1
      • dependsOnPositionOnly

        public boolean dependsOnPositionOnly()
        Check if force model depends on position only at a given, fixed date.
        Returns:
        true if force model depends on position only, false if it depends on velocity, either directly or due to a dependency on attitude
      • acceleration

        public Vector3D acceleration​(SpacecraftState s,
                                     double[] parameters)
        Compute acceleration.
        Parameters:
        s - current state information: date, kinematics, attitude
        parameters - values of the force model parameters at state date, only 1 value for each parameterDriver
        Returns:
        acceleration in same frame as state
      • acceleration

        public <T extends CalculusFieldElement<T>> FieldVector3D<T> acceleration​(FieldSpacecraftState<T> s,
                                                                                 T[] parameters)
        Compute acceleration.
        Type Parameters:
        T - type of the elements
        Parameters:
        s - current state information: date, kinematics, attitude
        parameters - values of the force model parameters at state date, only 1 value for each parameterDriver
        Returns:
        acceleration in same frame as state
      • getLightingRatio

        public double getLightingRatio​(SpacecraftState state)
        Get the lighting ratio ([0-1]).
        Parameters:
        state - spacecraft state
        Returns:
        lighting ratio
        Since:
        7.1
      • getLightingRatio

        public <T extends CalculusFieldElement<T>> T getLightingRatio​(FieldSpacecraftState<T> state)
        Get the lighting ratio ([0-1]).
        Type Parameters:
        T - extends CalculusFieldElement
        Parameters:
        state - spacecraft state
        Returns:
        lighting ratio
        Since:
        7.1
      • getParametersDrivers

        public List<ParameterDriver> getParametersDrivers()
        Get the drivers for parameters.
        Returns:
        drivers for parameters