mus_turb_viscosity_module Module

This module assigns function pointer to calculate turbulent viscosity according to turbulence model and scheme definition



Subroutines

public subroutine mus_assign_turbVisc_ptr(turb, schemeHeader)

This routine assigns function pointer to compute turbulence viscosity based on turbulence model and scheme header definition

Arguments

Type IntentOptional Attributes Name
type(mus_turbulence_type), intent(inout) :: turb

turbulence type

type(mus_scheme_header_type), intent(in) :: schemeHeader

Scheme header information

private subroutine mus_turbVisc_fromGradU_dummy(turbVisc, turbConfig, gradData, auxField, velPos, nSolve, nAuxScalars, dxL, dtL, Grad)

Dummy function for turbulent viscosity from Gradu procedure

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(out) :: turbVisc(:)

output: turbulent viscosity

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

turbulence config contains oefficients

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

turbulence coefficients 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

private subroutine mus_turbVisc_fromPreColPDF_dummy(turbVisc, turbConfig, state, neigh, auxField, densPos, velPos, nSize, nSolve, nScalars, nAuxScalars, layout, dxL, dtL, viscKine)

Dummy function to compute turbulent viscosity from PDF

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(out) :: turbVisc(:)

output: turbulent viscosity

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

turbulence type is implicitly passed to access turbulence coefficients

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

state array

integer, intent(in) :: neigh(:)

neigh array to obtain precollision pdf

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

Auxiliary field variable array

integer, intent(in) :: densPos

position of density in auxField

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

position of velocity components in auxField

integer, intent(in) :: nSize

number of elements in state array

integer, intent(in) :: nSolve

Number of element to solve in this level

integer, intent(in) :: nScalars

number of scalars in state array

integer, intent(in) :: nAuxScalars

number of scalars in auxField array

type(mus_scheme_layout_type), intent(in) :: layout

scheme layout

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

current level lattice element size

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

current level lattice time step size

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

Background kinematic viscosity divided by dtL