poliastro.plotting.porkchop

This is the implementation of porkchop plot

Module Contents

Classes

PorkchopPlotter

Class Implementation for Porkchop Plot

Attributes

targetting_vec

poliastro.plotting.porkchop.targetting_vec
class poliastro.plotting.porkchop.PorkchopPlotter(departure_body, target_body, launch_span, arrival_span, ax=None, tfl=True, vhp=True, max_c3=45.0 * u.km ** 2 / u.s ** 2, max_vhp=5 * u.km / u.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 (boolean) – For plotting time flight contour lines

  • vhp (boolean) – 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(self)

Plots porkchop between two bodies.

Returns

  • dv_launch (np.ndarray) – Launch delta v

  • dv_arrival (np.ndarray) – Arrival delta v

  • c3_launch (np.ndarray) – Characteristic launch energy

  • c3_arrrival (np.ndarray) – Characteristic arrival energy

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

Example

>>> 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()