qtty-cpp 0.4.5
Header-only C++ wrapper for qtty
Loading...
Searching...
No Matches
satellite.hpp File Reference

Spacecraft astrodynamics quantities, mirroring the Rust qtty satellite feature (dynamics + tolerances modules). More...

#include <array>
#include <string_view>
#include "ffi_core.hpp"
#include "units/dimensionless.hpp"
#include "units/length.hpp"
#include "units/time.hpp"
#include "units/velocity.hpp"
Include dependency graph for satellite.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  qtty::satellite::GravitationalParameterTag
 
class  qtty::satellite::DragCoefficient
 Aerodynamic drag coefficient C_D (dimensionless). More...
 
class  qtty::satellite::SrpCoefficient
 Solar radiation pressure coefficient C_R (dimensionless). More...
 
class  qtty::satellite::J2Coefficient
 Gravitational zonal harmonic J₂ coefficient (dimensionless). More...
 
class  qtty::satellite::StokesCoefficient
 Fully-normalised Stokes geopotential coefficient C_nm / S_nm (dimensionless). More...
 
class  qtty::satellite::RelativeTolerance
 Relative tolerance (dimensionless) for adaptive ODE integration. More...
 
class  qtty::satellite::AbsoluteTolerancePosition
 Absolute position tolerance, stored in kilometres. More...
 
class  qtty::satellite::AbsoluteToleranceVelocity
 Absolute velocity tolerance, stored in kilometres per second. More...
 
struct  qtty::satellite::IntegratorTolerances
 Per-axis integrator tolerances for state propagation. More...
 

Namespaces

namespace  qtty
 
namespace  qtty::satellite
 

Typedefs

using qtty::satellite::KmPerSeconds = Quantity< CompoundTag< KilometerTag, SecondTag > >
 Kilometre per second (km/s) — orbital speed scale.
 
using qtty::satellite::GravitationalParameter = Quantity< GravitationalParameterTag >
 Standard gravitational parameter μ = G·M, expressed in km³/s².
 

Variables

const GravitationalParameter qtty::satellite::GM_EARTH {398600.4418}
 
const GravitationalParameter qtty::satellite::GM_SUN {1.32712440018e11}
 
const GravitationalParameter qtty::satellite::GM_MOON {4.902800066e3}
 
const GravitationalParameter qtty::satellite::GM_MERCURY {2.2031878328e4}
 
const GravitationalParameter qtty::satellite::GM_VENUS {3.24858592e5}
 
const GravitationalParameter qtty::satellite::GM_MARS {4.2828375816e4}
 
const GravitationalParameter qtty::satellite::GM_JUPITER {1.267127648e8}
 
const GravitationalParameter qtty::satellite::GM_SATURN {3.79405852e7}
 
const GravitationalParameter qtty::satellite::GM_URANUS {5.7945486e6}
 
const GravitationalParameter qtty::satellite::GM_NEPTUNE {6.8365271005e6}
 
const GravitationalParameter qtty::satellite::GM_PLUTO {9.770e2}
 

Detailed Description

Spacecraft astrodynamics quantities, mirroring the Rust qtty satellite feature (dynamics + tolerances modules).

These are header-only value types: gravitational parameters, ballistic / radiation / geopotential coefficients, and integrator tolerances. They carry the same numeric definitions and semantics as their Rust counterparts.

Note: GravitationalParameter is a nested compound unit (km³/s²) in Rust. The FFI derived-conversion ABI only encodes a single numerator/denominator pair, so the C++ mirror is a value-carrying quantity (arithmetic, comparison and value() are supported; cross-unit .to<>() is not).

Definition in file satellite.hpp.