انجمن تخصصی مهندسین مکانیک
سوال udf - نسخه‌ی قابل چاپ

+- انجمن تخصصی مهندسین مکانیک (http://forum.semeng.ir)
+-- انجمن: نرم افزار های مهندسی مکانیک (http://forum.semeng.ir/forum-11.html)
+--- انجمن: Fluent (http://forum.semeng.ir/forum-178.html)
+---- انجمن: سوالات ومشکلات (http://forum.semeng.ir/forum-180.html)
+---- موضوع: سوال udf (/thread-7907.html)



udf - ghasedak89 - 06-08-2015

سلام وقت همگی بخیر میبخشید کسی میتونه بهم کمک کنه udf چگالش میخام.تبدیل بخار آب به مایع و بخار
اگ زودتر جواب بدید ممنون میشم


RE: udf - p9990 - 10-19-2016

چرا اینجا کسی راهنمایی نمیکنه؟
منم تو این مورد نیاز به کمک دارم
لطفا راهنمایی کنید و یا در صورت امکان برای انجامش و هزینش بهم پیغام بدین

ممنون


RE: udf - iraj72 - 10-22-2016

فک کنم این بشه
DEFINE_DPM_LAW(Boiling_sree, p, ci)
{
double cp_gas, vap_rate_const, latent_heat;
double temp_diff,term,dia_ratio;
double fv = DPM_VOLATILE_FRACTION(p);
double diam_dry = 0;
cphase_state_t *c = &(p->cphase);
double qrad = 0.0;
Material *m = p->injection->material;
double min_liquid_mass = P_INIT_MASS(p)*(1.0 - DPM_VOLATILE_FRACTION(p));
double liq_mass = PI*(pow(P_INIT_DIAM(p),3)/6.0)*(1.0 - P_INIT_LF(p))*MATERIAL_PROP(p->injection->material,PROP_rho);

law = 3;

vapor_on = FALSE;
boil_on = TRUE;
/* Message (" ****Control is in Boiling: %16.8g, liquid mass:%16.8g, law: %i\n",liq_mass,min_liquid_mass,law); */
if (P_MASS(p) <= liq_mass)
{
if (ci) AddSources(p);
p->current_law_index++;
HeatMassUpdate(p,ci);
vapor_on = FALSE;
return;
}

if (DPM_WET_COMBUSTION(p))
{
m = p->injection->evaporating_material;
diam_dry = P_INIT_DIAM(p) * pow(1.-P_INIT_LF(p),1./3.);
}
else
{
if (fv < 1.)
diam_dry = P_INIT_DIAM(p) * pow(1.-fv,1./3.);
}
/* Message (" ****diam dry: %16.8g, org dia:%16.8g\n",diam_dry,P_DIAM(p)); */
latent_heat = MAX(1.e-20,MATERIAL_PROP(m,PROP_latent_heat));
if (ABS(latent_heat) < 1.e-20)
latent_heat = 1.e-20;
cp_gas = c->sHeat;
/*Message (" ****Cp gas: %16.8g\n",cp_gas); */
if (cp_gas < DPM_SMALL) cp_gas = DPM_SMALL;

temp_diff = c->temp-P_T(p);
if (temp_diff < 0.) temp_diff = 0.;
/* Message (" ****temp_diff: %16.8g, c->temp:%16.8g\n",temp_diff,c->temp); */

if (dpm_par.radiation_p)
{
qrad = DPM_EMISSIVITY(p,P_MATERIAL(p))*(.25*c->G - SIGMA_SBC*pow(P_T(p),4.));
}

/*Message (" ****q_rad_default: %16.8g, q_rad: %16.8g, time_step: %16.8fl \n",qrad, qrad1,p->time_step); */

if (qrad < 1.e-9)
{
/*Message("it is true\n");*/
vap_rate_const = 8. * c->tCond / (P_RHO(p)*cp_gas)* log(1. + cp_gas*temp_diff/latent_heat);
term = P_DIAM(p)*P_DIAM(p) - vap_rate_const*(1. + 0.23*sqrt(p->Re)) * p->time_step;
P_DIAM(p) = (term > 0.) ? sqrt(term) : diam_dry;
}
else
{
/*Message("it is false\n");*/
real ku = 2.0 + 0.46*sqrt(p->Re);
real alpha = 2.*qrad/(P_RHO(p)*latent_heat);
vap_rate_const = c->tCond * temp_diff * ku;
term = P_DIAM(p) - (vap_rate_const + qrad*P_DIAM(p))*alpha*p->time_step / MAX(qrad*P_DIAM(p),DPM_SMALL);
P_DIAM(p) = (term > 0.) ? term : diam_dry;
/*Message("term: %16.8g, diam: %16.8g\n", term, P_DIAM(p));*/
}

if (DPM_WET_COMBUSTION(p))
{
P_DIAM(p) = MAX(P_DIAM(p), diam_dry);
P_LF(p) = MAX(0., 1.0 - diam_dry*diam_dry*diam_dry /(P_DIAM(p)*P_DIAM(p)*P_DIAM(p)));
P_RHO(p) = P_LF(p) * MATERIAL_PROP(p->injection->evaporating_material,PROP_rho) +
(1.-P_LF(p)) * MATERIAL_PROP(p->injection->material,PROP_rho);
P_MASS(p) = P_RHO(p) * PI * P_DIAM(p)*P_DIAM(p)*P_DIAM(p) / 6.;
}
else
{
dia_ratio = P_DIAM(p)/P_INIT_DIAM(p);
P_MASS(p) = P_INIT_MASS(p) * dia_ratio*dia_ratio*dia_ratio;
}

/*Message (" P_Mass:%16.8g, Liquid_fraction:%16.8g \n",P_MASS(p),P_LF(p));*/
}