poliastro2.core.actions.thrust

Description

This subpackage contains routines related to thrust-based orbital maneuvers.

Modules

  • change_argp: Routines for changing the argument of perigee.

  • change_a_inc: Maneuvers to adjust semi-major axis and inclination.

  • change_ecc_inc: Combined adjustments for eccentricity and inclination.

  • change_ecc_quasioptimal: Quasi-optimal thrust maneuvers for eccentricity modifications.

poliastro2.core.actions.thrust.change_a_inc(k, a_0, a_f, inc_0, inc_f, f)

Change semimajor axis and inclination. Guidance law from the Edelbaum/Kéchichian theory, optimal transfer between circular inclined orbits (a_0, i_0) –> (a_f, i_f), ecc = 0.

Parameters:
  • k (Quantity) – Gravitational parameter.

  • a_0 (Quantity) – Initial semimajor axis (km).

  • a_f (Quantity) – Final semimajor axis (km).

  • inc_0 (Quantity) – Initial inclination (rad).

  • inc_f (Quantity) – Final inclination (rad).

  • f (Quantity) – Magnitude of constant acceleration (km / s**2).

Returns:

a_d, delta_V, t_f

Return type:

tuple (function, Quantity, Time)

Notes

Edelbaum theory, reformulated by Kéchichian.

References

  • Edelbaum, T. N. “Propulsion Requirements for Controllable Satellites”, 1961.

  • Kéchichian, J. A. “Reformulation of Edelbaum’s Low-Thrust Transfer Problem Using Optimal Control Theory”, 1997.

poliastro2.core.actions.thrust.change_argp(k, a, ecc, argp_0, argp_f, f)

Guidance law from the model. Thrust is aligned with an inertially fixed direction perpendicular to the semimajor axis of the orbit.

Parameters:
  • k (Quantity) – Gravitational parameter (km**3 / s**2)

  • a (Quantity) – Semi-major axis (km)

  • ecc (float) – Eccentricity

  • argp_0 (Quantity) – Initial argument of periapsis (rad)

  • argp_f (Quantity) – Final argument of periapsis (rad)

  • f (Quantity) – Magnitude of constant acceleration (km / s**2)

Returns:

a_d, delta_V, t_f

Return type:

tuple (function, Quantity, Time)

poliastro2.core.actions.thrust.change_ecc_inc(orb_0, ecc_f, inc_f, f)

Simultaneous eccentricity and inclination changes. Guidance law from the model. Thrust is aligned with an inertially fixed direction perpendicular to the semimajor axis of the orbit.

Parameters:
  • orb_0 (Orbit) – Initial orbit, containing all the information.

  • ecc_f (float) – Final eccentricity.

  • inc_f (Quantity) – Final inclination.

  • f (Quantity) – Magnitude of constant acceleration.

Returns:

a_d, delta_V, t_f

Return type:

tuple (function, Quantity, Time)

References

  • Pollard, J. E. “Simplified Analysis of Low-Thrust Orbital Maneuvers”, 2000.

poliastro2.core.actions.thrust.change_ecc_quasioptimal(orb_0, ecc_f, f)

Guidance law from the model. Thrust is aligned with an inertially fixed direction perpendicular to the semimajor axis of the orbit.

Parameters:
  • orb_0 (Orbit) – Initial orbit, containing all the information.

  • ecc_f (float) – Final eccentricity.

  • f (float) – Magnitude of constant acceleration

Modules

change_a_inc(k, a_0, a_f, inc_0, inc_f, f)

Change semimajor axis and inclination.

change_argp(k, a, ecc, argp_0, argp_f, f)

Guidance law from the model.

change_ecc_inc(orb_0, ecc_f, inc_f, f)

Simultaneous eccentricity and inclination changes.

change_ecc_quasioptimal(orb_0, ecc_f, f)

Guidance law from the model.