Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
vulcan::orbital::elements Namespace Reference

Functions

template<typename Scalar>
OrbitalElements< Scalar > cartesian_to_keplerian (const Vec3< Scalar > &r, const Vec3< Scalar > &v, double mu=constants::earth::mu)
 Convert Cartesian state to Keplerian elements.
template<typename Scalar>
std::pair< Vec3< Scalar >, Vec3< Scalar > > keplerian_to_cartesian (const OrbitalElements< Scalar > &oe, double mu=constants::earth::mu)
 Convert Keplerian elements to Cartesian state.

Function Documentation

◆ cartesian_to_keplerian()

template<typename Scalar>
OrbitalElements< Scalar > vulcan::orbital::elements::cartesian_to_keplerian ( const Vec3< Scalar > & r,
const Vec3< Scalar > & v,
double mu = constants::earth::mu )

Convert Cartesian state to Keplerian elements.

Transforms position and velocity vectors to classical orbital elements. Handles singular cases (circular, equatorial orbits) with numerical guards.

Template Parameters
Scalardouble or casadi::MX
Parameters
rPosition vector in inertial frame [m]
vVelocity vector in inertial frame [m/s]
muGravitational parameter [m³/s²] (default: Earth)
Returns
OrbitalElements<Scalar>

◆ keplerian_to_cartesian()

template<typename Scalar>
std::pair< Vec3< Scalar >, Vec3< Scalar > > vulcan::orbital::elements::keplerian_to_cartesian ( const OrbitalElements< Scalar > & oe,
double mu = constants::earth::mu )

Convert Keplerian elements to Cartesian state.

Transforms classical orbital elements to position and velocity vectors.

Template Parameters
Scalardouble or casadi::MX
Parameters
oeOrbital elements
muGravitational parameter [m³/s²] (default: Earth)
Returns
Pair of (position, velocity) vectors in inertial frame