HarrisPriester
Defined in: harris_priester.rs:289
pub struct HarrisPriester { pub n: u32, pub lag_angle: f64, // ...}Harris-Priester atmospheric density model.
Computes density as a function of altitude and the angle between the satellite position and the atmospheric density bulge apex. The bulge lags behind the sub-solar point due to thermal inertia.
Formula
Section titled “Formula”ρ(h, ψ) = ρ_min(h) + [ρ_max(h) - ρ_min(h)] × cos^n(ψ/2)
where ψ is the angle between the satellite and the bulge apex, and n controls the sharpness of the diurnal variation.
Fields
Section titled “Fields”n: u32
Cosine power exponent. Higher values produce a sharper density bulge.
Typical values: n=2 (low inclination), n=6 (polar orbit).
lag_angle
Section titled “lag_angle”lag_angle: f64
Lag angle of the density bulge behind the sub-solar point [radians].
Default: π/6 ≈ 30° (~2 hours in local solar time).
Methods
Section titled “Methods”fn new() -> Self
Create a Harris-Priester model with default parameters.
Uses n=2 and 30° lag angle.
with_exponent()
Section titled “with_exponent()”fn with_exponent(self, n: u32) -> Self
Set the cosine exponent (builder pattern).
with_lag_angle()
Section titled “with_lag_angle()”fn with_lag_angle(self, lag_radians: f64) -> Self
Set the lag angle in radians (builder pattern).
with_sun_direction_fn()
Section titled “with_sun_direction_fn()”fn with_sun_direction_fn(self, f: fn(&Epoch) -> [frame::Vec3<frame::Gcrs>](../../../../arika/api/structs/vec3/)) -> Self
Override the Sun direction function (for testing).