This routine computes friction velocity from explicit two equation Werner and Wengle wall model. Haussmann, Marc; BARRETO, Alejandro CLARO; KOUYI, Gislain LIPEME; Rivière, Nicolas; Nirschl, Hermann; Krause, Mathias J. (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. In Computers & Mathematics with Applications 78 (10), pp. 3285–3302. DOI: 10.1016/j.camwa.2019.04.033.
The explicit power-law in terms of friction velocity given in Eq. 33 in S. Wilhelm, J. Jacob, and P. Sagaut, "An explicit power-law-based wall model for lattice Boltzmann method–Reynolds-averaged numerical simulations of the flow around airfoils", Physics of Fluids 30, 065111 (2018) https://doi.org/10.1063/1.5031764
The model constants are chosen according to Werner and Wengle: Wengle, H. and Werner, H. (1993) ‘Large-eddy Simulation of Turbulent Flow Over Sharp-edged Obstacles in a Plate Channel’, (1985), pp. 192–199.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(inout) | :: | velTau(:) | Friction velocity computed from wall model. it is inout to provide velTau from previous timestep as initial velTau for fixed-point or Newton iteration solver |
||
real(kind=rk), | intent(in) | :: | velSW(:) | Stream-wise velocity component from which friction velocity is computed |
||
real(kind=rk), | intent(in) | :: | distToBnd(:) | Distance to the boundary in the discrete normai direction |
||
real(kind=rk), | intent(in) | :: | viscKine(:) | Kinematic viscosity |
||
integer, | intent(in) | :: | nElems | Number of elements in input and output arrays |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | iElem | ||||
real(kind=rk), | private | :: | visc_div_dist | ||||
real(kind=rk), | private | :: | fac |