0.6.0
Loading...
Searching...
No Matches
Large Eddy Simulation (LES) models

Large Eddy Simulation models. More...

Namespaces

module  enum_les
 Enumeration for Large Eddy Simulation models.
 
module  variables_turbulence_les
 Define variables associated to the Large Eddy Simulation models.
 

Functions

subroutine, public mod_compute_filtered_fields::compute_filtered_scalar_field (filtered_field, field, filter_ratio)
 Apply an explicit filter to a scalar field using 1D mask.
 
subroutine mod_compute_les_subgrid_viscosity::compute_les_subgrid_viscosity (velocity)
 Compute (dynamic) turbulent viscosity thanks to Large-Eddy Simulations models.
 
double precision function mod_wale_functions::compute_g_square (velocity_gradient, ii, jj)
 Compute the variables necessary to calculate the turbulent viscosity in the WALE model.
 

Detailed Description

Large Eddy Simulation models.

Function Documentation

◆ compute_filtered_scalar_field()

subroutine, public mod_compute_filtered_fields::compute_filtered_scalar_field ( double precision, dimension(:,:,:), intent(out) filtered_field,
double precision, dimension(:,:,:), intent(in) field,
integer, intent(in) filter_ratio )

Apply an explicit filter to a scalar field using 1D mask.

The multidimensional filter is constructed as the tensor product of a 1D discrete mask mask_filter given in module private variable. Available filter-to-grid ratio are Δ/Δx=1,2,4,8,16. Composite Simpson is using as quadrature rule with the following number of intervall used for each filter-to-grid ratioi (Δ/Δx), respectivelly (1,1,2,4,8). The filtering is performed successively along each spatial direction, resulting in an efficient implementation compared to full stencil naive implementation (avoiding cache misses).

For a 1D mask \( w \) of size \( N \), the 2D kernel is:

\[ W(i,j) = \frac{w_i \, w_j}{n} \,. \]

with \( n \) the norm of the kernel

\[ {\left(\sum_i w_i\right)^2} \,. \]

For a single 2Δ interval, the 1D Simpson weights are: \( w = \{1,4,1\} / 6. \) In 2D or 3D, the weights become the tensor product of the 1D Simpson weights. For instance, in 2D:

This produces the classical 3×3 kernel:

  !!   /  1   4   1  \
  !!   |  4  16   4  |  / 36
  !!   \  1   4   1  /
  !! 
Warning
This filter assumes a uniform Cartesian grid; using it on non-uniform meshes may lead to incorrect results.
Parameters
[in,out]filtered_fieldFiltered field.
[in]fieldInput vector field to be filtered.
[in]filter_ratioFilter-to-grid ratio.

◆ compute_g_square()

double precision function mod_wale_functions::compute_g_square ( double precision, dimension(:,:), intent(in) velocity_gradient,
integer, intent(in) ii,
integer, intent(in) jj )

Compute the variables necessary to calculate the turbulent viscosity in the WALE model.

◆ compute_les_subgrid_viscosity()

subroutine mod_compute_les_subgrid_viscosity::compute_les_subgrid_viscosity ( type(t_face_field), intent(in) velocity)

Compute (dynamic) turbulent viscosity thanks to Large-Eddy Simulations models.