Skip to main content

Crate space_units

Crate space_units 

Source
Expand description

§space-units

Type-safe units of measure for aerospace quantities.

This crate provides 40 concrete newtypes for physical quantities (Length, Mass, Velocity, Force, Voltage, Temperature, …) where only physically meaningful arithmetic compiles, conversions are explicit, and units are always part of the type.

§Quick Start

use space_units::prelude::*;

let distance = 384_400.km();        // Length
let time     = 3.days();            // Time
let velocity = distance / time;      // Length / Time → Velocity

let force = 1000.kg() * 9.81.mps2(); // Mass * Acceleration → Force

§Key Features

  • 82 typed arithmetic operationsLength / Time → Velocity, Voltage * Current → Power, etc.
  • NumericExt literal extensions384_400.km(), 51.6.deg(), 28.volts()
  • 34 typed constantsconstants::GM_EARTH, constants::C, constants::AU, etc.
  • Zero dependencies, no_std compatible, const fn constructors

Import prelude for the common case:

use space_units::prelude::*;

Modules§

constants
Typed physical and astronomical constants.
prelude
Prelude for space-units.

Structs§

AbsorbedDose
An absorbed radiation dose quantity, stored internally in grays (Gy).
Acceleration
An acceleration quantity, stored canonically in meters per second squared (m/s^2).
Angle
A plane angle, stored canonically in radians.
AngularAcceleration
An angular acceleration, stored canonically in rad/s².
AngularMomentum
An angular momentum, stored canonically in newton-metre-seconds (Nms).
AngularVelocity
An angular velocity (rate of rotation), stored canonically in rad/s.
Area
An area quantity, stored canonically in square meters (m²).
Capacitance
A capacitance quantity, stored internally in farads (F).
DataRate
A data rate quantity, stored internally in bits per second (bps).
Density
A density quantity, stored canonically in kilograms per cubic meter (kg/m³).
DisplayWithUnit
A display helper returned by Quantity::display_as(Unit).
DoseEquivalent
A dose equivalent quantity, stored internally in sieverts (Sv).
ElectricCharge
An electric charge quantity, stored internally in coulombs (C).
ElectricCurrent
An electric current quantity, stored internally in amperes (A).
Energy
An energy quantity, stored canonically in joules (J).
Force
A force quantity, stored canonically in Newtons (N).
Frequency
A frequency quantity, stored internally in hertz (Hz).
GravitationalParameter
A gravitational parameter (mu = GM), stored canonically in m³/s².
HeatFlux
A heat flux quantity, stored canonically in watts per square meter (W/m²).
Impulse
An impulse quantity, stored canonically in Newton-seconds (N*s).
Inductance
An inductance quantity, stored internally in henrys (H).
Length
A length / distance quantity, stored canonically in meters (m).
MagneticFlux
A magnetic flux quantity, stored internally in webers (Wb).
MagneticFluxDensity
A magnetic flux density quantity, stored internally in tesla (T).
Mass
A mass quantity, stored canonically in kilograms (kg).
MassFlowRate
A mass flow rate quantity, stored canonically in kilograms per second (kg/s).
MomentOfInertia
A moment of inertia (rotational inertia), stored canonically in kg*m².
Momentum
A momentum quantity, stored canonically in kg*m/s.
Power
A power quantity, stored canonically in watts (W).
Pressure
A pressure quantity, stored canonically in pascals (Pa).
Resistance
An electrical resistance quantity, stored internally in ohms (Ohm).
SolidAngle
A solid angle (two-dimensional angular span), stored canonically in steradians (sr).
SpecificAngularMomentum
A specific angular momentum quantity, stored canonically in m²/s.
SpecificEnergy
A specific energy quantity, stored canonically in J/kg (= m²/s²).
SpecificImpulse
A specific impulse quantity, stored canonically in seconds (s).
Temperature
A temperature quantity, stored canonically in kelvin (K).
Time
A time duration quantity, stored canonically in seconds (s).
Torque
A torque (moment of force), stored canonically in newton-metres (N*m).
Velocity
A velocity quantity, stored canonically in meters per second (m/s).
Voltage
A voltage (electric potential difference) quantity, stored internally in volts (V).
Volume
A volume quantity, stored canonically in cubic meters (m³).

Enums§

AbsorbedDoseUnit
Display/conversion units for AbsorbedDose.
AccelerationUnit
Display / conversion units for Acceleration.
AngleUnit
Display and conversion units for Angle.
AngularAccelerationUnit
Display and conversion units for AngularAcceleration.
AngularMomentumUnit
Display and conversion units for AngularMomentum.
AngularVelocityUnit
Display and conversion units for AngularVelocity.
AreaUnit
Display/conversion units for Area.
CapacitanceUnit
Display/conversion units for Capacitance.
DataRateUnit
Display/conversion units for DataRate.
DensityUnit
Display/conversion units for Density.
DoseEquivalentUnit
Display/conversion units for DoseEquivalent.
ElectricChargeUnit
Display/conversion units for ElectricCharge.
ElectricCurrentUnit
Display/conversion units for ElectricCurrent.
EnergyUnit
Display/conversion units for Energy.
ForceUnit
Display / conversion units for Force.
FrequencyUnit
Display/conversion units for Frequency.
GravitationalParameterUnit
Display/conversion units for GravitationalParameter.
HeatFluxUnit
Display/conversion units for HeatFlux.
ImpulseUnit
Display / conversion units for Impulse.
InductanceUnit
Display/conversion units for Inductance.
LengthUnit
Display / conversion units for Length.
MagneticFluxDensityUnit
Display/conversion units for MagneticFluxDensity.
MagneticFluxUnit
Display/conversion units for MagneticFlux.
MassFlowRateUnit
Display/conversion units for MassFlowRate.
MassUnit
Display / conversion units for Mass.
MomentOfInertiaUnit
Display and conversion units for MomentOfInertia.
PowerUnit
Display/conversion units for Power.
PressureUnit
Display/conversion units for Pressure.
ResistanceUnit
Display/conversion units for Resistance.
SolidAngleUnit
Display and conversion units for SolidAngle.
SpecificAngularMomentumUnit
Display/conversion units for SpecificAngularMomentum.
SpecificEnergyUnit
Display/conversion units for SpecificEnergy.
SpecificImpulseUnit
Display/conversion units for SpecificImpulse.
TemperatureUnit
Display/conversion units for Temperature.
TimeUnit
Display / conversion units for Time.
TorqueUnit
Display and conversion units for Torque.
VelocityUnit
Display / conversion units for Velocity.
VoltageUnit
Display/conversion units for Voltage.
VolumeUnit
Display/conversion units for Volume.

Traits§

NumericExt
Extension methods on numeric literals for constructing typed quantities.

Functions§

max
Returns the larger of two values using PartialOrd.
min
Returns the smaller of two values using PartialOrd.