Large Eddy Simulation
Large Eddy Simulation (LES) in NekRS uses a filter to drain energy from the lowest resolved wavelengths. This filter essentially acts as a sub-grid scale dissipation model. NekRS contains two options for filters, both of which exhibit spectral convergence. Both options use the same underlying convolution operator, but apply it in different ways. This documentation page is an abridged version of the Nek5000 filtering documentation.
The solution in NekRS is represented on each element using a polynomial basis (Lagrange polynomials, ). For example, in a 1-D element, the solution is
where are coefficients. A filtered version of , or , can then be represented as
where are weighting factors, are the Legendre polynomials, and are coefficients. In other words, the nodal solution (Lagrange basis) is first interpolated to the modal Legendre basis, the filtering is applied there, and then interpolated back.
Typically, is unity for certain values of so as to only apply the filter to the highest-frequency modes (),
We denote the convolution operator which represents applying the 1-D filtering operation to all three dimensions as , such that
Note that because the depend on the local element size, the filtering operation is not uniform across the entire domain. Generally, you should use as minimal a filter as possible while maintaining stability (though due to the spectral convergence, if you use a stronger setting you will still converge in the limit of increasing polynomial order).
Explicit Filter
NekRS's explicit filter applies the low-pass filtering operation directly to all the solution variables on the end of each time step. This option is enabled by setting filtering = explicit
in the [GENERAL]
block. To specify this filter, the weight applied to the highest mode is defined in terms of a filterWeight
,
The number of modes to filter is then indicated with the filterModes
key. NekRS will parabolically decrease the effect of the filter for each mode lower than until . General recommended settings for are filterModes = 2
and filterWeight = 0.05
.
High Pass Filter
NekRS's high pass filter also uses the convolution operator to obtain a low-pass filtered signal. The high-pass filter term is then constructed from the difference in the original signal () and the low-pass filtered signal (), and then subtracted from the momentum, energy, and scalar transport equations. For example, the non-dimensional momentum equation would become
The high pass filter is enabled by setting filtering = hpfrt
in the [GENERAL]
block. Here, once again you need to specify filterModes
. However, different from the explicit filter, the weights are strong for the high pass filter such that . In other words, the meaning of the filterWeight
key is now different, and instead is used to specify . Typical values used are .
General recommended settings are filterModes = 2
and filterWeight = 5.0
. That is, the high pass filter uses a strong low-pass filtering operation.