Skip to main content

deep_time/physics/
mod.rs

1//! Proper-time rates and quadratic clock polynomials.
2//!
3//! ## Types
4//!
5//! - [`Position`] – Cartesian position (meters)
6//! - [`Velocity`] – Cartesian velocity (m/s)
7//! - [`Spacetime`] – lapse α and spatial-velocity fraction β for one clock
8//! - [`Drift`] – quadratic clock polynomial
9//!
10//! Import: `use deep_time::physics::{Drift, Position, Spacetime, Velocity}`.
11//!
12//! The instantaneous rate is [`Spacetime::proper_time_rate_offset`]. The
13//! offset over a span is [`Drift::time_diff_after`]. Apply a polynomial to an
14//! epoch with [`Dt::convert_using_drift`](crate::Dt::convert_using_drift) or
15//! [`Dt::adjusted_advance`](crate::Dt::adjusted_advance). Theory:
16//! [docs/relativity.md](https://github.com/ragardner/deep-time/blob/main/docs/relativity.md).
17//!
18//! ## Filling [`Spacetime`]
19//!
20//! Every constructor uses the same interval. [`Spacetime::new`] stores α and
21//! β you already have (from a metric, or computed yourself). The others fill
22//! those two numbers from potential and velocity. Then
23//! [`Drift::from_spacetime`] if you need the quadratic.
24//!
25//! | You have | Constructor |
26//! |----------|-------------|
27//! | α and β already in hand | [`Spacetime::new`] |
28//! | Lapse α and spatial velocity (m/s) | [`Spacetime::from_lapse_and_velocity`] |
29//! | Φ in m²/s² (negative for bound gravity) and velocity | [`Spacetime::from_potential_and_velocity`] |
30//! | IERS / geodesy positive \(U\) (m²/s²) and velocity | [`Spacetime::from_positive_potential_and_velocity`] |
31//! | Dimensionless Φ/c² and velocity | [`Spacetime::from_potential_over_c2_and_velocity`] |
32
33pub mod drift;
34pub mod position;
35pub mod spacetime;
36pub mod velocity;
37
38pub use drift::Drift;
39pub use position::Position;
40pub use spacetime::Spacetime;
41pub use velocity::Velocity;