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§
- Dryden
Generator - A seeded Dryden turbulence generator that advances along the flight path.
- Dryden
Parameters - Intensities and scale lengths of Dryden turbulence.
- Gust
Field - A precomputed Dryden turbulence realization along a path coordinate, sampled every
spacingmeters and interpolated linearly, so it is a pure function an adaptive integrator can call repeatedly. - Gust
Sample - A gust and whether it was looked up beyond the end of its field.
Enums§
- Turbulence
Severity - Turbulence severity, which sets the low-altitude reference wind.
Constants§
- MAX_
GUST_ FIELD_ SAMPLES - The most samples a
GustFieldholds (240 MB off64s).