Description

The Solar Model module takes in the ephemeris data from all celestial bodies within the simulation, that have been configured and produces visibility between the spacecraft at some location and the sun, as well as a solar flux. This only assumes shadows from spherical bodies and does not perform calculations of actual lighting shadows blocked by other spacecraft or dynamic bodies in the simulation. This module exists always in the simulation and will be added to all spacecraft spawned into the simulation.


Example Use Cases

  • Power Production: Calculating the power produced by a solar panel at some location in orbit around a planet.
  • Thermal Control: If simulating thermal systems with lookup tables, the eclipse calculation will ensure that the temperature of a component will only heat up when exposed to the sun.
  • Solar Power: Use solar flux information to determine the amount of solar power that is generated from an array of panels.
  • Radiation Pressure: Use solar flux calculations to determine the solar radiation perturbations influencing the dynamics of spacecraft

Module Implementation

Eclipse

The module takes some inertial frame coordinates of a spacecraft relative to the SPICE zero-base . The first step to determine the eclipse factor is by determining the celestial bodies’ state vector, relative to the inertial frame , planet frame , spacecraft frame and the Helio (sun) frame . As such, using the inertial frame coordinates, the following vectors can be calculated.

These provide coordinates for the sun with respect to both the occulting planet and the occulting spacecraft, as well as the bodies’ positions with respect to the planet. The module supports multiple occulting bodies and only the planet with the highest potential to cause an eclipse is used. The closest body is determined by comparing the magnitude of each body’s distance to the spacecraft in the frame. If a spacecraft is closer to the sun than the planet, i.e when , then an eclipse is not possible and the shadow factor is set to 0.0.

When analysing the conical shadows, there are critical distances and dimensions that need to be calculated prior to determining the shadows. The radius of the planet, denoted as , is pre-calculated into the SPICE message for the planet data. Angles and are computed where the number in the subscript relates to the cone and the penumbra respectively.

where is the radius of the sun; approximately 695000km. The fundamental plane is perpendicular to the shadow axis and coincident with the spacecraft body. The distance between the plane intersection and the centre of the planet is given by , where:

This distance and the shadow cone angles can now be used to calculate the distances and , which correspond to the distances between the plane and the cones vertices and , as displayed in the image above.

These can then be used to find the radii and of the shadow cones and the fundamental plane:

Finding these parameters can provide information about the eclipse type that the spacecraft is experiencing, and to determine the type, the distances between the locations and the spacecraft can be given by .

A total and annular eclipse both require the spacecraft to be relatively close to the shadow axis, where . The difference between these type occurs when the planet is closer to the spacecraft, a total eclipse will occur when or an annular eclipse . If the spacecraft is further from the shadow axis, but still within a cone radius , it will experience a partial eclipse.

Once the eclipse type is determined, the shadow fraction can be determined. The constants , and can be calculated to determine the type of eclipse models.

Within each case; full eclipse being , annular eclipse being and partial eclipse being , then the following occultation disk model is produced.

In the case of a total eclipse, when , the shadow factor is set to 1.0. This assumes that the apparent radius of the planet is larger than that of the sun, where .

In the case of the annular eclipse where , the apparent radius of the sun is larger than that of the planet, where . The equation for the circular area can be used to find the area of the sun and planet faces and replacing with the radius can calculate the shadow fraction, being:

In the case of a partial eclipse, where , the occulted area is given by:

where , and are the values given in the previous equations and and are calculated as:

Finally, the shadow factor can be determined by the occulted area and the sun’s apparent area:

Solar Flux

The module assumes a constant solar flux value at the surface of Earth, taken as an average value with no atmospheric scattering at the distance of m. This value is given as .

Given a vector relative to the inertial frame , , then a vector between the object and the sun’s center can be calculated, given the earth and sun’s vectors from the SPICE frame, and . This assumes that the body and the sun vectors are also represented in the frame.

Then, the solar flux at the body location can be defined by the distance from the sun as calculated above multiplied by the shadow factor , where is 1.0 when in shadow and 0.0 when in complete visibility of the sun. Any values in between will be defined when the surface’s entire surface is only partially blocked by a celestial body, in the case of a partial eclipse.

The flux expands as an inverse square law, defined by maintaining energy over an increased surface area of a sphere.


Assumptions/Limitations

  • The model assumes that the spacecraft is a point size and has no area. As such, a large spacecraft that is only partially in the shadow of the sun will take the visibility as constant over the area, as per the local origin.
  • The model assumes that all celestial bodies are spherical about the central point of the planet. As such, any additions to a planet’s surface or non-spherical properties will not be reflected in the calculations.
  • Visibility to the sun is only dependent on the celestial bodies blocking the line of sight from the spacecraft to the sun. Other shadows and being blocked by other spacecraft are not computed and must be ray-casted using Unreal instead.
  • The model does not account for atmospheric density or shadows from translucent space.
  • The data defining the sun and planet states is obtained through an external SPICE package. Errors may be derived from this package but will be small.
  • Solar activity is assumed to be constant on the Sun and the solar flux value not in eclipse at a particular distance from the Sun will remain the same always.
  • By default, unless a component is added, solar radiation pressure will not influence the spacecraft’s dynamics and will remain a lookup table.

References

[1] Autonomous Vehicle Systems (AVS) Laboratory, 2023