astro.Satellite#

class hohmannpy.astro.Satellite(name, starting_orbit, color='#FF073A', burns=None, mass=None, ballistic_coeff=None, mean_reflective_area=None, reflectivity=None)#

Basic spacecraft whose motion can be simulated using Mission.

Parameters:
  • name (str) – Unique identifier of the spacecraft. Repeats are not allowed.

  • starting_orbit (Orbit) – The orbit the spacecraft is in at the start of the perturbation.

  • color (str) – The color of the orbit and spacecraft to display in renderings.

  • burns (Optional[list[Union[ImpulsiveBurn, ContinuousBurn]]]) – The set of impulsive and continuous.rst burns to schedule for this spacecraft.

  • mass (float) – Mass of the spacecraft in \(kg\). Needed for missions where the perturbation SolarRadiation is enabled.

  • ballistic_coeff (float) – Dimensionless parameter proportional to the drag effects experienced by a spacecraft. Needed for missions where the perturbation AtmosphericDrag is enabled.

  • mean_reflective_area (float) – Average area exposed to solar radiation pressure in \(m^2\). Needed for missions where the perturbation SolarRadiation is enabled.

  • reflectivity (float) – Dimensionless parameter proportional to how much solar radiation is reflected by the mean_reflective_area. 0 = transparent, 1 = full absorption, and 2 = full reflection. Needed for missions where the perturbation SolarRadiation is enabled.

Variables:
  • name (str) – Unique identifier of the spacecraft. Repeats are not allowed.

  • starting_orbit (Orbit) – The orbit the spacecraft is in at the start of the perturbation.

  • orbit (Orbit) – Current orbit of the spacecraft. Starts as a deep copy of the starting_orbit and then is updated on each timestep during propagation.

  • loggers (list[Logger]) – Loggers which record data on each timestep during propagation. This attribute is initially set to None and is filled in by the __init__() of Mission.

  • color (str) – The color of the orbit and spacecraft to display in renderings.

  • mass (float) – Mass of the spacecraft in \(kg\). Needed for missions where the perturbation SolarRadiation is enabled.

  • ballistic_coeff (float) – Dimensionless parameter proportional to the drag effects experienced by a spacecraft. Needed for missions where the perturbation AtmosphericDrag is enabled.

  • mean_reflective_area (float) – Average area exposed to solar radiation pressure in \(m^2\). Needed for missions where the perturbation SolarRadiation is enabled.

  • reflectivity (float) – Dimensionless parameter proportional to how much solar radiation is reflected by the mean_reflective_area. 0 = transparent, 1 = full absorption, and 2 = full reflection. Needed for missions where the perturbation SolarRadiation is enabled.

  • impulsive_burns (list[ImpulsiveBurn]) – The set of scheduled impulsive burns for this satellite. These will end up sorted from earliest to latest based on their start_time attribute.

  • continuous_burns (list[ContinuousBurn]) – The set of scheduled continuous.rst burns for this satellite. These will end up sorted from earliest to latest based on their start_time attribute.

  • inverted_continuous_burns (list[ContinuousBurn]) – Same as continuous_burns, but this time sorted from earliest to latest based on their end_time attribute.

  • impulsive_burn_index (int) – Which burn from impulsive_burns is currently scheduled next.

  • continuous_burn_start_index (int) – Which burn from continuous_burns is currently scheduled to start next.

  • continuous_burn_end_index (int) – Which burn from inverted_continuous_burns is currently scheduled to end next.

Notes

Once a satellite’s orbit is propagator, the recorded data (attributes) of any Logger attached to this satellite can be access from the satellite using __getattr_().