astro.SolarRadiation#

class hohmannpy.astro.SolarRadiation(irradiance_scale_factor=1, shadowing=True)#

Perturbation caused by solar radiation from the Sun.

Parameters:
  • irradiance_scale_factor (float) – Constant to scale the solar irradiance by at all timesteps. Useful for representing heightened solar activity such as during solar flares.

  • shadowing (bool) – Flag which determines whether the Earth’s shadow should be modeled.

Variables:

earth_orbit_spline (numpy.BSpline) – Linear spline of the Earth’s trajectory. Calling it via earth_orbit_spline(time) returns the interpolated orbit at that time.

Notes

The following assumptions are made for this implementation:

  1. Solar irradiance is given by an equation developed by Wertz [1] and is primarily based on the number of days since Earth’s last aphelion.

  2. Aphelion is taken to have occurred on the most recent July 4th, 12:00:00 UT1 preceding initial_global_time. It is then taken to occur every 365.25 Julian days after this (leap days are not accounted for).

  3. The 1-2 plane of the Earth-centered-inertial (ECI) basis is also assumed to be inclined at constant 23.5 \(deg\) from the ecliptic plane.

  4. The reflective area facing the Sun and reflectivity of said area is also assumed to be constant and attitude-independent.

  5. As a consequence of 4, the perturbing acceleration is said to act along a line from the Sun to the satellite.

  6. The Earth’s shadow (if enabled) is assumed to be a cylinder of equivalent radius to the Earth along the Earth-Sun line on the shadowed face of the Earth. Solar radiation is fully disabled whenever the satellite lies in this cylinder and otherwise is assumed to act at full strength.

evaluate(time, state, satellite)#

Computes the perturbing acceleration due to the Sun’s radiation.

Parameters:
  • time (float) – Current time in seconds since propagation began.

  • state (np.ndarray) – Current translational state in ECI coordinates given as (position, velocity).

  • satellite (Satellite) – Satellite object. Passed so that its mass, mean_reflective_area, and reflectivity may be accessed.

Returns:

acceleration (np.ndarray) – Current translational acceleration in ECI coordinates.