Implementing Buoyancy effect in the K-Omega Turbulence Model using Segregated Solver
The K omega turbulence model does not include any turbulence generation term due to buoyancy. That term could be important in modeling natural convection with K-Omega.
A source term to the K (turbulence Kinetic energy) equation could be invoked through a DEFINE_SOURCE UDF to include this effect in K omega model.
The UDF is attached below.
/* UDF to compute buoyancy production in tke equation */
/* In order to use UDF, the user must go to TUI and select
yes for "Keep temporary memory from being freed?"
During the first iteration, the temperature gradient will still
not be stored and the error message will be displayed. It should
not appear again.
DEFINE_SOURCE(tke_gb, c0, t0, dS, eqn)
real rho, beta, tke, tdr, mu_t, temp;
real pr_t = M_keprt;
dS[eqn] = 0.0;
source = 0.0;
/* Compute Buoyancy Production */
NV_V(Gravity, =, M_gravity);
rho = C_R(c0,t0);
tke = C_K(c0,t0);
tdr = C_D(c0,t0);
mu_t = C_MU_T(c0,t0);
temp = C_T(c0,t0);
/* This assumes ideal gas behavior. More general
implementation would query beta from the solver */
beta = 1./temp;
prod1 = beta*mu_t/pr_t*NV_DOT(Gravity,C_T_G(c0,t0));
else Message0("Error, temperature gradient not storedn");
source = prod1;
Message0("This udf is NOT VALID for the COUPLED SOLVERn");