boinor.twobody.elements¶
module handling orbital elements for sub-package twobody
Attributes¶
Functions¶
|
Circular velocity for a given body (k) and semimajor axis (a). |
|
Mean motion given body (k) and semimajor axis (a). |
|
Period given body (k) and semimajor axis (a). |
|
Specific energy. |
|
Eccentricity vector. |
|
Elapsed time since latest perifocal passage. |
|
check whether Sun-synchronous orbit can be calculated and try to do it |
|
Limit true anomaly for hyperbolic orbits. |
|
Cccentricity for frozen orbits when the argument of perigee is critical. |
|
Inclination for frozen orbits |
Eccentricity for frozen orbits when the inclination is critical. |
|
|
Converts from classical orbital to state vectors. |
|
Parallel version of coe2rv |
Module Contents¶
- boinor.twobody.elements.u_kms¶
- boinor.twobody.elements.u_km3s2¶
- boinor.twobody.elements.circular_velocity(k, a)¶
Circular velocity for a given body (k) and semimajor axis (a).
- boinor.twobody.elements.mean_motion(k, a)¶
Mean motion given body (k) and semimajor axis (a).
- boinor.twobody.elements.period(k, a)¶
Period given body (k) and semimajor axis (a).
- boinor.twobody.elements.energy(k, r, v)¶
Specific energy.
- boinor.twobody.elements.eccentricity_vector(k, r, v)¶
Eccentricity vector.
- boinor.twobody.elements.t_p(nu, ecc, k, r_p)¶
Elapsed time since latest perifocal passage.
- boinor.twobody.elements.heliosynchronous(k, R, J2, n_sunsync, a=None, ecc=None, inc=None)¶
check whether Sun-synchronous orbit can be calculated and try to do it
- boinor.twobody.elements.hyp_nu_limit(ecc, r_max_ratio=np.inf)¶
Limit true anomaly for hyperbolic orbits.
- boinor.twobody.elements.get_eccentricity_critical_argp(R, J2, J3, a, inc)¶
Cccentricity for frozen orbits when the argument of perigee is critical.
- boinor.twobody.elements.get_inclination_critical_argp(R, J2, J3, a, ecc)¶
Inclination for frozen orbits when the argument of perigee is critical and the eccentricity is given.
- boinor.twobody.elements.get_eccentricity_critical_inc(ecc=None)¶
Eccentricity for frozen orbits when the inclination is critical.
If ecc is None we set an arbitrary value which is the Moon eccentricity because it seems reasonable.
- Parameters:
ecc (Quantity, optional) – Eccentricity, default to None.
- boinor.twobody.elements.coe2rv(k, p, ecc, inc, raan, argp, nu)¶
Converts from classical orbital to state vectors.
Classical orbital elements are converted into position and velocity vectors by rv_pqw algorithm. A rotation matrix is applied to position and velocity vectors to get them expressed in terms of an IJK basis.
- Parameters:
k (float) – Standard gravitational parameter (km^3 / s^2).
p (float) – Semi-latus rectum or parameter (km).
ecc (float) – Eccentricity.
inc (float) – Inclination (rad).
raan (float) – Longitude of ascending node, omega (rad).
argp (float) – Argument of perigee (rad).
nu (float) – True anomaly (rad).
- Returns:
rr (numpy.ndarray) – Position vector in basis ijk.
vv (numpy.ndarray) – Velocity vector in basis ijk.
For more information about the math, see explanation in corresponding core function
- boinor.twobody.elements.coe2rv_many(k_arr, p_arr, ecc_arr, inc_arr, raan_arr, argp_arr, nu_arr)¶
Parallel version of coe2rv