8.0
general documentation
Particle relaxation time and thermal relaxtion for the Lagrangian model

Calculation of the particle relaxation time

Modification of the calculation of the particle relaxation time with respect to the chosen formulation for the drag coefficient

This function is called in a loop on the particles, so be careful to avoid too costly operations.

$ \tau_c = \frac{m_p{C_p}_p}{PId_p^2h_e} $

$ \tau_c $ : Thermal relaxation time (value to be computed)

$ m_p $ : Particle mass

$ {C_p}_p $ : Particle specific heat

d_p : Particle diameter

h_e : Coefficient of thermal exchange

The coefficient of thermal exchange is calculated from a Nusselt number, itself evaluated by a correlation (Ranz-Marshall by default)

$ \nu = \frac{h_ed_p}{\lambda} = 2 + 0.55{\Re_e}_p^{0.5}P_{rt}^{0.33} $

$ \lambda $ : Thermal conductivity of the carrier field

$ {\Re_e}_p $ : Particle Reynolds number

P_{rt} : Prandtl number

In the next example we compute the relaxation time with two different formulations of the drag coefficient:

void
cs_real_t re_p,
cs_real_t uvwr,
cs_real_t rho_f,
cs_real_t rho_p,
cs_real_t nu_f,
cs_real_t taup[],
const cs_real_t dt[])
{
/* Particles management */
const cs_lagr_attribute_map_t *p_am = p_set->p_am;
unsigned char *particle = p_set->p_buffer + p_am->extents * id_p;
/*===============================================================================
* Relaxation time with the standard (Wen-Yu) formulation of the drag coefficient
*===============================================================================*/
/* This example gives the standard relaxation time as an indication:*/
cs_real_t fdr;
cs_real_t cd1 = 0.15;
cs_real_t cd2 = 0.687;
if (re_p <= 1000)
fdr = 18.0 * nu_f * (1.0 + cd1 * pow(re_p, cd2)) / (p_diam * p_diam);
else
fdr = (0.44 * 3.0 / 4.0) * uvwr / p_diam;
taup[id_p] = rho_p / rho_f / fdr;
/*===============================================================================
* Computation of the relaxation time with the drag coefficient of
* S.A. Morsi and A.J. Alexander, J. of Fluid Mech., Vol.55, pp 193-208 (1972)
*===============================================================================*/
cs_real_t rec1 = 0.1;
cs_real_t rec2 = 1.0;
cs_real_t rec3 = 10.0;
cs_real_t rec4 = 200.0;
cs_real_t dd2 = p_diam * p_diam;
if (re_p <= rec1)
fdr = 18.0 * nu_f / dd2;
else if (re_p <= rec2)
fdr = 3.0/4.0 * nu_f / dd2 * (22.73 + 0.0903 / re_p + 3.69 * re_p);
else if (re_p <= rec3)
fdr = 3.0/4.0 * nu_f / dd2 * (29.1667 - 3.8889 / re_p + 1.222 * re_p);
else if (re_p <=rec4)
fdr = 18.0 * nu_f / dd2 *(1.0 + 0.15 * pow(re_p, 0.687));
else
fdr = (0.44 * 3.0 / 4.0) * uvwr / p_diam;
taup[id_p] = rho_p / rho_f / fdr;
}
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
@ dt
Definition: cs_field_pointer.h:65
cs_lagr_particle_set_t * cs_lagr_get_particle_set(void)
Return pointer to the main cs_lagr_particle_set_t structure.
Definition: cs_lagr_particle.c:1153
@ CS_LAGR_DIAMETER
Definition: cs_lagr_particle.h:93
static cs_real_t cs_lagr_particle_get_real(const void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr)
Get attribute value of type cs_real_t of a given particle in a set.
Definition: cs_lagr_particle.h:1241
void cs_user_lagr_rt(cs_lnum_t id_p, cs_real_t re_p, cs_real_t uvwr, cs_real_t rho_f, cs_real_t rho_p, cs_real_t nu_f, cs_real_t taup[], const cs_real_t dt[])
Modification of the calculation of the particle relaxation time with respect to the chosen formulatio...
Definition: cs_user_lagr_particle.c:239
Definition: cs_lagr_particle.h:188
size_t extents
Definition: cs_lagr_particle.h:190
Definition: cs_lagr_particle.h:222
unsigned char * p_buffer
Definition: cs_lagr_particle.h:246
const cs_lagr_attribute_map_t * p_am
Definition: cs_lagr_particle.h:244

Computation of the thermal relaxation time of the particles

Modification of the computation of the thermal relaxation time of the particles with respect to the chosen formulation of the Nusselt number.

This function is called in a loop on the particles, so be careful to avoid too costly operations.

void
cs_real_t re_p,
cs_real_t uvwr,
cs_real_t rho_f,
cs_real_t rho_p,
cs_real_t nu_f,
cs_real_t cp_f,
cs_real_t k_f,
cs_real_t tauc[],
const cs_real_t dt[])
{
/* 1. Initializations: Particles management */
const cs_lagr_attribute_map_t *p_am = p_set->p_am;
unsigned char *particle = p_set->p_buffer + p_am->extents * id_p;
/* 2. Standard thermal relaxation time */
/* This example gives the standard thermal relaxation time
* as an indication.*/
cs_real_t prt = nu_f / k_f;
cs_real_t fnus = 2.0 + 0.55 * sqrt(re_p) * pow(prt, 1./3.);
tauc[id_p]= diam * diam * rho_p * cp_p / ( fnus * 6.0 * rho_f * cp_f * k_f);
}
@ CS_LAGR_CP
Definition: cs_lagr_particle.h:149
void cs_user_lagr_rt_t(cs_lnum_t id_p, cs_real_t re_p, cs_real_t uvwr, cs_real_t rho_f, cs_real_t rho_p, cs_real_t nu_f, cs_real_t cp_f, cs_real_t k_f, cs_real_t tauc[], const cs_real_t dt[])
Modification of the calculation of the thermal relaxation time of the particles with respect to the c...
Definition: cs_user_lagr_particle.c:283