Class KnockeRediffusedForceModel

  • All Implemented Interfaces:
    ForceModel, EventDetectorsProvider, ParameterDriversProvider

    public class KnockeRediffusedForceModel
    extends Object
    implements ForceModel
    The Knocke Earth Albedo and IR emission force model.

    This model is based on "EARTH RADIATION PRESSURE EFFECTS ON SATELLITES", 1988, by P. C. Knocke, J. C. Ries, and B. D. Tapley.

    This model represents the effects of radiation pressure coming from the Earth. It considers Solar radiation which has been reflected by Earth (albedo) and Earth infrared emissions. The planet is considered as a sphere and is divided into elementary areas. Each elementary area is considered as a plane and emits radiation according to Lambert's law. The flux the satellite receives is then equal to the sum of the elementary fluxes coming from Earth.

    The radiative model of the satellite, and its ability to diffuse, reflect or absorb radiation is handled by a radiation sensitive model.

    Caution: This model is only suitable for Earth. Using it with another central body is prone to error..

    Since:
    10.3
    Author:
    Thomas Paulet
    • Constructor Detail

      • KnockeRediffusedForceModel

        @DefaultDataContext
        public KnockeRediffusedForceModel​(ExtendedPVCoordinatesProvider sun,
                                          RadiationSensitive spacecraft,
                                          double equatorialRadius,
                                          double angularResolution)
        Default Constructor.

        This constructor uses the default data context

        .
        Parameters:
        sun - Sun model
        spacecraft - the object physical and geometrical information
        equatorialRadius - the Earth equatorial radius in m
        angularResolution - angular resolution in rad
      • KnockeRediffusedForceModel

        public KnockeRediffusedForceModel​(ExtendedPVCoordinatesProvider sun,
                                          RadiationSensitive spacecraft,
                                          double equatorialRadius,
                                          double angularResolution,
                                          TimeScale utc)
        General constructor.
        Parameters:
        sun - Sun model
        spacecraft - the object physical and geometrical information
        equatorialRadius - the Earth equatorial radius in m
        angularResolution - angular resolution in rad
        utc - the UTC time scale to define reference epoch
    • Method Detail

      • dependsOnPositionOnly

        public boolean dependsOnPositionOnly()
        Check if force models depends on position only.
        Specified by:
        dependsOnPositionOnly in interface ForceModel
        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.
        Specified by:
        acceleration in interface ForceModel
        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.
        Specified by:
        acceleration in interface ForceModel
        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