latom.guess.guess_heo_2d

@authors: Alberto FOSSA’ Giuliana Elena MICELI

Functions

deepcopy(x[, memo, _nil])

Deep copy operation on arbitrary Python objects.

Classes

ImpulsiveBurn(sc, dv)

ImpulsiveBurn class describes an impulsive burn.

PowConstRadius(gm, r0, v0, vf, m0, thrust, isp)

PowConstRadius class implements a two-dimensional powered phase at constant radius from the central attractive body.

TwoDim3PhasesLLO2HEOGuess(gm, r, alt, rp, t, sc)

TwoDim3PhasesLLO2HEOGuess provides an initial guess for a LLO to HEO transfer trajectory subdivided into two powered phases and an intermediate coasting phase.

TwoDimGuess(gm, r, dep, arr, sc)

TwoDimGuess provides an initial guess for a two-dimensional transfer trajectory combining powered phases at constant radius with Hohmann transfer arcs.

TwoDimHEO2LLOGuess(gm, r, alt, rp, t, sc)

TwoDimHEO2LLOGuess provides an initial guess for an HEO to LLO transfer.

TwoDimHEOGuess(gm, r, dep, arr, sc)

TwoDimHEOGuess provides an initial guess for an LLO to HEO transfer or vice-versa.

TwoDimLLO2HEOGuess(gm, r, alt, rp, t, sc)

TwoDimLLO2HEOGuess provides an initial guess for an LLO to HEO transfer.

TwoDimLLOGuess(gm, r, dep, arr, sc)

TwoDimLLOGuess provides an initial guess for a two-dimensional ascent or descent trajectory from the Moon surface to a circular Low Lunar Orbit.

TwoDimOrb(gm, **kwargs)

Defines a two-dimensional orbit from its keplerian parameters.

class latom.guess.guess_heo_2d.TwoDimHEOGuess(gm, r, dep, arr, sc)[source]

Bases: latom.guess.guess_2d.TwoDimGuess

TwoDimHEOGuess provides an initial guess for an LLO to HEO transfer or vice-versa.

The approximate trajectory comprises a powered phase at constant radius, an Hohmann transfer and an impulsive burn.

Parameters
  • gm (float) – Central body standard gravitational parameter [m^3/s^2]

  • r (float) – Central body equatorial radius [m]

  • dep (TwoDimOrb) – Departure orbit object

  • arr (TwoDimOrb) – Arrival orbit object

  • sc (Spacecraft) – Spacecraft object

Variables

pow (PowConstRadius) – PowConstRadius object

compute_trajectory(**kwargs)[source]

Computes the states and controls timeseries on the provided time grid.

Other Parameters
  • t_eval (ndarray) – Time vector in which states and controls are computed [s]

  • nb_nodes (int) – Number of equally space nodes in time in which states and controls are computed

class latom.guess.guess_heo_2d.TwoDimLLO2HEOGuess(gm, r, alt, rp, t, sc)[source]

Bases: latom.guess.guess_heo_2d.TwoDimHEOGuess

TwoDimLLO2HEOGuess provides an initial guess for an LLO to HEO transfer.

The approximate trajectory comprises a powered phase at constant radius equal to the LLO one, an Hohmann transfer and an impulsive burn at the HEO apoapsis.

Parameters
  • gm (float) – Central body standard gravitational parameter [m^3/s^2]

  • r (float) – Central body equatorial radius [m]

  • alt (float) – LLO altitude [m]

  • rp (float) – HEO periapsis radius [m]

  • t (float) – HEO period [s]

  • sc (Spacecraft) – Spacecraft object

Variables
compute_trajectory(fix_final=True, throttle=True, **kwargs)[source]

Computes the states and controls timeseries on the provided time grid.

Parameters
  • fix_final (bool, optional) – True if the final angle is fixed, False otherwise. Default is True

  • throttle (bool, optional) – If True replace the spacecraft states on the last node with the ones from ImpulsiveBurn

Other Parameters
  • t_eval (ndarray) – Time vector in which states and controls are computed [s]

  • nb_nodes (int) – Number of equally space nodes in time in which states and controls are computed

class latom.guess.guess_heo_2d.TwoDimHEO2LLOGuess(gm, r, alt, rp, t, sc)[source]

Bases: latom.guess.guess_heo_2d.TwoDimHEOGuess

TwoDimHEO2LLOGuess provides an initial guess for an HEO to LLO transfer.

The approximate trajectory comprises an impulsive burn at the HEO apoapsis, an Hohmann transfer and a powered phase at constant radius equal to the LLO one.

Parameters
  • gm (float) – Central body standard gravitational parameter [m^3/s^2]

  • r (float) – Central body equatorial radius [m]

  • alt (float) – LLO altitude [m]

  • rp (float) – HEO periapsis radius [m]

  • t (float) – HEO period [s]

  • sc (Spacecraft) – Spacecraft object

Variables
compute_trajectory(**kwargs)[source]

Computes the states and controls timeseries on the provided time grid.

Other Parameters
  • t_eval (ndarray) – Time vector in which states and controls are computed [s]

  • nb_nodes (int) – Number of equally space nodes in time in which states and controls are computed

class latom.guess.guess_heo_2d.TwoDim3PhasesLLO2HEOGuess(gm, r, alt, rp, t, sc)[source]

Bases: latom.guess.guess_2d.TwoDimLLOGuess

TwoDim3PhasesLLO2HEOGuess provides an initial guess for a LLO to HEO transfer trajectory subdivided into two powered phases and an intermediate coasting phase.

The approximate transfer is constituted by an initial powered phase at constant radius equal to the LLO one, an intermediate Hohmann transfer and a second powered phase at constant radius equal to the HEO apoapsis one.

Parameters
  • gm (float) – Central body standard gravitational parameter [m^3/s^2]

  • r (float) – Central body equatorial radius [m]

  • alt (float) – LLO altitude [m]

  • rp (float) – HEO periapsis radius [m]

  • t (float) – HEO period [s]

  • sc (Spacecraft) – Spacecraft object

Variables
  • pow1 (PowConstRadius) – PowConstRadius object for the first powered phase

  • pow2 (PowConstRadius) – PowConstRadius object for the second powered phase

  • tf (float) – Final time [s]

compute_trajectory(fix_final=False, **kwargs)

Computes the states and controls time series for a given time vector or number of equally space nodes.

Parameters

fix_final (bool, optional) – True if the final angle is fixed, False otherwise. Default is False

Other Parameters
  • t_eval (ndarray) – Time vector in which states and controls are computed [s]

  • nb_nodes (int) – Number of equally space nodes in time in which states and controls are computed