Skip to main content

Module dryden

Module dryden 

Source
Expand description

Seeded Dryden turbulence: the spectra, MIL-F-8785C parameters, a generator that is exact for any step length, and a precomputed gust field.

Source: MIL-F-8785C, Military Specification: Flying Qualities of Piloted Airplanes (5 November 1980), section 3.7, pinned as mil-f-8785c (see docs/physics/turbulence.md).

Spectra (§3.7.1.2 and the definitions in §6.2.7). Turbulence is a frozen random field that the vehicle flies through, so the spectra are functions of spatial frequency Ω (rad/m). They are one-sided, with ∫₀^∞ Φ(Ω) dΩ = σ²:

Φ_u(Ω) = σ_u² (2 L_u / π) / (1 + (L_u Ω)²)
Φ_v(Ω) = σ_v² (L_v / π) (1 + 3 (L_v Ω)²) / (1 + (L_v Ω)²)²
Φ_w(Ω) = σ_w² (L_w / π) (1 + 3 (L_w Ω)²) / (1 + (L_w Ω)²)²

These are MIL-F-8785C’s scale lengths. MIL-HDBK-1797 writes the transverse spectra with 2 L_v and 2 L_w and halves those lengths, which gives the same spectra; mixing one document’s lengths with the other’s formula is off by a factor of two.

Their autocorrelations along the path, at separation ξ, are

R_u(ξ) = σ_u² e^(−|ξ|/L_u)
R_v(ξ) = σ_v² e^(−|ξ|/L_v) (1 − |ξ| / (2 L_v))

Generator. The longitudinal component is a first-order Gauss–Markov process. Each transverse component is the output y = (σ/√2)(√3 x₁ + (1 − √3) x₂) of two states driven by white noise through dx₁/ds = (−x₁ + η)/L, dx₂/ds = (x₁ − x₂)/L. Its stationary state covariance is P = [[1, ½], [½, ½]] for every L, and the output’s autocorrelation is exactly R_v above. A step of length Δs (with r = Δs/L, x = 2r) maps the state through

Φ(r) = e^(−r) [[1, 0], [r, 1]]
Q(r) = [[P(1, x), ½ P(2, x)], [½ P(2, x), ½ P(3, x)]],   P(n, x) = γ(n, x)/Γ(n)

and adds Gaussian noise of covariance Q = P − Φ P Φᵀ, written with regularized incomplete gamma functions so it has no cancellation for tiny steps. The longitudinal state uses ρ = e^(−r) and noise variance P(1, x) = 1 − ρ². Because this is the exact transition of the continuous process, any sequence of step lengths samples the same field statistics, and parameters that change between steps keep the state stationary.

Structs§

DrydenGenerator
A seeded Dryden turbulence generator that advances along the flight path.
DrydenParameters
Intensities and scale lengths of Dryden turbulence.
GustField
A precomputed Dryden turbulence realization along a path coordinate, sampled every spacing meters and interpolated linearly, so it is a pure function an adaptive integrator can call repeatedly.
GustSample
A gust and whether it was looked up beyond the end of its field.

Enums§

TurbulenceSeverity
Turbulence severity, which sets the low-altitude reference wind.

Constants§

MAX_GUST_FIELD_SAMPLES
The most samples a GustField holds (240 MB of f64s).