My Project
programmer's documentation
|
Go to the source code of this file.
Data Structures | |
struct | cs_wall_functions_t |
wall functions descriptor. More... | |
Variables | |
const cs_wall_functions_t * | cs_glob_wall_functions |
void const cs_lnum_t *const | ifac |
void const cs_lnum_t *const const cs_real_t *const | viscosity |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const | t_visc |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const | vel |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const | y |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const | roughness |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const | rnnb |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const | kinetic_en |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_int_t * | iuntur |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_int_t cs_lnum_t * | nsubla |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_int_t cs_lnum_t cs_lnum_t * | nlogla |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_int_t cs_lnum_t cs_lnum_t cs_real_t * | ustar |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_int_t cs_lnum_t cs_lnum_t cs_real_t cs_real_t * | uk |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_int_t cs_lnum_t cs_lnum_t cs_real_t cs_real_t cs_real_t * | yplus |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_int_t cs_lnum_t cs_lnum_t cs_real_t cs_real_t cs_real_t cs_real_t * | ypup |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_int_t cs_lnum_t cs_lnum_t cs_real_t cs_real_t cs_real_t cs_real_t cs_real_t * | cofimp |
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_int_t cs_lnum_t cs_lnum_t cs_real_t cs_real_t cs_real_t cs_real_t cs_real_t cs_real_t * | dplus |
void const cs_real_t *const | prl |
void const cs_real_t *const const cs_real_t *const | prt |
void const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_t * | htur |
void const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_t cs_real_t * | yplim |
enum cs_wall_f_s_type_t |
enum cs_wall_f_type_t |
|
inlinestatic |
|
inlinestatic |
cs_wall_functions_t* cs_get_glob_wall_functions | ( | void | ) |
void CS_PROCF | ( | hturbp | , |
HTURBP | |||
) | const |
void CS_PROCF | ( | wallfunctions | , |
WALLFUNCTIONS | |||
) | const |
|
inlinestatic |
Log law: piecewise linear and log, with one velocity scale based on the friction.
[in] | ifac | face number |
[in] | l_visc | kinematic viscosity |
[in] | vel | wall projected cell center velocity |
[in] | y | wall distance |
[out] | iuntur | indicator: 0 in the viscous sublayer |
[out] | nsubla | counter of cell in the viscous sublayer |
[out] | nlogla | counter of cell in the log-layer |
[out] | ustar | friction velocity |
[out] | uk | friction velocity |
[out] | yplus | dimensionless distance to the wall |
[out] | ypup | yplus projected vel ratio |
[out] | cofimp | to ensure a good turbulence production |
|
inlinestatic |
Power law: Werner & Wengle.
[in] | l_visc | kinematic viscosity |
[in] | vel | wall projected cell center velocity |
[in] | y | wall distance |
[out] | iuntur | indicator: 0 in the viscous sublayer |
[out] | nsubla | counter of cell in the viscous sublayer |
[out] | nlogla | counter of cell in the log-layer |
[out] | ustar | friction velocity |
[out] | uk | friction velocity |
[out] | yplus | dimensionless distance to the wall |
[out] | ypup | yplus projected vel ratio |
[out] | cofimp | to ensure a good turbulence production |
|
inlinestatic |
Continuous law of the wall between the linear and log law, with two velocity scales based on the friction and the turbulent kinetic energy. Can be used with RANS model either in high Reynolds or in low Reynolds (if the underlying RANS model is compatible).
[in] | rnnb | |
[in] | l_visc | kinematic viscosity |
[in] | t_visc | turbulent kinematic viscosity |
[in] | vel | wall projected cell center velocity |
[in] | y | wall distance |
[in] | kinetic_en | turbulent kinetic energy |
[out] | iuntur | indicator: 0 in the viscous sublayer |
[out] | nsubla | counter of cell in the viscous sublayer |
[out] | nlogla | counter of cell in the log-layer |
[out] | ustar | friction velocity |
[out] | uk | friction velocity |
[out] | yplus | dimensionless distance to the wall |
[out] | ypup | yplus projected vel ratio |
[out] | cofimp | to ensure a good turbulence production |
|
inlinestatic |
Log law: piecewise linear and log, with two velocity scales based on the friction and the turbulent kinetic energy.
[in] | l_visc | kinematic viscosity |
[in] | t_visc | turbulent kinematic viscosity |
[in] | vel | wall projected cell center velocity |
[in] | y | wall distance |
[in] | kinetic_en | turbulent kinetic energy |
[out] | iuntur | indicator: 0 in the viscous sublayer |
[out] | nsubla | counter of cell in the viscous sublayer |
[out] | nlogla | counter of cell in the log-layer |
[out] | ustar | friction velocity |
[out] | uk | friction velocity |
[out] | yplus | dimensionless distance to the wall |
[out] | ypup | yplus projected vel ratio |
[out] | cofimp | to ensure a good turbulence production |
|
inlinestatic |
Scalable wall function: shift the wall if .
[in] | l_visc | kinematic viscosity |
[in] | t_visc | turbulent kinematic viscosity |
[in] | vel | wall projected cell center velocity |
[in] | y | wall distance |
[in] | kinetic_en | turbulent kinetic energy |
[out] | iuntur | indicator: 0 in the viscous sublayer |
[out] | nsubla | counter of cell in the viscous sublayer |
[out] | nlogla | counter of cell in the log-layer |
[out] | ustar | friction velocity |
[out] | uk | friction velocity |
[out] | yplus | dimensionless distance to the wall |
[out] | dplus | dimensionless shift to the wall for scalable wall functions |
[out] | ypup | yplus projected vel ratio |
[out] | cofimp | to ensure a good turbulence production |
|
inlinestatic |
Two velocity scales wall function with automatic switch from rough to smooth.
is computed as follows:
with .
[in] | l_visc | kinematic viscosity |
[in] | t_visc | turbulent kinematic viscosity |
[in] | vel | wall projected cell center velocity |
[in] | y | wall distance |
[in] | roughness | roughness |
[in] | kinetic_en | turbulent kinetic energy |
[out] | iuntur | indicator: 0 in the viscous sublayer |
[out] | nsubla | counter of cell in the viscous sublayer |
[out] | nlogla | counter of cell in the log-layer |
[out] | ustar | friction velocity |
[out] | uk | friction velocity |
[out] | yplus | dimensionless distance to the wall |
[out] | dplus | dimensionless shift to the wall for scalable wall functions |
[out] | ypup | yplus projected vel ratio |
[out] | cofimp | to ensure a good turbulence production |
|
inlinestatic |
Two velocity scales wall function using Van Driest mixing length.
is computed as follows:
with standing for Van Driest mixing length:
.
A polynome fitting the integral is used for , and a log law is used for .
A wall roughness can be taken into account in the mixing length as proposed by Rotta (1962) with Cebeci & Chang (1978) correlation.
[in] | rnnb | |
[in] | l_visc | kinematic viscosity |
[in] | vel | wall projected cell center velocity |
[in] | y | wall distance |
[in] | kinetic_en | turbulent kinetic energy |
[out] | iuntur | indicator: 0 in the viscous sublayer |
[out] | nsubla | counter of cell in the viscous sublayer |
[out] | nlogla | counter of cell in the log-layer |
[out] | ustar | friction velocity |
[out] | uk | friction velocity |
[out] | yplus | dimensionless distance to the wall |
[out] | ypup | yplus projected vel ratio |
[out] | cofimp | to ensure a good turbulence production |
[in] | lmk | dimensionless mixing length |
[in] | kr | wall roughness |
[in] | wf | enable full wall function computation, if false, uk is not recomputed and uplus is the only output |
|
inlinestatic |
No wall function.
[in] | l_visc | kinematic viscosity |
[in] | t_visc | turbulent kinematic viscosity |
[in] | vel | wall projected cell center velocity |
[in] | y | wall distance |
[out] | iuntur | indicator: 0 in the viscous sublayer |
[out] | nsubla | counter of cell in the viscous sublayer |
[out] | nlogla | counter of cell in the log-layer |
[out] | ustar | friction velocity |
[out] | uk | friction velocity |
[out] | yplus | dimensionless distance to the wall |
[out] | dplus | dimensionless shift to the wall for scalable wall functions |
[out] | ypup | yplus projected vel ratio |
[out] | cofimp | to ensure a good turbulence production |
|
inlinestatic |
The correction of the exchange coefficient is computed thanks to a similarity model between dynamic viscous sub-layer and themal sub-layer.
is computed as follows:
The final exchange coefficient is:
[in] | prl | laminar Prandtl number |
[in] | prt | turbulent Prandtl number |
[in] | yplus | dimensionless distance to the wall |
[out] | dplus | dimensionless shift to the wall for scalable wall functions |
[out] | htur | corrected exchange coefficient |
[out] | yplim | value of the limit for |
|
inlinestatic |
The correction of the exchange coefficient is computed thanks to a numerical integration of:
with as assumed in the derivation of the two scales wall function using Van Driest mixing length. Therefore is taken.
Notice that we integrate up to (YP100), beyond that value the profile is prolonged by a logarithm relying on the fact that beyond .
[in] | prl | molecular Prandtl number ( ) |
[in] | prt | turbulent Prandtl number ( ) |
[in] | yplus | dimensionless distance to the wall |
[out] | htur | corrected exchange coefficient |
void cs_wall_functions_scalar | ( | cs_wall_f_s_type_t | iwalfs, |
cs_real_t | prl, | ||
cs_real_t | prt, | ||
cs_real_t | yplus, | ||
cs_real_t | dplus, | ||
cs_real_t * | htur, | ||
cs_real_t * | yplim | ||
) |
Compute the correction of the exchange coefficient between the fluid and the wall for a turbulent flow.
This is function of the dimensionless distance to the wall .
Then the return coefficient reads:
[in] | iwalfs | type of wall functions for scalar |
[in] | prl | laminar Prandtl number |
[in] | prt | turbulent Prandtl number |
[in] | yplus | dimensionless distance to the wall |
[in] | dplus | dimensionless distance for scalable wall functions |
[out] | htur | corrected exchange coefficient |
[out] | yplim | value of the limit for |
void cs_wall_functions_velocity | ( | cs_wall_f_type_t | iwallf, |
cs_lnum_t | ifac, | ||
cs_real_t | l_visc, | ||
cs_real_t | t_visc, | ||
cs_real_t | vel, | ||
cs_real_t | y, | ||
cs_real_t | roughness, | ||
cs_real_t | rnnb, | ||
cs_real_t | kinetic_en, | ||
int * | iuntur, | ||
cs_lnum_t * | nsubla, | ||
cs_lnum_t * | nlogla, | ||
cs_real_t * | ustar, | ||
cs_real_t * | uk, | ||
cs_real_t * | yplus, | ||
cs_real_t * | ypup, | ||
cs_real_t * | cofimp, | ||
cs_real_t * | dplus | ||
) |
Compute the friction velocity and / .
[in] | iwallf | wall function type |
[in] | ifac | face number |
[in] | l_visc | kinematic viscosity |
[in] | t_visc | turbulent kinematic viscosity |
[in] | vel | wall projected cell center velocity |
[in] | y | wall distance |
[in] | roughness | roughness |
[in] | rnnb | |
[in] | kinetic_en | turbulent kinetic energy |
[in] | iuntur | indicator: 0 in the viscous sublayer |
[in] | nsubla | counter of cell in the viscous sublayer |
[in] | nlogla | counter of cell in the log-layer |
[out] | ustar | friction velocity |
[out] | uk | friction velocity |
[out] | yplus | non-dimension wall distance |
[out] | ypup | yplus projected vel ratio |
[out] | cofimp | to ensure a good turbulence production |
[out] | dplus | dimensionless shift to the wall for scalable wall functions |
[in] | iwallf | wall function type |
[in] | ifac | face number |
[in] | l_visc | kinematic viscosity |
[in] | t_visc | turbulent kinematic viscosity |
[in] | vel | wall projected cell center velocity |
[in] | y | wall distance |
[in] | roughness | roughness |
[in] | rnnb | |
[in] | kinetic_en | turbulente kinetic energy |
[in] | iuntur | indicator: 0 in the viscous sublayer |
[in] | nsubla | counter of cell in the viscous sublayer |
[in] | nlogla | counter of cell in the log-layer |
[out] | ustar | friction velocity |
[out] | uk | friction velocity |
[out] | yplus | dimensionless distance to the wall |
[out] | ypup | yplus projected vel ratio |
[out] | cofimp | to ensure a good turbulence production |
[out] | dplus | dimensionless shift to the wall for scalable wall functions |
void const cs_lnum_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const cs_int_t cs_lnum_t cs_lnum_t cs_real_t cs_real_t cs_real_t cs_real_t cs_real_t* cofimp |
const cs_wall_functions_t* cs_glob_wall_functions |
void const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const dplus |
void const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const cs_real_t* htur |
void const cs_lnum_t* const ifac |
void const cs_lnum_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const cs_int_t* iuntur |
void const cs_lnum_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const kinetic_en |
void const cs_lnum_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const cs_int_t cs_lnum_t cs_lnum_t* nlogla |
void const cs_lnum_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const cs_int_t cs_lnum_t* nsubla |
void const cs_real_t* const prl |
void const cs_lnum_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const rnnb |
void const cs_lnum_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const roughness |
void const cs_lnum_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const cs_int_t cs_lnum_t cs_lnum_t cs_real_t cs_real_t* uk |
void const cs_lnum_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const cs_int_t cs_lnum_t cs_lnum_t cs_real_t* ustar |
void const cs_lnum_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const vel |
void const cs_lnum_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const y |
void const cs_real_t* const const cs_real_t* const const cs_real_t* const const cs_real_t* const cs_real_t cs_real_t* yplim |