CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   Fluent UDF and Scheme Programming (http://www.cfd-online.com/Forums/fluent-udf/)
-   -   UDF for multicomponent particle vaporization (http://www.cfd-online.com/Forums/fluent-udf/97102-udf-multicomponent-particle-vaporization.html)

Mohsin February 8, 2012 21:55

UDF for multicomponent particle vaporization
 
I have coal particles surrounded by liquid water (hence multi-component). As soon as the wet coal will enter into the domain, the liquid water will evaporate into vapors and dry coal will exit the domain.


FLUENT’s inbuilt code only supports droplet (1 component) vaporization. Hence, UDF has to be written for multi-component particles. Fortunately, Fluent has provided a UDF code to solve multi-component vaporization in the following link:
http://hpce.iitm.ac.in/website/Manuals/Fluent_6.3/fluent6.3/help/html/udf/node64.htm


However, when I compile and hook the above UDF in DPM model of FLUENT and run the simulation, I get 0 evaporation of water. I think, there is some problem in the code and modifications have to be done in the code, as there is no mentioning of vaporization that should start when “Tp>=vap-temp”

The following is the same UDF code as was seen in the link above but boiling portion is neglected(as there is no boiling in my case). Could anyone please explain what should be added here to get vaporization of water from coal particles?

/************************************************** *********************
UDF for defining the heat and mass transport for
multicomponent particle vaporization
************************************************** *********************/

#include "udf.h"

DEFINE_DPM_HEAT_MASS(multicomponent_vaporization,p ,Cp,hgas,hvap,cvap_surf,Z,dydt,dzdt)
{int ns;
Material *sp;
real dens_total = 0.0; /* total vapor density*/
real P_total = 0.0; /* vapor pressure */
int nc = TP_N_COMPONENTS(p); /* number of particle components */
Thread *t0 = P_CELL_THREAD(p); /* thread where the particle is in */
Material *gas_mix = THREAD_MATERIAL(DPM_THREAD(t0, p)); /* gas mixture material */
Material *cond_mix = P_MATERIAL(p); /* particle mixture material*/
cphase_state_t *c = &(p->cphase); /* cell information of particle location*/
real molwt[MAX_SPE_EQNS]; /* molecular weight of gas species */
real Tp = P_T(p); /* particle temperature */
real mp = P_MASS(p); /* particle mass */
/*..............................................*/
real molwt_bulk = 0.; /* average molecular weight in bulk gas */
real Dp = DPM_DIAM_FROM_VOL(mp / P_RHO(p)); /* particle diameter */
real Ap = DPM_AREA(Dp); /* particle surface */
real Pr = c->sHeat * c->mu / c->tCond; /* Prandtl number */
real Nu = 2.0 + 0.6 * sqrt(p->Re) * pow(Pr, 1./3.); /* Nusselt number */
real h = Nu * c->tCond / Dp; /* Heat transfer coefficient*/
real dh_dt = h * (c->temp - Tp) * Ap; /* heat source term*/
dydt[0] += dh_dt / (mp * Cp);
dzdt->energy -= dh_dt;

mixture_species_loop(gas_mix,sp,ns)
{
molwt[ns] = MATERIAL_PROP(sp,PROP_mwi); /* molecular weight of gas species */
molwt_bulk += c->yi[ns] / molwt[ns];
}
/* prevent division by zero */
molwt_bulk = MAX(molwt_bulk,DPM_SMALL);

for (ns = 0; ns < nc; ns++)
{
int gas_index = TP_COMPONENT_INDEX_I(p,ns); /* average molecular weight */
if( gas_index >= 0 )
{
/* condensed material */
Material * cond_c = MIXTURE_COMPONENT(cond_mix, ns);
/* vaporization temperature */
real vap_temp = MATERIAL_PROP(cond_c,PROP_vap_temp);
/* diffusion coefficient */
real D = MATERIAL_PROP_POLYNOMIAL(cond_c,PROP_binary_diffus ivity, c->temp);
/* Schmidt number */
real Sc = c->mu / ( c->rho * D );
/* mass transfer coefficient */
real k = (2. + 0.6 * sqrt(p->Re) * pow(Sc, 1./3.)) * D / Dp;
/* bulk gas concentration (ideal gas) */
real cvap_bulk = c->pressure / UNIVERSAL_GAS_CONSTANT / c->temp
* c->yi[gas_index] / molwt_bulk/ solver_par.molWeight[gas_index];

/* vaporization rate */
real vap_rate = k * molwt[gas_index] * Ap
* (cvap_surf[ns] - cvap_bulk);

/* no vaporization below vaporization temperature, no condensation*/
if (Tp < vap_temp || vap_rate < 0.0)
vap_rate = 0.;

dydt[1+ns] -= vap_rate;
dzdt->species[gas_index] += vap_rate;
/* dT/dt = dh/dt / (m Cp)*/
dydt[0] -= hvap[gas_index] * vap_rate / ( mp * Cp );
/* gas enthalpy source term */
dzdt->energy += hgas[gas_index] * vap_rate;

P_total += cvap_surf[ns];
dens_total += cvap_surf[ns] * molwt[gas_index];
}
}
}

Sujala September 27, 2012 02:16

Hi, How did u solve this problem. I am also doing CFD simulation of pneumatic dryer. I followed your thread and used the multicomponent droplet (particles + water). And used the UDF Define_DPM_HEAT_MASS. And couldn't see any evaporation. I am student from KNU, south korea.

Mark New April 10, 2014 22:16

multicompotent
 
dear sir ,
i am glad to meet you ,have you solved your problems about the vaporization of water using the UDF? NOW,i also meet the same issue ,canyou help me this <thankyou

Leepox April 11, 2014 11:37

Does anybody know if you can use this DPM to define evaporation of water from coal in a combustion rather than multicomponent particle?


All times are GMT -4. The time now is 11:09.