#include "udf.h" #include "sg_film.h" real hvap = 1504900; real heat_flux = 983443; real n = 0.111; real ke = 0.000479; real rhovap = 36.525; real rholiq = 739.72; real dh = 0.014; real r = 0.007; real muliq = 0.000091249; real Ref_crit = 320; real sigma = 0.017633; real p_diam = 0.0003; DEFINE_PROFILE(film_mass_source,tf,i) { real film_thickness, film_vel, vap_vel, Jf, Jg, fi, Ref, area_face, area[ND_ND], pos[ND_ND], r1, angle, x_inj, y_inj, z_inj, evap_mass_source, evap_mom_source, ent_mass_source; real flow_time = CURRENT_TIME; face_t f; cell_t c; Thread *tc; begin_f_loop(f,tf) { film_thickness = F_EFILM_HEIGHT(f,tf); film_vel = F_EFILM_W(f,tf); c = F_C0(f,tf); tc = THREAD_T0(tf); vap_vel = C_W(c,tc); Jf = 4*film_vel*film_thickness/dh; Jg = vap_vel; fi = 0.005*(1+300*(film_thickness/dh)); Ref = (rholiq*Jf*dh)/muliq; if (flow_time >= 1.5 && Ref > Ref_crit) ent_mass_source =((ke*rholiq*fi*rhovap*Jg*Jg*film_thickness)/sigma)*pow(rholiq/rhovap,n); else ent_mass_source = 0.0; if (flow_time >= 1) evap_mass_source = heat_flux/hvap; else evap_mass_source = 0.0; evap_mom_source = evap_mass_source*film_vel; F_AREA(area,f,tf); area_face = NV_MAG(area); F_CENTROID(pos,f,tf); r1 = r-5*film_thickness; angle= acos(pos[0]/r); x_inj = r1*cos(angle); y_inj = r1*sin(angle); z_inj = pos[2]; C_UDMI(c,tc,0) = evap_mass_source; C_UDMI(c,tc,1) = evap_mass_source*area_face; C_UDMI(c,tc,2) = evap_mom_source; C_UDMI(c,tc,3) = evap_mom_source*area_face; C_UDMI(c,tc,4) = ent_mass_source; C_UDMI(c,tc,5) = ent_mass_source*area_face; C_UDMI(c,tc,6) = x_inj; C_UDMI(c,tc,7) = y_inj; C_UDMI(c,tc,8) = z_inj; F_PROFILE(f,tf,i) = -(ent_mass_source+evap_mass_source); } end_f_loop(f,tf) } DEFINE_DPM_INJECTION_INIT(entrainment_inj,I) { Particle *p; cell_t c; Thread *tc; loop(p,I->p_init) { c = P_CELL(p); tc = P_CELL_THREAD(p); P_POS(p)[0]=C_UDMI(c,tc,6); P_POS(p)[1]=C_UDMI(c,tc,7); P_POS(p)[2]=C_UDMI(c,tc,8); P_FLOW_RATE(p)= C_UDMI(c,tc,5); P_DIAM(p)=p_diam; P_VEL(p)[0]=C_U(c,tc); P_VEL(p)[1]=C_V(c,tc); P_VEL(p)[2]=C_W(c,tc); C_UDMI(c,tc,9)=C_U(c,tc); C_UDMI(c,tc,10)=C_V(c,tc); C_UDMI(c,tc,11)=C_W(c,tc); } } DEFINE_SOURCE(vapor_mass_source,c,tc,dS,eqn) { real vol_cell,evap_mass_source; vol_cell = C_VOLUME(c,tc); evap_mass_source = C_UDMI(c,tc,1)/vol_cell; return evap_mass_source; } DEFINE_SOURCE(vapor_mom_source,c,tc,dS,eqn) { real vol_cell,evap_mom_source; vol_cell = C_VOLUME(c,tc); evap_mom_source = C_UDMI(c,tc,3)/vol_cell; return evap_mom_source; } DEFINE_PROFILE(z_film_mom_source,tf,i) { face_t f; cell_t c; Thread *tc; real drop_vel, ent_flux; begin_f_loop(f,tf) { c = F_C0(f,tf); tc = THREAD_T0(tf); drop_vel = C_UDMI(c,tc,11); ent_flux = C_UDMI(c,tc,4); F_PROFILE(f,tf,i)= -(C_UDMI(c,tc,2)+ent_flux*drop_vel); } end_f_loop(f,tf) } DEFINE_PROFILE(y_film_mom_source,tf,i) { face_t f; cell_t c; Thread *tc; real drop_vel, ent_flux; begin_f_loop(f,tf) { c = F_C0(f,tf); tc = THREAD_T0(tf); drop_vel = C_UDMI(c,tc,10); ent_flux = C_UDMI(c,tc,4); F_PROFILE(f,tf,i)= -ent_flux*drop_vel; } end_f_loop(f,tf) } DEFINE_PROFILE(x_film_mom_source,tf,i) { face_t f; cell_t c; Thread *tc; real drop_vel, ent_flux; begin_f_loop(f,tf) { c = F_C0(f,tf); tc = THREAD_T0(tf); drop_vel = C_UDMI(c,tc,9); ent_flux = C_UDMI(c,tc,4); F_PROFILE(f,tf,i)= -ent_flux*drop_vel; } end_f_loop(f,tf) }