ostk.astrodynamics.trajectory.orbit.model.BrouwerLyddaneMean

class BrouwerLyddaneMean(
self: ostk.astrodynamics.trajectory.orbit.model.BrouwerLyddaneMean,
semi_major_axis: ostk.physics.unit.Length,
eccentricity: ostk.core.type.Real,
inclination: ostk.physics.unit.Angle,
raan: ostk.physics.unit.Angle,
aop: ostk.physics.unit.Angle,
mean_anomaly: ostk.physics.unit.Angle,
)

Bases: COE

Brouwer-Lyddane mean orbit elements. This is a parent class, please use the Short or Long child classes as appropriate.

Constructor.

Parameters:
  • semi_major_axis (Length) -- The semi-major axis.

  • eccentricity (float) -- The eccentricity.

  • inclination (Angle) -- The inclination.

  • raan (Angle) -- The right ascension of the ascending node.

  • aop (Angle) -- The argument of periapsis.

  • mean_anomaly (Angle) -- The mean anomaly.

Methods

cartesian

Create a COE model from Cartesian state.

compute_angular_momentum

Overloaded function.

compute_ltan

Compute the Local Time of the Ascending Node (LTAN) from the RAAN and instant.

compute_mean_ltan

Compute the Mean Local Time of the Ascending Node (MLTAN) from the RAAN and instant.

compute_radial_distance

Compute the radial distance from the semi-latus rectum and the eccentricity.

compute_semi_latus_rectum

Compute the semi-latus rectum from the semi-major axis and the eccentricity.

eccentric_anomaly_from_mean_anomaly

Compute the eccentric anomaly from the mean anomaly.

eccentric_anomaly_from_true_anomaly

Compute the eccentric anomaly from the true anomaly.

from_SI_vector

Create a COE model from a state vector in SI units.

frozen_orbit

Overloaded function.

get_SI_vector

Get the state vector of the COE in the specified anomaly type.

get_angular_momentum

Get the angular momentum of the COE.

get_aop

Get the argument of periapsis of the COE.

get_apoapsis_radius

Get the apoapsis radius of the COE.

get_argument_of_latitude

Get the argument of latitude of the COE.

get_cartesian_state

Get the Cartesian state of the BrouwerLyddaneMean model.

get_eccentric_anomaly

Get the eccentric anomaly of the BrouwerLyddaneMean model.

get_eccentricity

Get the eccentricity of the COE.

get_inclination

Get the inclination of the COE.

get_mean_anomaly

Get the mean anomaly of the BrouwerLyddaneMean model.

get_mean_motion

Get the mean motion of the COE.

get_nodal_precession_rate

Get the nodal precession of the COE.

get_orbital_period

Get the orbital period of the COE.

get_periapsis_radius

Get the periapsis radius of the COE.

get_raan

Get the right ascension of the ascending node of the COE.

get_radial_distance

Get the radial distance of the COE.

get_semi_latus_rectum

Get the semi-latus rectum of the COE.

get_semi_major_axis

Get the semi-major axis of the COE.

get_true_anomaly

Get the true anomaly of the BrouwerLyddaneMean model.

is_defined

Check if the COE is defined.

mean_anomaly_from_eccentric_anomaly

Compute the mean anomaly from the eccentric anomaly.

string_from_element

Get the string representation of an element.

to_coe

Convert the BrouwerLyddaneMean model to classical orbital elements.

true_anomaly_from_eccentric_anomaly

Compute the true anomaly from the eccentric anomaly.

true_anomaly_from_mean_anomaly

Compute the true anomaly from the mean anomaly.

undefined

Create an undefined COE model.

class AnomalyType(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE.AnomalyType,
value: int,
)

Bases: pybind11_object

The type of Anomaly.

Members:

TrueAnomaly : True Anomaly

MeanAnomaly : Mean Anomaly

EccentricAnomaly : Eccentric Anomaly

property name
class Element(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE.Element,
value: int,
)

Bases: pybind11_object

Classical Orbital Element enumeration.

Members:

SemiMajorAxis : Semi-Major Axis

Eccentricity : Eccentricity

Inclination : Inclination

Aop : Argument of Perigee

Raan : Right Angle of the Ascending Node

