dyad.Orbit

class dyad.Orbit(m, a, e, Omega=0.0, i=0.0, omega=0.0)[source]

A class representing an elliptical orbit

Represents the bound orbit of a body in a gravitational central potential.

Parameters:
m: array-like

The mass of the body generating the central potential

a: array-like

Semimajor axis.

e: array-like

Eccentricity.

Omega: array-like

Longitude of ascending node.

i: array-like

Inclination.

omega: array-like

Argument of pericentre.

Attributes:
angular_momentum

Get the body’s specific angular momentum

angular_momentum_magnitude

Get the magnitude of the body’s specific angular momentum

apoapsis

Get the apoapsis of the orbit

area

Get the area contained by the orbit

argument_of_pericentre

Get the orbit’s argument of pericentre

central_mass

Get the central mass

eccentricity

Get the orbit’s eccentricity

eccentricity_vector

Get the eccentricity vector of the orbit

energy

Get the body’s specific total energy

inclination

Get the inclination of the orbit

longitude_of_ascending_node

Get the longitude of the ascending node of the orbit

lrl_vector

Get the Laplace-Runge-Lenz vector of the orbit

periapsis

Get the periapsis of the orbit

period

Get the orbital period

semilatus_rectum

Get the orbit’s semilatus rectum

semimajor_axis

Get the orbit’s semimajor axis

semiminor_axis

Get the orbit’s semiminor axis

Methods

delaunay_elements([theta])

Get the Delaunay elements of the orbit

eccentric_anomaly(theta)

Return the body's eccentric anomaly

kinetic_energy(theta)

Return the body's specific kinetic energy

mean_anomaly(theta)

Return the body's mean anomaly

modified_delaunay_elements([theta])

Get the modified Delaunay elements of the orbit

orbital_elements([theta])

Get the orbital elements of the orbit

potential(theta)

Return the gravitational potential at the body's position

radius(theta)

Return the body's radius

speed(theta)

Return the body's speed

state(theta)

Return the orbital state vector in Cartesian coordinates

Examples

Scalar parameters defining a single orbit in the perifocal plane.

>>> dyad.Orbit(1., 1., 0.)
<dyad._core.Orbit object at 0x...>

Scalar parameters defining a single orbit in the observer’s frame.

>>> dyad.Orbit(1., 1., 0., 1., 1., 1.)
<dyad._core.Orbit object at 0x...>

Array-like parameters defining multiple orbits.

>>> m, a, e = [1., 1.], [1., 1.], [0., 0.]
>>> dyad.Orbit(m, a, e)
<dyad._core.Orbit object at 0x...>
__init__(m, a, e, Omega=0.0, i=0.0, omega=0.0)[source]

Methods

__init__(m, a, e[, Omega, i, omega])

delaunay_elements([theta])

Get the Delaunay elements of the orbit

eccentric_anomaly(theta)

Return the body's eccentric anomaly

kinetic_energy(theta)

Return the body's specific kinetic energy

mean_anomaly(theta)

Return the body's mean anomaly

modified_delaunay_elements([theta])

Get the modified Delaunay elements of the orbit

orbital_elements([theta])

Get the orbital elements of the orbit

potential(theta)

Return the gravitational potential at the body's position

radius(theta)

Return the body's radius

speed(theta)

Return the body's speed

state(theta)

Return the orbital state vector in Cartesian coordinates

Attributes

angular_momentum

Get the body's specific angular momentum

angular_momentum_magnitude

Get the magnitude of the body's specific angular momentum

apoapsis

Get the apoapsis of the orbit

area

Get the area contained by the orbit

argument_of_pericentre

Get the orbit's argument of pericentre

central_mass

Get the central mass

eccentricity

Get the orbit's eccentricity

eccentricity_vector

Get the eccentricity vector of the orbit

energy

Get the body's specific total energy

inclination

Get the inclination of the orbit

longitude_of_ascending_node

Get the longitude of the ascending node of the orbit

lrl_vector

Get the Laplace-Runge-Lenz vector of the orbit

periapsis

Get the periapsis of the orbit

period

Get the orbital period

semilatus_rectum

Get the orbit's semilatus rectum

semimajor_axis

Get the orbit's semimajor axis

semiminor_axis

Get the orbit's semiminor axis