mus_wall_function_schmitt_module Module

This module contains data types, function and routines for wall function computations relative to Schmitt profile. Ref to following paper for Schmitt three layer equations. Haussmann, M. et al. (2019) ‘Large-eddy simulation coupled with wall models for turbulent channel flows at high Reynolds numbers with a lattice Boltzmann method — Application to Coriolis mass flowmeter’, Computers & Mathematics with Applications. Elsevier Ltd, 78(10), pp. 3285–3302.

author: Gregorio Gerardo Spinelli

Constant parameters for Schmitt's law


Uses

  • module~~mus_wall_function_schmitt_module~~UsesGraph module~mus_wall_function_schmitt_module mus_wall_function_schmitt_module env_module env_module module~mus_wall_function_schmitt_module->env_module module~mus_wall_function_abstract_module mus_wall_function_abstract_module module~mus_wall_function_schmitt_module->module~mus_wall_function_abstract_module module~mus_wall_function_abstract_module->env_module

Used by

  • module~~mus_wall_function_schmitt_module~~UsedByGraph module~mus_wall_function_schmitt_module mus_wall_function_schmitt_module module~mus_turb_wallfunc_module mus_turb_wallFunc_module module~mus_turb_wallfunc_module->module~mus_wall_function_schmitt_module

Variables

Type Visibility Attributes Name Initial
real(kind=rk), public, parameter :: sc_uLmt = 30._rk
real(kind=rk), public, parameter :: sc_lLmt = 5._rk
real(kind=rk), private, parameter :: vonKA = 0.4_rk

Derived Types

extend the abstract subclass mus_wall_function_type

Type-Bound Procedures

procedure, public, nopass :: get_uPlus ../../../../../

function to get uPlus

procedure, public, nopass :: get_d_uPlus_d_uTau ../../../../../

function to apply the newton method


Functions

public pure function get_uTau_subVisousLayer(visc_div_dist, velSW) result(uTau)

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: visc_div_dist

dynamic viscosity divided by vertical distance from the wall

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

velocity stream-wise parallel to wall

Return Value real(kind=rk)

friction velocity

public pure function get_uTau_logLayer(visc_div_dist, velSW) result(uTau)

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: visc_div_dist

dynamic viscosity divided by vertical distance from the wall

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

velocity stream-wise parallel to wall

Return Value real(kind=rk)

friction velocity

private pure function get_uPlus(yPlus) result(uPlus)

function to get uPlus

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: yPlus

yPlus

Return Value real(kind=rk)

private pure function get_d_uPlus_d_uTau(y, uTau, nu) result(d_uPlus_d_uTau)

function to get the derivative of uPlus with respect to uTau

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: y

vertical distance from the wall

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

uTau at iteration n

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

dynamic viscosity

Return Value real(kind=rk)