TrueAnomaly : True Anomaly

MeanAnomaly : Mean Anomaly

EccentricAnomaly : Eccentric Anomaly

ArgumentOfLatitude : Argument of Latitude

property name
static cartesian(
cartesian_state: tuple[ostk.physics.coordinate.Position, ostk.physics.coordinate.Velocity],
gravitational_parameter: ostk.physics.unit.Derived,
) ostk.astrodynamics.trajectory.orbit.model.kepler.COE

Create a COE model from Cartesian state.

Parameters:
  • cartesian_state (CartesianState) -- The Cartesian state.

  • gravitational_parameter (float) -- The gravitational parameter of the central body.

Returns:

The COE model.

Return type:

COE

static compute_angular_momentum(*args, **kwargs)

Overloaded function.

  1. compute_angular_momentum(semi_major_axis: ostk.core.type.Real, eccentricity: ostk.core.type.Real, gravitational_parameter: ostk.physics.unit.Derived) -> ostk.core.type.Real

    Compute the angular momentum from the semi-major axis and the eccentricity.

    Args:

    semi_major_axis (float): The semi-major axis. In meters. eccentricity (float): The eccentricity. gravitational_parameter (Derived): The gravitational parameter of the central body.

    Returns:

    Derived: The angular momentum.

  2. compute_angular_momentum(semi_latus_rectum: ostk.core.type.Real, gravitational_parameter: ostk.physics.unit.Derived) -> ostk.core.type.Real

    Compute the angular momentum from the semi-latus rectum.

    Args:

    semi_latus_rectum (float): The semi-latus rectum. In meters. gravitational_parameter (Derived): The gravitational parameter of the central body.

    Returns:

    Derived: The angular momentum.

static compute_ltan(
raan: ostk.physics.unit.Angle,
instant: ostk.physics.time.Instant,
sun: ostk.physics.environment.object.celestial.Sun = Sun.default(),
) ostk.physics.time.Time

Compute the Local Time of the Ascending Node (LTAN) from the RAAN and instant.

Parameters:
  • raan (Angle) -- The Right Ascension of the Ascending Node.

  • instant (Instant) -- The instant at which to compute LTAN.

  • sun (Sun) -- The Sun model.

Returns:

The Local Time of the Ascending Node (LTAN) in hours.

Return type:

float

static compute_mean_ltan(
raan: ostk.physics.unit.Angle,
instant: ostk.physics.time.Instant,
sun: ostk.physics.environment.object.celestial.Sun = Sun.default(),
) ostk.physics.time.Time

Compute the Mean Local Time of the Ascending Node (MLTAN) from the RAAN and instant.

Parameters:
  • raan (Angle) -- The Right Ascension of the Ascending Node.

  • instant (Instant) -- The instant at which to compute MLTAN.

  • sun (Sun) -- The Sun model.

Returns:

The Mean Local Time of the Ascending Node (MLTAN) in hours.

Return type:

float

static compute_radial_distance(
semi_latus_rectum: ostk.core.type.Real,
eccentricity: ostk.core.type.Real,
true_anomaly: ostk.core.type.Real,
) ostk.core.type.Real

Compute the radial distance from the semi-latus rectum and the eccentricity.

Parameters:
  • semi_latus_rectum (float) -- The semi-latus rectum. In meters.

  • eccentricity (float) -- The eccentricity.

  • true_anomaly (float) -- The true anomly. In degrees.

Returns:

The radial distance.

Return type:

Length

static compute_semi_latus_rectum(
semi_major_axis: ostk.core.type.Real,
eccentricity: ostk.core.type.Real,
) ostk.core.type.Real

Compute the semi-latus rectum from the semi-major axis and the eccentricity.

Parameters:
  • semi_major_axis (float) -- The semi-major axis. In meters.

  • eccentricity (float) -- The eccentricity.

Returns:

The semi-latus rectum.

Return type:

Length

static eccentric_anomaly_from_mean_anomaly(
mean_anomaly: ostk.physics.unit.Angle,
eccentricity: ostk.core.type.Real,
tolerance: ostk.core.type.Real,
) ostk.physics.unit.Angle

Compute the eccentric anomaly from the mean anomaly.

