mus_turbVisc_Smagorinsky_fromGradU2D Subroutine

public subroutine mus_turbVisc_Smagorinsky_fromGradU2D(turbVisc, turbConfig, gradData, auxField, velPos, nSolve, nAuxScalars, dxL, dtL, Grad)

Calculate eddy viscosity with smagorinsky model for compressible model using gradient of velocity for 2D layout


real(kind=rk), intent(out) :: turbVisc(:)

output: turbulent viscosity

type(mus_turbulence_config_type), intent(in) :: turbConfig

Contains turbulenct coefficients

type(mus_gradData_type), intent(in) :: gradData

gradient data

real(kind=rk), intent(in) :: auxField(:)

Auxiliary field variable array

integer, intent(in) :: velPos(3)

position of velocity components in auxField

integer, intent(in) :: nSolve

Number of element to solve in this level

integer, intent(in) :: nAuxScalars

number of scalars in auxField array

real(kind=rk), intent(in) :: dxL

current level lattice element size

real(kind=rk), intent(in) :: dtL

current level lattice time step size

type(mus_Grad_type), intent(in) :: Grad

Object that contains pointers to calculate gradients



integer, private :: iElem
real(kind=rk), private :: SR(3)
real(kind=rk), private :: devSR(2)
real(kind=rk), private :: oneHalf_trSR
real(kind=rk), private :: devSR_SR
real(kind=rk), private :: tr_devSR
real(kind=rk), private :: sqrt_k_sgs
real(kind=rk), private :: visc_coeff
real(kind=rk), private :: a
real(kind=rk), private :: b
real(kind=rk), private :: c
real(kind=rk), private :: gradU(2,2,vlen)

gradient of velocity

integer, private :: nChunks
integer, private :: iChunks
integer, private :: nChunkElems
integer, private :: low_bound
integer, private :: elemPos