poliastro2.core.events

Classes

AltitudeCrossEvent(alt, R[, terminal, direction])

Detect if a satellite crosses a specific threshold altitude.

EclipseEvent(orbit[, terminal, direction])

Base class for the eclipse event.

Event(terminal, direction)

Base class for event functionalities.

LatitudeCrossEvent(orbit, lat[, terminal, ...])

Detect if a satellite crosses a specific threshold latitude.

LithobrakeEvent(R[, terminal])

Terminal event that detects impact with the attractor surface.

LosEvent(attractor, pos_coords[, terminal, ...])

Detect whether there exists a LOS between two satellites.

NodeCrossEvent([terminal, direction])

Detect equatorial node (ascending or descending) crossings.

PenumbraEvent(orbit[, terminal, direction])

Detect whether a satellite is in penumbra or not.

UmbraEvent(orbit[, terminal, direction])

Detect whether a satellite is in umbra or not.

class poliastro2.core.events.AltitudeCrossEvent(alt, R, terminal=True, direction=-1)

Detect if a satellite crosses a specific threshold altitude.

Parameters:
  • alt (float) – Threshold altitude (km).

  • R (float) – Radius of the attractor (km).

  • terminal (bool) – Whether to terminate integration if this event occurs.

  • direction (float) – Handle triggering of event based on whether altitude is crossed from above or below, defaults to -1, i.e., event is triggered only if altitude is crossed from above (decreasing altitude).

class poliastro2.core.events.EclipseEvent(orbit, terminal=False, direction=0)

Base class for the eclipse event.

Parameters:
  • orbit (poliastro.twobody.orbit.Orbit) – Orbit of the satellite.

  • terminal (bool, optional) – Whether to terminate integration when the event occurs, defaults to False.

  • direction (float, optional) – Specify which direction must the event trigger, defaults to 0.

class poliastro2.core.events.Event(terminal, direction)

Base class for event functionalities.

Parameters:
  • terminal (bool) – Whether to terminate integration if this event occurs.

  • direction (float) – Handle triggering of event.

property direction
property last_t
property terminal
class poliastro2.core.events.LatitudeCrossEvent(orbit, lat, terminal=False, direction=0)

Detect if a satellite crosses a specific threshold latitude.

Parameters:
  • orbit (Orbit) – Orbit.

  • lat (astropy.quantity.Quantity) – Threshold latitude.

  • terminal (bool, optional) – Whether to terminate integration if this event occurs, defaults to True.

  • direction (float, optional) – Handle triggering of event based on whether latitude is crossed from above or below, defaults to 0, i.e., event is triggered while traversing from both directions.

class poliastro2.core.events.LithobrakeEvent(R, terminal=True)

Terminal event that detects impact with the attractor surface.

Parameters:
  • R (float) – Radius of the attractor (km).

  • terminal (bool) – Whether to terminate integration if this event occurs.

class poliastro2.core.events.LosEvent(attractor, pos_coords, terminal=False, direction=0)

Detect whether there exists a LOS between two satellites.

Parameters:
  • attractor (body) – The central attractor with respect to which the position vectors of the satellites are defined.

  • pos_coords (Quantity) – A list of position coordinates for the secondary body. These coordinates can be found by propagating the body for a desired amount of time.

class poliastro2.core.events.NodeCrossEvent(terminal=False, direction=0)

Detect equatorial node (ascending or descending) crossings.

Parameters:
  • terminal (bool, optional) – Whether to terminate integration when the event occurs, defaults to False.

  • direction (float, optional) – Handle triggering of event based on whether the node is crossed from above i.e. descending node, or is crossed from below i.e. ascending node, defaults to 0, i.e. event is triggered during both crossings.

class poliastro2.core.events.PenumbraEvent(orbit, terminal=False, direction=0)

Detect whether a satellite is in penumbra or not.

Parameters:
  • orbit (poliastro.twobody.orbit.Orbit) – Orbit of the satellite.

  • terminal (bool, optional) – Whether to terminate integration when the event occurs, defaults to False.

  • direction (float, optional) – Handle triggering of event based on whether entry is into or out of penumbra, defaults to 0, i.e., event is triggered at both, entry and exit points.

class poliastro2.core.events.UmbraEvent(orbit, terminal=False, direction=0)

Detect whether a satellite is in umbra or not.

Parameters:
  • orbit (poliastro.twobody.orbit.Orbit) – Orbit of the satellite.

  • terminal (bool, optional) – Whether to terminate integration when the event occurs, defaults to False.

  • direction (float, optional) – Handle triggering of event based on whether entry is into or out of umbra, defaults to 0, i.e., event is triggered at both, entry and exit points.