Dynamic subgrid-scale model (source code)

= Dynamic subgrid-scale model

A <dynamic subgrid-scale model> estimates its closure coefficient from the resolved flow as the calculation proceeds. In a common construction, a second, coarser <test filter> probes interactions among resolved scales, providing information for a <subgrid-scale model> below the original resolution.<A dynamic subgrid-scale eddy viscosity model by Massimo Germano and others (1990)>[Abstract and §2, dynamic coefficient from two filtering levels]{ref}

Write a bar for the original <spatial averaging filter> and a hat for the <test filter>. Define
$$
\tau_{ij}=\overline{u_i u_j}-\bar u_i\bar u_j,\qquad
T_{ij}=\widehat{\overline{u_i u_j}}-\widehat{\bar u}_i\widehat{\bar u}_j.
$$
Direct subtraction gives the <Germano identity>
$$
L_{ij}=T_{ij}-\widehat{\tau}_{ij}
=\widehat{\bar u_i\bar u_j}-\widehat{\bar u}_i\widehat{\bar u}_j.
$$
The rightmost expression uses only resolved quantities. The identity is exact for these definitions; extrapolating a closure between the filter levels is the modeling step.<A dynamic subgrid-scale eddy viscosity model by Massimo Germano and others (1990)>[§2, equations 8–10, resolved stress and algebraic two-filter identity]{ref}

For instance, suppose a chosen closure writes the deviatoric stresses as $\tau^d=C A$ and $T^d=C B$, and assumes $C$ can be taken outside the test filtering. Then $L^d\approx C M$, where $M=B-\widehat A$. One way to choose $C$ is to minimize $\sum_{ij}(L^d_{ij}-CM_{ij})^2$. Differentiation gives
$$
C=\frac{\sum_{ij}L^d_{ij}M_{ij}}{\sum_{ij}M_{ij}^2}
$$
when the denominator is nonzero. This is a <least squares> fit of a scalar to tensor data. In a one-component illustrative fit, $L^d=0.012$ and $M=0.3$ give $C=0.04$.

The coefficient need not remain positive. Depending on the closure, a negative value can permit <turbulent backscatter>, but a small denominator can also make an estimate unreliable. Averaging, bounds and treatment of weak strain are additional choices. Dynamically fitting a coefficient does not remove these assumptions or make unresolved motion observable.