orbital.elements¶
- class orbital.elements.KeplerianElements(a=None, e=0, i=0, raan=0, arg_pe=0, M0=0, body=None, ref_epoch=<Time object: scale='utc' format='jyear_str' value=J2000.000>)¶
Defines an orbit using keplerian elements.
- Parameters:
a – Semimajor axis [m]
e – Eccentricity [-]
i – Inclination [rad]
raan – Right ascension of ascending node (\(\Omega\)) [rad]
arg_pe – Argument of periapsis (\(\omega\)) [rad]
M0 – Mean anomaly at ref_epoch (\(M_{0}\)) [rad]
body (
orbital.bodies.Body) – Reference body, e.g. earthref_epoch (
astropy.time.Time) – Reference epoch
- classmethod with_altitude(altitude, body, e=0, i=0, raan=0, arg_pe=0, M0=0, ref_epoch=<Time object: scale='utc' format='jyear_str' value=J2000.000>)¶
Initialise with orbit for a given altitude.
For eccentric orbits, this is the altitude at the reference anomaly, M0
- classmethod with_period(period, body, e=0, i=0, raan=0, arg_pe=0, M0=0, ref_epoch=<Time object: scale='utc' format='jyear_str' value=J2000.000>)¶
Initialise orbit with a given period.
- classmethod with_apside_altitudes(alt1, alt2, i=0, raan=0, arg_pe=0, M0=0, body=None, ref_epoch=<Time object: scale='utc' format='jyear_str' value=J2000.000>)¶
Initialise orbit with given apside altitudes.
- classmethod with_apside_radii(radius1, radius2, i=0, raan=0, arg_pe=0, M0=0, body=None, ref_epoch=<Time object: scale='utc' format='jyear_str' value=J2000.000>)¶
Initialise orbit with given apside radii.
- classmethod from_state_vector(r, v, body, ref_epoch=<Time object: scale='utc' format='jyear_str' value=J2000.000>)¶
Create orbit from given state vector.
- classmethod from_tle(line1, line2, body)¶
Create object by parsing TLE using SGP4.
- property epoch¶
Current epoch calculated from time since ref_epoch.
- property t¶
Time since ref_epoch.
- property M¶
Mean anomaly [rad].
- property E¶
Eccentric anomaly [rad].
- property f¶
True anomaly [rad].
- property r¶
Position vector (
orbital.utilities.Position) [m].
- property v¶
Velocity vector (
orbital.utilities.Velocity) [m/s].
- property n¶
Mean motion [rad/s].
- property T¶
Period [s].
- propagate_anomaly_to(**kwargs)¶
Propagate to time in future where anomaly is equal to value passed in.
- Parameters:
M – Mean anomaly [rad]
E – Eccentricity anomaly [rad]
f – True anomaly [rad]
This will propagate to a maximum of 1 orbit ahead.
Note
Only one parameter should be passed in.
- propagate_anomaly_by(**kwargs)¶
Propagate to time in future by an amount equal to the anomaly passed in.
- Parameters:
M – Mean anomaly [rad]
E – Eccentricity anomaly [rad]
f – True anomaly [rad]
Note
Only one parameter should be passed in.
- apply_maneuver(maneuver, iter=False, copy=False)¶
Apply maneuver to orbit.
- Parameters:
If
iter=True, the returned iterator is of each intermediate orbit and the next operation, as shown in this table:Orbit
Operation
Original orbit
First operation
Orbit after first operation applied
Second operation
The final orbit is not returned, as it is accessible after the method has completed.
If each orbit returned must not be altered, use
copy=True
- property apocenter_radius¶
Return apocenter radius
- property pericenter_radius¶
Return pericenter radius
- property apocenter_altitude¶
Return apocenter altitude
- property pericenter_altitude¶
Return pericenter altitude
- property U¶
Radial direction unit vector.
- property V¶
Transversal in-flight direction unit vector.
- property W¶
Out-of-plane direction unit vector.
- property UVW¶
Calculate U, V, and W vectors simultaneously.
In situations where all are required, this function may be faster but it exists for convenience.