Parameters:
  • mean_anomaly (Angle) -- The mean anomaly.

  • eccentricity (float) -- The eccentricity.

  • tolerance (float) -- The tolerance of the root solver.

Returns:

The eccentric anomaly.

Return type:

Angle

static eccentric_anomaly_from_true_anomaly(
true_anomaly: ostk.physics.unit.Angle,
eccentricity: ostk.core.type.Real,
) ostk.physics.unit.Angle

Compute the eccentric anomaly from the true anomaly.

Parameters:
  • true_anomaly (Angle) -- The true anomaly.

  • eccentricity (float) -- The eccentricity.

Returns:

The eccentric anomaly.

Return type:

Angle

static from_SI_vector(
vector: numpy.ndarray[numpy.float64[6, 1]],
anomaly_type: ostk.astrodynamics.trajectory.orbit.model.kepler.COE.AnomalyType,
) ostk.astrodynamics.trajectory.orbit.model.kepler.COE

Create a COE model from a state vector in SI units.

Parameters:
  • vector (Vector6d) -- The state vector.

  • anomaly_type (AnomalyType) -- The type of anomaly.

Returns:

The COE model.

Return type:

COE

static frozen_orbit(*args, **kwargs)

Overloaded function.

  1. frozen_orbit(semi_major_axis: ostk.physics.unit.Length, celestial_object: ostk.physics.environment.object.Celestial, eccentricity: ostk.core.type.Real = Real.undefined(), inclination: ostk.physics.unit.Angle = Angle.undefined(), raan: ostk.physics.unit.Angle = Angle.degrees(0.0), aop: ostk.physics.unit.Angle = Angle.undefined(), true_anomaly: ostk.physics.unit.Angle = Angle.degrees(0.0)) -> ostk.astrodynamics.trajectory.orbit.model.kepler.COE

    Build a COE model of a frozen orbit.

    The critical angles for inclination are 63.4349 degrees and 116.5651 degrees. The critical angles for AoP are 90.0 degrees and 270.0 degrees.

    At a minimum, a semi-major axis and shared pointer to a central celestial body with a defined J2 and J3 must be provided. In this case, the inclination and AoP are set to critical angles, and the eccentricity is derived from inclination. RAAN and true anomaly default to zero degrees.

    Additionally, the following combinations of inputs are supported: - AoP (inclination set to critical value, eccentricity derived) - AoP and eccentricity (inclination derived) - AoP and inclination, but at least one of them must be a critical value (eccentricity derived) - Inclination (AoP set to critical value, eccentricity derived) - Eccentricity (AoP set to critical value, inclination derived)

    Note that inclination and eccentricity cannot both be provided.

    RAAN and True Anomaly may be provided alongside any of these arguments, and will be passed through to the resulting COE as they do not impact the frozen orbit condition.

    Args:

    semi_major_axis (Length): The semi-major axis. celestial_object (Celestial): The celestial object. eccentricity (float): The eccentricity. inclination (Angle): The inclination. raan (Angle): The right ascension of the ascending node. aop (Angle): The argument of periapsis. true_anomaly (Angle): The true anomaly.

    Returns:

    COE: The COE model.

  2. frozen_orbit(semi_major_axis: ostk.physics.unit.Length, equatorial_radius: ostk.physics.unit.Length, j2: ostk.core.type.Real, j3: ostk.core.type.Real, eccentricity: ostk.core.type.Real = Real.undefined(), inclination: ostk.physics.unit.Angle = Angle.undefined(), raan: ostk.physics.unit.Angle = Angle.degrees(0.0), aop: ostk.physics.unit.Angle = Angle.undefined(), true_anomaly: ostk.physics.unit.Angle = Angle.degrees(0.0)) -> ostk.astrodynamics.trajectory.orbit.model.kepler.COE

    Build a COE model of a frozen orbit.

    The critical angles for inclination are 63.4349 degrees and 116.5651 degrees. The critical angles for AoP are 90.0 degrees and 270.0 degrees.

    At a minimum, a semi-major axis, equatorial radius, J2, and J3 must be provided. In this case, the inclination and AoP are set to critical angles, and the eccentricity is derived from inclination. RAAN and true anomaly default to zero degrees.

    Additionally, the following combinations of inputs are supported: - AoP (inclination set to critical value, eccentricity derived) - AoP and eccentricity (inclination derived) - AoP and inclination, but at least one of them must be a critical value (eccentricity derived) - Inclination (AoP set to critical value, eccentricity derived) - Eccentricity (AoP set to critical value, inclination derived)

    Note that inclination and eccentricity cannot both be provided.

    RAAN and True Anomaly may be provided alongside any of these arguments, and will be passed through to the resulting COE as they do not impact the frozen orbit condition.

    Args:

    semi_major_axis (Length): The semi-major axis. equatorial_radius (Length): The equatorial radius. j2 (float): The second zonal harmonic coefficient. j3 (float): The third zonal harmonic coefficient. eccentricity (float): The eccentricity. inclination (Angle): The inclination. raan (Angle): The right ascension of the ascending node. aop (Angle): The argument of periapsis. true_anomaly (Angle): The true anomaly.

    Returns:

    COE: The COE model.

