Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
dynamic_smagorinsky_device Module Reference

Implements the device kernel for the smagorinsky_t type.

Functions/Subroutines

subroutine, public dynamic_smagorinsky_compute_device (t, tstep, coef, nut, delta, c_dyn, test_filter, mij, lij, num, den)
 Compute eddy viscosity on the device.
 
subroutine compute_lij_device (lij, u, v, w, test_filter, n, nelv)
 Compute Germano Identity on the device.
 
subroutine compute_nut_device (nut, c_dyn, num, den, lij, mij, s11, s22, s33, s12, s13, s23, s_abs, test_filter, delta, alpha, n, nelv)
 Compute M_ij and nut on the device.
 

Function/Subroutine Documentation

◆ compute_lij_device()

subroutine dynamic_smagorinsky_device::compute_lij_device ( 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 140 of file dynamic_smagorinsky_device.f90.

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

◆ compute_nut_device()

subroutine dynamic_smagorinsky_device::compute_nut_device ( type(field_t), intent(inout nut,
type(field_t), intent(inout c_dyn,
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(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,
real(kind=rp), intent(in alpha,
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
nutThe SGS viscosity array
c_dynThe DS model coefficient
numThe numerator in the expression of c_dyn, i.e. <mij*lij>
denThe denominator in the expression of c_dyn, i.e. <mij*mij>
lijThe Germano identity
Mij
s11
s22
s33
s12
s13
s23
s_abs
test_filter
deltaThe filter size
alphaThe moving average coefficient
nThe number of points
nelvThe number of elements

Definition at line 214 of file dynamic_smagorinsky_device.f90.

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

◆ dynamic_smagorinsky_compute_device()

subroutine, public dynamic_smagorinsky_device::dynamic_smagorinsky_compute_device ( 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 67 of file dynamic_smagorinsky_device.f90.

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