fundamentals

Functions for fundamental astrodynamic calculations

This module contains a list of functions for fundamental astrodynamic calculations. These functions are used in the other modules to perform more complex calculations, but can also be used on their own for standalone calculations.

Note

The functions in this module are expected to be reorganized in the future.

Functions

compute_shadow_function(...)

Compute the shadow function.

compute_shadow_function(occulted_body_position: numpy.ndarray[numpy.float64[3, 1]], occulted_body_radius: float, occulting_body_position: numpy.ndarray[numpy.float64[3, 1]], occulting_body_radius: float, satellite_position: numpy.ndarray[numpy.float64[3, 1]]) float

Compute the shadow function.

Returns the value of of the shadow function. Returns 0 if the satellite is in umbra, 1 if the satellite is fully exposed and a value between 0 and 1 if the satellite is in penumbra or antumbra.

The point of view is from the satellite. The occulting body (for example the Earth) is the body that blocks the light from the occulted body (for example the Sun).

Reference: Section 3.4 from ( Montebruck O, Gill E., 2005) and Fig. 5 from (Zhang et al., 2019).

Parameters:
  • occulted_body_position (numpy.ndarray) – Vector containing Cartesian coordinates of the occulted body.

  • occulted_body_radius (float) – Mean radius of occulted body.

  • occulting_body_position (numpy.ndarray) – Vector containing Cartesian coordinates of the occulting body.

  • occulting_body_radius (float) – Mean radius of occulting body.

  • satellite_position (numpy.ndarray) – Vector containing Cartesian coordinates of the satellite.

Returns:

Shadow function value

Return type:

float