get_SI_vector(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
anomaly_type: ostk.astrodynamics.trajectory.orbit.model.kepler.COE.AnomalyType,
) numpy.ndarray[numpy.float64[6, 1]]

Get the state vector of the COE in the specified anomaly type.

Parameters:

anomaly_type (AnomalyType) -- The type of anomaly.

Returns:

The state vector of the COE in the specified anomaly type.

Return type:

numpy.ndarray

get_angular_momentum(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
arg0: ostk.physics.unit.Derived,
) ostk.physics.unit.Derived

Get the angular momentum of the COE.

Parameters:

gravitational_parameter (Derived) -- The gravitational parameter of the central body.

Returns:

The angular momentum of the COE.

Return type:

Derived

get_aop(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
) ostk.physics.unit.Angle

Get the argument of periapsis of the COE.

Returns:

The argument of periapsis of the COE.

Return type:

Angle

get_apoapsis_radius(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
) ostk.physics.unit.Length

Get the apoapsis radius of the COE.

Returns:

The apoapsis radius of the COE.

Return type:

Length

get_argument_of_latitude(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
) ostk.physics.unit.Angle

Get the argument of latitude of the COE.

Returns:

The argument of latitude (sum of argument of periapsis and true anomaly).

Return type:

Angle

get_cartesian_state(
self: ostk.astrodynamics.trajectory.orbit.model.BrouwerLyddaneMean,
gravitational_parameter: ostk.physics.unit.Derived,
frame: ostk.physics.coordinate.Frame,
) tuple[ostk.physics.coordinate.Position, ostk.physics.coordinate.Velocity]

Get the Cartesian state of the BrouwerLyddaneMean model.

Parameters:
  • gravitational_parameter (float) -- The gravitational parameter of the central body.

  • frame (str) -- The reference frame in which the state is expressed.

Returns:

The Cartesian state.

Return type:

CartesianState

get_eccentric_anomaly(
self: ostk.astrodynamics.trajectory.orbit.model.BrouwerLyddaneMean,
) ostk.physics.unit.Angle

Get the eccentric anomaly of the BrouwerLyddaneMean model.

Returns:

The eccentric anomaly.

Return type:

Angle

get_eccentricity(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
) ostk.core.type.Real

Get the eccentricity of the COE.

Returns:

The eccentricity of the COE.

Return type:

float

get_inclination(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
) ostk.physics.unit.Angle

Get the inclination of the COE.

Returns:

The inclination of the COE.

Return type:

Angle

get_mean_anomaly(
self: ostk.astrodynamics.trajectory.orbit.model.BrouwerLyddaneMean,
) ostk.physics.unit.Angle

Get the mean anomaly of the BrouwerLyddaneMean model.

Returns:

The mean anomaly.

Return type:

Angle

get_mean_motion(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
gravitational_parameter: ostk.physics.unit.Derived,
) ostk.physics.unit.Derived

Get the mean motion of the COE.

Parameters:

gravitational_parameter (Derived) -- The gravitational parameter of the central body.

Returns:

The mean motion of the COE.

Return type:

Derived

