poliastro2.plotting.porkchop

This is the implementation of porkchop plot.

Classes

PorkchopPlotter(departure_body, target_body, ...)

Class Implementation for Porkchop Plot.

class poliastro2.plotting.porkchop.PorkchopPlotter(departure_body, target_body, launch_span, arrival_span, ax=None, tfl=True, vhp=True, max_c3=<Quantity 45. km2 / s2>, max_vhp=<Quantity 5. km / s>)

Class Implementation for Porkchop Plot.

Parameters:
  • departure_body (poliastro.bodies.Body) – Body from which departure is done

  • target_body (poliastro.bodies.Body) – Body for targetting

  • launch_span (astropy.time.Time) – Time span for launch

  • arrival_span (astropy.time.Time) – Time span for arrival

  • ax (matplotlib.axes.Axes) – For custom figures

  • tfl (bool) – For plotting time flight contour lines

  • vhp (bool) – For plotting arrival velocity contour lines

  • max_c3 (float) – Sets the maximum C3 value for porkchop

  • max_vhp (float) – Sets the maximum arrival velocity for porkchop

porkchop()

Plots porkchop between two bodies.

Returns:

  • dv_launch (numpy.ndarray) – Launch delta v

  • dv_arrival (numpy.ndarray) – Arrival delta v

  • c3_launch (numpy.ndarray) – Characteristic launch energy

  • c3_arrrival (numpy.ndarray) – Characteristic arrival energy

  • tof (numpy.ndarray) – Time of flight for each transfer

Examples

>>> from poliastro.plotting.porkchop import PorkchopPlotter
>>> from poliastro.bodies import Earth, Mars
>>> from poliastro.util import time_range
>>> launch_span = time_range("2005-04-30", end="2005-10-07")
>>> arrival_span = time_range("2005-11-16", end="2006-12-21")
>>> porkchop_plot = PorkchopPlotter(Earth, Mars, launch_span, arrival_span)
>>> dv_launch, dev_dpt, c3dpt, c3arr, tof = porkchop_plot.porkchop()
poliastro2.plotting.porkchop._get_state(body, time)

Computes the position of a body for a given time.

poliastro2.plotting.porkchop._targetting(departure_body, target_body, t_launch, t_arrival)

This function returns the increment in departure and arrival velocities.