There are currently no dedicated user files that enables the user to prescribe user defined wall functions.
It is however possible to modify a wall function or even to add one through sources.
Wall boundary conditions are set in the clptur.f90 file that you 'll find in the src/base directory.
Boundary conditions for the turbulent quantities (
) are defined in this routine for each turbulence model.
Turbulence model in the sources are set through the keyword iturb and itytur = iturb / 10.
In your case, the
corresponds to iturb = 20 or 21 (depending if you selected Linear Production or not) and itytur = 2. Looking for tests on those criteria will guide you straight to those BCs.
In this file you'll also find a call to the wall function subroutine
Code: Select all
call wallfunctions &
( iwallf, ifac , &
xnuii , xnuit , utau , distbf, roughness, rnnb, ek, &
iuntur, nsubla, nlogla, &
uet , uk , yplus , ypup , cofimp, dplus )
This routine, described in the cs_wallfunctions.c and cs_wallfunctions.h files of the src/base directory, set the boundary conditions for the velocity with or without wall functions. The keyword iwallf passed as an argument contains the information on which wall function should be used :
= 0: no wall functions
= 1: one scale friction velocities (power law)
= 2: one scale friction velocities (log law)
= 3: two scales friction velocities (log law)
= 4: two scales friction velocities (scalable wall functions)
= 5: two scales friction velocities (based on V. Driest analysis)
= 6: two scales rough/smooth wall functions
At this stage, you can either add your own wall function by adding an other routine/iwallf or directly modify the routine you are using (for example if you're using two scales friction velocities - default ones for k-eps models, iwallf = 3 - directly modify the corresponding routine in the cs_wallfunctions.h file).