get_nodal_precession_rate(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
gravitational_parameter: ostk.physics.unit.Derived,
equatorial_radius: ostk.physics.unit.Length,
j2: ostk.core.type.Real,
) ostk.physics.unit.Derived

Get the nodal precession of the COE.

Parameters:
  • gravitational_parameter (Derived) -- The gravitational parameter of the central body.

  • equatorial_radius (Length) -- The equatorial radius of the central body.

  • j2 (float) -- The second zonal harmonic coefficient of the central body.

Returns:

The nodal precession of the COE.

Return type:

Derived

get_orbital_period(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
gravitational_parameter: ostk.physics.unit.Derived,
) ostk.physics.time.Duration

Get the orbital period of the COE.

Parameters:

gravitational_parameter (double) -- The gravitational parameter of the central body.

Returns:

The orbital period of the COE.

Return type:

Duration

get_periapsis_radius(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
) ostk.physics.unit.Length

Get the periapsis radius of the COE.

Returns:

The periapsis radius of the COE.

Return type:

Length

get_raan(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
) ostk.physics.unit.Angle

Get the right ascension of the ascending node of the COE.

Returns:

The right ascension of the ascending node of the COE.

Return type:

Angle

get_radial_distance(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
) ostk.physics.unit.Length

Get the radial distance of the COE.

Returns:

The radial distance of the COE.

Return type:

Length

get_semi_latus_rectum(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
) ostk.physics.unit.Length

Get the semi-latus rectum of the COE.

Returns:

The semilatus rectum of the COE.

Return type:

Length

get_semi_major_axis(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
) ostk.physics.unit.Length

Get the semi-major axis of the COE.

Returns:

The semi-major axis of the COE.

Return type:

Length

get_true_anomaly(
self: ostk.astrodynamics.trajectory.orbit.model.BrouwerLyddaneMean,
) ostk.physics.unit.Angle

Get the true anomaly of the BrouwerLyddaneMean model.

Returns:

The true anomaly.

Return type:

Angle

is_defined(
self: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
) bool

Check if the COE is defined.

Returns:

True if the COE is defined, False otherwise.

Return type:

bool

static mean_anomaly_from_eccentric_anomaly(
eccentric_anomaly: ostk.physics.unit.Angle,
eccentricity: ostk.core.type.Real,
) ostk.physics.unit.Angle

Compute the mean anomaly from the eccentric anomaly.

Parameters:
  • eccentric_anomaly (Angle) -- The eccentric anomaly.

  • eccentricity (float) -- The eccentricity.

Returns:

The mean anomaly.

Return type:

Angle

static string_from_element(
element: ostk.astrodynamics.trajectory.orbit.model.kepler.COE.Element,
) ostk.core.type.String

Get the string representation of an element.

Parameters:

element (Element) -- The element.

Returns:

The string representation.

Return type:

str

to_coe(
self: ostk.astrodynamics.trajectory.orbit.model.BrouwerLyddaneMean,
) ostk.astrodynamics.trajectory.orbit.model.kepler.COE

Convert the BrouwerLyddaneMean model to classical orbital elements.

Returns:

The classical orbital elements.

Return type:

COE

static true_anomaly_from_eccentric_anomaly(
eccentric_anomaly: ostk.physics.unit.Angle,
eccentricity: ostk.core.type.Real,
) ostk.physics.unit.Angle

Compute the true anomaly from the eccentric anomaly.

Parameters:
  • eccentric_anomaly (Angle) -- The eccentric anomaly.

  • eccentricity (float) -- The eccentricity.

Returns:

The true anomaly.

Return type:

Angle

static true_anomaly_from_mean_anomaly(
mean_anomaly: ostk.physics.unit.Angle,
eccentricity: ostk.core.type.Real,
tolerance: ostk.core.type.Real,
) ostk.physics.unit.Angle

Compute the true anomaly from the mean anomaly.

Parameters:
  • mean_anomaly (Angle) -- The mean anomaly.

  • eccentricity (float) -- The eccentricity.

  • tolerance (float) -- The tolerance of the root solver.

Returns:

The true anomaly.

Return type:

Angle

static undefined() ostk.astrodynamics.trajectory.orbit.model.kepler.COE

Create an undefined COE model.

Returns:

The undefined COE model.

Return type:

COE