6.3
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;
cs_real_t p_diam = cs_lagr_particle_get_real(particle, p_am, CS_LAGR_DIAMETER);
/*===============================================================================
* 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;
}

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.);
cs_real_t diam = cs_lagr_particle_get_real(particle, p_am, CS_LAGR_DIAMETER);
cs_real_t cp_p = cs_lagr_particle_get_real(particle, p_am, CS_LAGR_CP);
tauc[id_p]= diam * diam * rho_p * cp_p / ( fnus * 6.0 * rho_f * cp_f * k_f);
}
cs_lagr_particle_set_t::p_am
const cs_lagr_attribute_map_t * p_am
Definition: cs_lagr_particle.h:244
cs_lagr_attribute_map_t
Definition: cs_lagr_particle.h:188
dt
@ dt
Definition: cs_field_pointer.h:65
cs_lagr_particle_set_t
Definition: cs_lagr_particle.h:222
cs_real_t
double cs_real_t
Floating-point value.
Definition: cs_defs.h:304
cs_user_lagr_rt_t
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:297
cs_user_lagr_rt
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:253
cs_lnum_t
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:298
cs_lagr_attribute_map_t::extents
size_t extents
Definition: cs_lagr_particle.h:190
cs_lagr_particle_set_t::p_buffer
unsigned char * p_buffer
Definition: cs_lagr_particle.h:246
CS_LAGR_CP
@ CS_LAGR_CP
Definition: cs_lagr_particle.h:149
CS_LAGR_DIAMETER
@ CS_LAGR_DIAMETER
Definition: cs_lagr_particle.h:93
cs_lagr_get_particle_set
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