Neko  0.9.0
A portable framework for high-order spectral element flow simulations
dynamic_smagorinsky_cpu Module Reference

Implements the CPU kernel for the smagorinsky_t type.

Functions/Subroutines

subroutine, public dynamic_smagorinsky_compute_cpu (t, tstep, coef, nut, delta, c_dyn, test_filter, mij, lij, num, den)
 Compute eddy viscosity on the CPU. More...
 
subroutine compute_lij_cpu (lij, u, v, w, test_filter, n, nelv)
 Compute Germano Identity on the CPU. More...
 
subroutine compute_mij_cpu (mij, s11, s22, s33, s12, s13, s23, s_abs, test_filter, delta, n, nelv)
 Compute M_ij on the CPU. More...
 
subroutine compute_num_den_cpu (num, den, lij, mij, alpha, n)
 Compute numerator and denominator for c_dyn on the CPU. More...
 

Function/Subroutine Documentation

◆ compute_lij_cpu()

subroutine dynamic_smagorinsky_cpu::compute_lij_cpu ( type(field_t), dimension(6), intent(inout)  lij,
type(field_t), intent(in), pointer  u,
type(field_t), intent(in), pointer  v,
type(field_t), intent(in), pointer  w,
type(elementwise_filter_t), intent(inout)  test_filter,
integer, intent(in)  n,
integer, intent(inout)  nelv 
)
private

L_ij = u_i*u_j - u_i*u_j

Parameters
lijThe Germano identity.
ux-velocity resolved (only filtered once)
vy-velocity resolved (only filtered once)
wz-velocity resolved (only filtered once)
test_filter

filtered u,v,w by the test filter

Definition at line 157 of file dynamic_smagorinsky_cpu.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_mij_cpu()

subroutine dynamic_smagorinsky_cpu::compute_mij_cpu ( type(field_t), dimension(6), intent(inout)  mij,
type(field_t), intent(inout)  s11,
type(field_t), intent(inout)  s22,
type(field_t), intent(inout)  s33,
type(field_t), intent(inout)  s12,
type(field_t), intent(inout)  s13,
type(field_t), intent(inout)  s23,
type(field_t), intent(inout)  s_abs,
type(elementwise_filter_t), intent(inout)  test_filter,
type(field_t), intent(in)  delta,
integer, intent(in)  n,
integer, intent(inout)  nelv 
)
private

M_ij = ((delta_test/delta)^2 s_abs*s_ij - s_abs*s_ij)*(delta^2)

Parameters
lijThe Germano identity.
ux-velocity resolved (only filtered once)
vy-velocity resolved (only filtered once)
wz-velocity resolved (only filtered once)
test_filter

Definition at line 219 of file dynamic_smagorinsky_cpu.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_num_den_cpu()

subroutine dynamic_smagorinsky_cpu::compute_num_den_cpu ( type(field_t), intent(inout)  num,
type(field_t), intent(inout)  den,
type(field_t), dimension(6), intent(in)  lij,
type(field_t), dimension(6), intent(in)  mij,
real(kind=rp), intent(in)  alpha,
integer, intent(in)  n 
)
private
Parameters
numThe numerator in the expression of c_dyn, i.e. <mij*lij>
denThe denominator in the expression of c_dyn, i.e. <mij*mij>
mij
lijThe Germano identity.
alphaThe moving average coefficient

Definition at line 311 of file dynamic_smagorinsky_cpu.f90.

Here is the caller graph for this function:

◆ dynamic_smagorinsky_compute_cpu()

subroutine, public dynamic_smagorinsky_cpu::dynamic_smagorinsky_compute_cpu ( real(kind=rp), intent(in)  t,
integer, intent(in)  tstep,
type(coef_t), intent(in)  coef,
type(field_t), intent(inout)  nut,
type(field_t), intent(in)  delta,
type(field_t), intent(inout)  c_dyn,
type(elementwise_filter_t), intent(inout)  test_filter,
type(field_t), dimension(6), intent(inout)  mij,
type(field_t), dimension(6), intent(inout)  lij,
type(field_t), intent(inout)  num,
type(field_t), intent(inout)  den 
)
Parameters
tThe time value.
tstepThe current time-step.
coefSEM coefficients.
nutThe SGS viscosity array.
deltaThe LES lengthscale.
c_dynThe DS model coefficient
test_filter
mij
lijThe Germano identity.
numThe numerator in the expression of c_dyn, i.e. <mij*lij>
denThe denominator in the expression of c_dyn, i.e. <mij*mij>

Definition at line 64 of file dynamic_smagorinsky_cpu.f90.

Here is the call graph for this function:
Here is the caller graph for this function: