Exact laws (KHM)

The Kármán–Howarth–Monin exact laws relate a third-order structure function in the inertial range to a dissipation or flux. StructureFunctions.KHM inverts them on already-binned results and reports the residual of each law. Every law is stated for one specific moment, and the laws are not interchangeable: applying the four-fifths law to S3SF returns a number that is wrong by exactly 5/3 and looks entirely reasonable.

lawmomentoperatorrelationinversion
four-fifths (Kolmogorov 1941)$⟨δu_L³⟩$L3SFType$⟨δu_L³⟩ = -\tfrac{4}{5} ε r$KHM.epsilon_from_four_fifths
four-thirds$⟨δu_L ‖δu‖²⟩$S3SFType$⟨δu_L ‖δu‖²⟩ = -\tfrac{4}{3} ε r$KHM.epsilon_from_four_thirds
Yaglom$⟨δu_L (δθ)²⟩$MixedSFType{1,0,2}$⟨δu_L (δθ)²⟩ = -\tfrac{4}{3} ε_θ r$KHM.epsilon_theta_from_yaglom
using StructureFunctions: StructureFunctions as SF, Calculations as SFC, StructureFunctionTypes as SFT

res = SFC.calculate_structure_function(SFT.L3SFType(), x, u, bins)
r = SF.midpoints(res.distance)
ε = SF.KHM.epsilon_from_four_fifths(r, res.values)          # one estimate per bin; flat in the inertial range
SF.KHM.four_fifths_residual(r, res.values, ε[5])              # how far each bin is from the law at that ε

The residual of the planar isotropy relation between the longitudinal and transverse second-order functions, $D_{TT} = D_{LL} + r\,\mathrm{d}D_{LL}/\mathrm{d}r$ in two dimensions (Lindborg 1999, eq. 53), is KHM.transverse_incompressibility_residual; on a sphere it holds only to $O((r/R)^2)$.

These are inertial-range relations for homogeneous isotropic turbulence with a single cascade. A synthetic Gaussian field has no cascade and its third-order moments are consistent with zero, so the laws have nothing to recover there; the spectral flux relations of the transforms (spectral_flux, enstrophy_flux) and the regularised fits (fit_flux) are the scale-resolved counterparts.

Functions

StructureFunctions.KHM — Module

Basic homogeneous/isotropic KHM exact-law diagnostics.

This module intentionally works on already-binned scalar outputs. Full KHMH or AGKE budgets need additional fields such as viscosity, forcing, pressure, inhomogeneous transport terms, and temporal tendencies.

source
StructureFunctions.KHM.epsilon_from_four_fifths — Method
epsilon_from_four_fifths(r, L3)

Dissipation from Kolmogorov's four-fifths law, $⟨δu_L³⟩ = -(4/5) ε r$.

L3 is L3SF, the third-order longitudinal structure function $⟨δu_L³⟩$ — not S3SF, which is $⟨δu_L‖δu‖²⟩$ and obeys the four-thirds law instead (see epsilon_from_four_thirds). The two differ by a factor of 5/3, so passing the wrong one returns a wrong ε that looks entirely reasonable.

source
StructureFunctions.KHM.epsilon_theta_from_yaglom — Method
epsilon_theta_from_yaglom(r, LS2)

Scalar dissipation from Yaglom's law, $⟨δu_L (δθ)²⟩ = -(4/3) ε_θ r$.

LS2 is the mixed velocity–scalar moment MixedSFType{1,0,2} computes. The quantity returned is ε_θ, the dissipation of scalar variance — a different quantity from the ε of the velocity laws, and not interchangeable with it.

source