Reynolds Stress Derivation from Wind Tunnel Profiles

This page explains how each Reynolds stress component is derived from measured \(U(z)\) and \(I_u(z)\) profiles. The conversion script in the Matching Custom Inlet guide handles this automatically — read this page only if you want to understand what the script is computing or need to adapt it to your data.


Rxx — Streamwise normal stress

\[ R_{xx}(z) = \left[I_u(z) \cdot U(z)\right]^2 = \sigma_u^2(z) \]

This follows directly from the definition of \(I_u\). No approximation is needed.


Ryy, Rzz — Lateral and vertical normal stresses

If your wind tunnel report includes lateral and vertical turbulence intensities \(I_v(z)\) and \(I_w(z)\), or their standard deviations \(\sigma_v\) and \(\sigma_w\), use them directly:

\[ R_{yy} = \sigma_v^2 = \left[I_v(z) \cdot U(z)\right]^2 \qquad R_{zz} = \sigma_w^2 = \left[I_w(z) \cdot U(z)\right]^2 \]

If only \(I_u\) was measured, typical wind tunnel boundary layer ratios give:

\[ \frac{\sigma_v}{\sigma_u} \approx 0.75 \quad \Rightarrow \quad R_{yy} \approx 0.5625 \cdot R_{xx} \]
\[ \frac{\sigma_w}{\sigma_u} \approx 0.50 \quad \Rightarrow \quad R_{zz} \approx 0.25 \cdot R_{xx} \]

These are conservative defaults. Actual ratios vary with turbulence generator calibration and fetch conditions — prefer measured values when available.


Rxz — Reynolds shear stress

Wind tunnel measurements rarely include \(R_{xz}\) directly. The recommended approach for most users is the simplified ratio:

\[ R_{xz} \approx -0.3 \cdot R_{xx} \]

This is consistent with wind tunnel boundary layer profiles and satisfies the positive semi-definiteness constraint by construction, since \((0.3)^2 = 0.09 < 0.25 = R_{zz}/R_{xx}\).

If you have extracted \(u_*\) from a log-law fit of your traverse, you can instead use:

\[ R_{xz}(z) = -u_*^2 \cdot \max\!\left(0,\, 1 - \frac{z}{\delta}\right) \]

where \(\delta\) is the tunnel boundary layer depth. This tapers \(R_{xz}\) to zero above the boundary layer and avoids violating the positive semi-definite constraint at high \(z\). If the check fails at any height, fall back to the simplified ratio.

Note

\(R_{xz}\) must be negative. Momentum is transported downward against the mean shear; a positive value is physically inconsistent and will cause the Cholesky decomposition inside the SEM to fail.


Rxy, Ryz — Off-diagonal components

For flow aligned to the x-axis:

\[ R_{xy} = 0, \quad R_{yz} = 0 \]

Quick reference

Component

Formula

Notes

\(R_{xx}\)

\([I_u \cdot U]^2\)

Direct from input data

\(R_{yy}\)

\(\sigma_v^2\) or \(0.5625 \cdot R_{xx}\)

Prefer measured; default ratio as fallback

\(R_{zz}\)

\(\sigma_w^2\) or \(0.25 \cdot R_{xx}\)

Prefer measured; default ratio as fallback

\(R_{xz}\)

\(-0.3 \cdot R_{xx}\) (or \(-u_*^2 \cdot \max(0,\, 1-z/\delta)\))

Negative; use simplified ratio unless u* is known

\(R_{xy}\)

\(0\)

Flow aligned to x

\(R_{yz}\)

\(0\)

Flow aligned to x


Positive semi-definiteness

The Reynolds stress tensor at each height must be positive semi-definite — otherwise the Cholesky decomposition used internally by the SEM will fail. The constraint most commonly violated in practice is:

\[ R_{xx} \cdot R_{zz} \geq R_{xz}^2 \]

Check this at every row before uploading the CSV. The conversion script does this automatically and raises an error if any row fails.


Worked example

At \(z = 30\) m with \(U = 15\) m/s, \(I_u = 0.12\) (measured), \(z_0 = 0.05\) m (tunnel floor):

\(R_{xx}\):

\[ R_{xx} = (0.12 \times 15)^2 = 1.8^2 = 3.24 \; \text{m}^2/\text{s}^2 \]

\(R_{yy}\), \(R_{zz}\) — using default ratios (no \(\sigma_v\), \(\sigma_w\) available):

\[ R_{yy} = 0.5625 \times 3.24 = 1.82 \; \text{m}^2/\text{s}^2 \qquad R_{zz} = 0.25 \times 3.24 = 0.81 \; \text{m}^2/\text{s}^2 \]

\(R_{xz}\) — simplified ratio:

\[ R_{xz} \approx -0.3 \times 3.24 = -0.97 \; \text{m}^2/\text{s}^2 \]

Positive semi-definiteness check:

\[ R_{xx} \cdot R_{zz} = 3.24 \times 0.81 = 2.62 \quad \text{vs} \quad R_{xz}^2 = (-0.97)^2 = 0.94 \quad \Rightarrow \quad \checkmark \]

Alternative: \(R_{xz}\) from log-law fit. If \(u_*\) has been extracted from the traverse, you can use \(R_{xz} = -u_*^2\) with a taper. Verify the positive semi-definiteness check at every height — for rough-floor tunnels with low \(I_u\), the log-law estimate of \(u_*\) can produce \(|R_{xz}|\) large enough to fail the constraint. Fall back to the simplified ratio if it does.