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.


#include "udf.h"
#include "sg.h"
#include "models.h"

/* 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?"
in /solve/set/expert

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 prod1,source;

real pr_t = M_keprt;
real Gravity[ND_ND];

dS[eqn] = 0.0;
source = 0.0;

/* Compute Buoyancy Production */
if(rp_seg){
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;

if(NNULLP(T_STORAGE_R_NV(t0, SV_T_G)))
{
prod1 = beta*mu_t/pr_t*NV_DOT(Gravity,C_T_G(c0,t0));
}
else Message0("Error, temperature gradient not storedn");

source = prod1;
}
else
{
Message0("This udf is NOT VALID for the COUPLED SOLVERn");
}

return source;
}





Show Form
No comments yet. Be the first to add a comment!