orbital.maneuver¶
- class orbital.maneuver.Maneuver(operations)¶
A Maneuver is a collection of operations, and class methods are provided to easily create maneuvers which ensure orbits are propagated to the correct position between impulse operations.
- classmethod change_apocenter_by(delta)¶
Maneuver for changing apocenter.
- classmethod change_inclination_by(delta)¶
Maneuver for changing inclination.
- classmethod change_pericenter_by(delta)¶
Maneuver for changing pericenter.
- classmethod hohmann_transfer_to_altitude(altitude)¶
Maneuver for a hohmann transfer to given altitude.
Initial orbit must be circular. Will raise apocenter from position at time of application.
- classmethod hohmann_transfer_to_radius(radius)¶
Maneuver for a hohmann transfer to given radius.
Initial orbit must be circular. Will raise apocenter from position at time of application.
- classmethod set_apocenter_altitude_to(apocenter_altitude)¶
Maneuver for setting apocenter altitude.
- classmethod set_apocenter_radius_to(apocenter_radius)¶
Maneuver for setting apocenter radius.
- classmethod set_inclination_to(inclination)¶
Maneuver for setting inclination.
- classmethod set_pericenter_altitude_to(pericenter_altitude)¶
Maneuver for setting pericenter altitude.
- classmethod set_pericenter_radius_to(pericenter_radius)¶
Maneuver for setting pericenter radius.
Operations¶
Note
The operations below are used to construct the user-friendly maneuvers, as created using the Maneuver class methods.
To construct maneuvers manually using operations, one must be careful. A SetApocenterRadiusTo operation can only be applied if the orbital position is at perigee, therefore it should be preceded by a PropagateAnomalyTo operation, with argument f=0.
- class orbital.maneuver.ChangeApocenterBy(delta)¶
Operation for changing apocenter radius. At time of application, orbit position must be at pericenter.
- class orbital.maneuver.ChangeInclinationBy(delta)¶
Operation for changing inclination. At time of application, orbit position must be at the ascending or descending node.
- class orbital.maneuver.ChangePericenterBy(delta)¶
Operation for changing pericenter. At time of application, orbit position must be at apocenter.
- class orbital.maneuver.Circularise(raise_pericenter=True)¶
Operation for circularising an orbit.
- class orbital.maneuver.PropagateAnomalyBy(**kwargs)¶
Operation for propagating anomaly by a given amount.
One (and only one) of these parameters must be passed in:
Parameters:
- class orbital.maneuver.PropagateAnomalyTo(**kwargs)¶
Operation for propagating to time in future where anomaly is equal to value passed in.
One (and only one) of these parameters must be passed in:
Parameters:
- class orbital.maneuver.SetApocenterAltitudeTo(apocenter_altitude)¶
Operation for setting apocenter altitude. At time of application, orbit position must be at pericenter.
- class orbital.maneuver.SetApocenterRadiusTo(apocenter_radius)¶
Operation for setting apocenter radius. At time of application, orbit position must be at pericenter.
- class orbital.maneuver.SetInclinationTo(inclination)¶
Operation for setting inclination. At time of application, orbit position must be at the ascending or descending node.
- class orbital.maneuver.SetPericenterAltitudeTo(pericenter_altitude)¶
Operation for setting pericenter altitude. At time of application, orbit position must be at apocenter.
- class orbital.maneuver.SetPericenterHere¶
Operation for setting pericenter to current location (in preparation for a maneuver to an elliptical orbit. Initial orbit must be circular.
- class orbital.maneuver.SetPericenterRadiusTo(pericenter_radius)¶
Operation for setting pericenter radius. At time of application, orbit position must be at apocenter.