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



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)

output is uPlus

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)

output is derivative of uPlus with respect to uTau