pymgp.satorb.orbtype#

pymgp.satorb.orbtype(ecc, incl, tol=1e-08)[source]#

Determine circular and equatorial orbit types (for handling of special cases).

Parameters:
ecc, inclarray_like

Eccentricity (unity) and inclination (radians)

tolfloat, default 1e-8

Tolerance for zero eccentricity and zero inclination

Returns:
corbtypendarray of {‘ei’, ‘ci’, ‘ee’, ‘ce’}

Array with two character codes for the orbit type:

‘ei’ -> elliptical inclined (all Kepler elements defined)
‘ci’ -> circular inclined (w =0, nu=arglat)
‘ee’ -> elliptical equatorial (w=lonper, omega=0)
‘ce’ -> circular equatorial (w=0, omega=0, nu=truelon)

See also

vec2orb, orb2vec

Notes

Nearly circular and/or equatiorial orbits are often in need of special handling because of singularities between pairs of orbital elements.

Examples

>>> #             a          ecc      inc      raan      argp     nu 
>>> orb = [ [7121382.201, 0.0043176, 0.43579, 1.60777, 1.39025, 0.59879],
...         [7190931.091, 0.1e-9,    1.72419, 4.62567, 0.73905, 5.54642],
...         [7122973.745, 0.0017477, 0.1e-9,  5.34368, 1.56062, 1.25323] ]
>>> orb = np.asarray(orb)
>>> orbtype(orb[...,1],orb[...,2])
array([b'ei', b'ci', b'ee'], dtype='|S2')