pub struct OrbitDual {
    pub x: OHyperdual<f64, U7>,
    pub y: OHyperdual<f64, U7>,
    pub z: OHyperdual<f64, U7>,
    pub vx: OHyperdual<f64, U7>,
    pub vy: OHyperdual<f64, U7>,
    pub vz: OHyperdual<f64, U7>,
    pub dt: Epoch,
    pub frame: Frame,
}
Expand description

Orbit defines an orbital state

Unless noted otherwise, algorithms are from GMAT 2016a StateConversionUtil.cpp. Regardless of the constructor used, this struct stores all the state information in Cartesian coordinates as these are always non singular. Note: although not yet supported, this struct may change once True of Date or other nutation frames are added to the toolkit.

Fields

x: OHyperdual<f64, U7>

in km

y: OHyperdual<f64, U7>

in km

z: OHyperdual<f64, U7>

in km

vx: OHyperdual<f64, U7>

in km/s

vy: OHyperdual<f64, U7>

in km/s

vz: OHyperdual<f64, U7>

in km/s

dt: Epochframe: Frame

Frame contains everything we need to compute state information

Implementations

Returns the magnitude of the radius vector in km

Returns the magnitude of the velocity vector in km/s

Returns the orbital momentum value on the X axis

Returns the orbital momentum value on the Y axis

Returns the orbital momentum value on the Z axis

Returns the norm of the orbital momentum

Returns the specific mechanical energy

Returns the semi-major axis in km

Returns the eccentricity (no unit)

Returns the inclination in degrees

Returns the argument of periapsis in degrees

Returns the right ascension of ther ascending node in degrees

Returns the true anomaly in degrees between 0 and 360.0

NOTE: This function will emit a warning stating that the TA should be avoided if in a very near circular orbit Code from https://github.com/ChristopherRabotin/GMAT/blob/80bde040e12946a61dae90d9fc3538f16df34190/src/gmatutil/util/StateConversionUtil.cpp#L6835

Returns the true longitude in degrees

Returns the argument of latitude in degrees

NOTE: If the orbit is near circular, the AoL will be computed from the true longitude instead of relying on the ill-defined true anomaly.

Returns the radius of periapsis (or perigee around Earth), in kilometers.

Returns the radius of apoapsis (or apogee around Earth), in kilometers.

Returns the eccentric anomaly in degrees

This is a conversion from GMAT’s StateConversionUtil::TrueToEccentricAnomaly

Returns the flight path angle in degrees

Returns the mean anomaly in degrees

This is a conversion from GMAT’s StateConversionUtil::TrueToMeanAnomaly

Returns the semi parameter (or semilatus rectum)

Returns the geodetic longitude (λ) in degrees. Value is between 0 and 360 degrees.

Although the reference is not Vallado, the math from Vallado proves to be equivalent. Reference: G. Xu and Y. Xu, “GPS”, DOI 10.1007/978-3-662-50367-6_2, 2016

Returns the geodetic latitude (φ) in degrees. Value is between -180 and +180 degrees.

Reference: Vallado, 4th Ed., Algorithm 12 page 172.

Returns the geodetic height in km.

Reference: Vallado, 4th Ed., Algorithm 12 page 172.

Returns the right ascension of this orbit in degrees

Returns the declination of this orbit in degrees

Returns the semi minor axis in km, includes code for a hyperbolic orbit

Returns the velocity declination of this orbit in degrees

Returns the $C_3$ of this orbit

Returns the hyperbolic anomaly in degrees between 0 and 360.0

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Initialize a new OrbitDual from an orbit, no other initializers

Retrieve the Epoch

Set the Epoch

Shift this epoch by a duration (can be negative)

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

Checks if self is actually part of its subset T (and can be converted to it).

Use with care! Same as self.to_subset but without any property checks. Always succeeds.

The inclusion map: converts self to the equivalent element of its superset.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.