sun_shine
- ssapy.compute.sun_shine(r_sat, r_earth, r_sun, radius, albedo, albedo_front, area_panels)[source][source]
Calculate the fractional flux of sunlight reflected from the Sun to the satellite.
This function computes the flux of sunlight reflected from the Sun to the satellite, including contributions from the front surface of the satellite’s solar panels.
Parameters:
- r_sat(n, 3) numpy.ndarray
Array of coordinates representing the position of the satellite.
- r_earth(n, 3) numpy.ndarray
Array of coordinates representing the position of the Earth.
- r_sun(n, 3) numpy.ndarray
Array of coordinates representing the position of the Sun.
- radiusfloat
Radius of the satellite in meters.
- albedofloat
Albedo of the satellite’s surface.
- albedo_frontfloat
Albedo of the front surface of the satellite’s solar panels.
- area_panelsfloat
Area of the satellite’s solar panels in square meters.
Returns:
- dict
Dictionary containing the flux contributions from the Sun to the satellite: - ‘sun_bus’: Fraction of light reflected off the satellite’s bus from the Sun. - ‘sun_panels’: Fraction of light reflected off the satellite’s panels from the Sun.
Notes:
The function assumes that the solar panels are always facing the Sun and calculates flux based on the phase angle.
Flux contributions from the front surface of the solar panels are computed.
Example:
>>> r_sat = np.array([[1e7, 1e7, 1e7]]) >>> r_earth = np.array([[0, 0, 0]]) >>> r_sun = np.array([[1e11, 0, 0]]) >>> sun_shine(r_sat, r_earth, r_sun, radius=0.4, albedo=0.20, albedo_front=0.05, area_panels=100) {'sun_bus': array([...]), 'sun_panels': array([...])}