# 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](./matching-custom-inlet.md) 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 ```{eval-rst} .. list-table:: :class: ghost :widths: auto :header-rows: 1 * - Component - Formula - Notes * - :math:`R_{xx}` - :math:`[I_u \cdot U]^2` - Direct from input data * - :math:`R_{yy}` - :math:`\sigma_v^2` or :math:`0.5625 \cdot R_{xx}` - Prefer measured; default ratio as fallback * - :math:`R_{zz}` - :math:`\sigma_w^2` or :math:`0.25 \cdot R_{xx}` - Prefer measured; default ratio as fallback * - :math:`R_{xz}` - :math:`-0.3 \cdot R_{xx}` (or :math:`-u_*^2 \cdot \max(0,\, 1-z/\delta)`) - Negative; use simplified ratio unless u* is known * - :math:`R_{xy}` - :math:`0` - Flow aligned to x * - :math:`R_{yz}` - :math:`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.