
[Sponsors] 
October 18, 2013, 22:02 

#21 
Member
Musango Lungu
Join Date: Dec 2011
Location: China
Posts: 73
Rep Power: 6 
@Mohsen certainly the drag model has not been properly coded meaning the results obtained in the paper are questionable. Did the authors of the paper use the same code? If so bring it to their attention that the code has some errors! i.e. the definition of the particle reynolds number is not correct and the condition for switching to different regimes is missing.


October 19, 2013, 06:48 

#22 
Member
mohsen
Join Date: Sep 2013
Posts: 37
Rep Power: 5 
I read thesis of the paper and in appendix of the thesis that code was written for gidaspow with switch function.and i think that the code has some errors.
thanks a lot for your replies Dear Musa ,You've helped me a lot. I wish the best for you. 

October 19, 2013, 07:09 

#23 
Member
Musango Lungu
Join Date: Dec 2011
Location: China
Posts: 73
Rep Power: 6 
You are welcome buddy!


October 24, 2013, 15:18 

#24 
New Member
temour
Join Date: Sep 2013
Posts: 6
Rep Power: 5 
aoa, i have used this udf for gas solid fluidized bed and gives accurate results now i want to change from gas to liquid(water), tell me what are the changes required to do in code for this, waiting for ur reply
udf for customizing syamlal drag law in Fluent #include "udf.h" #define pi 4.*atan(1.) #define diam2 3.e4 DEFINE_EXCHANGE_PROPERTY(custom_drag, cell, mix_thread, s_col, f_col) { Thread *thread_g, *thread_s; real x_vel_g, x_vel_s, y_vel_g, y_vel_s, abs_v, slip_x, slip_y, rho_g, rho_s, mu_g, reyp, afac, bfac, void_g, vfac, fdrgs, taup, k_g_s; /* find the threads for the gas (primary) */ /* and solids (secondary phases) */ thread_g = THREAD_SUB_THREAD(mix_thread, s_col);/* gas phase */ thread_s = THREAD_SUB_THREAD(mix_thread, f_col);/* solid phase*/ /* find phase velocities and properties*/ x_vel_g = C_U(cell, thread_g); y_vel_g = C_V(cell, thread_g); x_vel_s = C_U(cell, thread_s); y_vel_s = C_V(cell, thread_s); slip_x = x_vel_g  x_vel_s; slip_y = y_vel_g  y_vel_s; rho_g = C_R(cell, thread_g); rho_s = C_R(cell, thread_s); mu_g = C_MU_L(cell, thread_g); /*compute slip*/ abs_v = sqrt(slip_x*slip_x + slip_y*slip_y); /*compute Reynold's number*/ reyp = rho_g*abs_v*diam2/mu_g; /* compute particle relaxation time */ taup = rho_s*diam2*diam2/18./mu_g; void_g = C_VOF(cell, thread_g);/* gas vol frac*/ /*compute drag and return drag coeff, k_g_s*/ afac = pow(void_g,4.14); if(void_g<=0.85) bfac = 0.281632*pow(void_g, 1.28); else bfac = pow(void_g, 9.076960); vfac = 0.5*(afac0.06*reyp+sqrt(0.0036*reyp*reyp+0.12*reyp*(2.*bfacafac)+ afac*afac)); fdrgs = void_g*(pow((0.63*sqrt(reyp)/ vfac+4.8*sqrt(vfac)/vfac),2))/24.0; k_g_s = (1.void_g)*rho_s*fdrgs/taup; return k_g_s; } 

October 24, 2013, 15:20 

#25 
New Member
temour
Join Date: Sep 2013
Posts: 6
Rep Power: 5 
i have used this udf for gas solid fluidized bed and gives accurate results now i want to change from gas to liquid(water), tell me what are the changes required to do in code for this, waiting for ur reply
udf for customizing syamlal drag law in Fluent #include "udf.h" #define pi 4.*atan(1.) #define diam2 3.e4 DEFINE_EXCHANGE_PROPERTY(custom_drag, cell, mix_thread, s_col, f_col) { Thread *thread_g, *thread_s; real x_vel_g, x_vel_s, y_vel_g, y_vel_s, abs_v, slip_x, slip_y, rho_g, rho_s, mu_g, reyp, afac, bfac, void_g, vfac, fdrgs, taup, k_g_s; /* find the threads for the gas (primary) */ /* and solids (secondary phases) */ thread_g = THREAD_SUB_THREAD(mix_thread, s_col);/* gas phase */ thread_s = THREAD_SUB_THREAD(mix_thread, f_col);/* solid phase*/ /* find phase velocities and properties*/ x_vel_g = C_U(cell, thread_g); y_vel_g = C_V(cell, thread_g); x_vel_s = C_U(cell, thread_s); y_vel_s = C_V(cell, thread_s); slip_x = x_vel_g  x_vel_s; slip_y = y_vel_g  y_vel_s; rho_g = C_R(cell, thread_g); rho_s = C_R(cell, thread_s); mu_g = C_MU_L(cell, thread_g); /*compute slip*/ abs_v = sqrt(slip_x*slip_x + slip_y*slip_y); /*compute Reynold's number*/ reyp = rho_g*abs_v*diam2/mu_g; /* compute particle relaxation time */ taup = rho_s*diam2*diam2/18./mu_g; void_g = C_VOF(cell, thread_g);/* gas vol frac*/ /*compute drag and return drag coeff, k_g_s*/ afac = pow(void_g,4.14); if(void_g<=0.85) bfac = 0.281632*pow(void_g, 1.28); else bfac = pow(void_g, 9.076960); vfac = 0.5*(afac0.06*reyp+sqrt(0.0036*reyp*reyp+0.12*reyp*(2.*bfacafac)+ afac*afac)); fdrgs = void_g*(pow((0.63*sqrt(reyp)/ vfac+4.8*sqrt(vfac)/vfac),2))/24.0; k_g_s = (1.void_g)*rho_s*fdrgs/taup; return k_g_s; } 

October 24, 2013, 20:48 

#26 
Member
Musango Lungu
Join Date: Dec 2011
Location: China
Posts: 73
Rep Power: 6 
@ Temour buddy sorry but I do not have any experience with gasliquid fluidized beds!


July 19, 2016, 08:42 

#27  
New Member
adnan
Join Date: Jul 2016
Posts: 3
Rep Power: 2 
Quote:
#include "udf.h" #include "dpm.h" #define ZERO 0.0000001 DEFINE_DPM_DRAG(dpm_gidaspow_drag,Re,p) { Thread *thread_g, *thread_s, *mix_thread; real x_vel_g, x_vel_s, y_vel_g, y_vel_s, abs_v, slip_x, slip_y, rho_g, rho_s, mu_g, dp, reyp, reyp1,void_g, void_s, cd, D; cell_t cell; real left_term; real dragcoefficient; /*find the cell index and thread of the cell that the particle is currently in*/ cell=P_CELL_THREAD(p); mix_thread=THREAD_SUB_THREAD(P_CELL_THREAD(p),0); /* find the threads for the gas (primary) */ thread_g = THREAD_SUB_THREAD(mix_thread,0);/* gas phase thread */ thread_s = THREAD_SUB_THREAD(mix_thread,1);/* solid phase thread */ /* find phase velocities and properties*/ x_vel_g = C_U(cell, thread_g); y_vel_g = C_V(cell, thread_g); x_vel_s=P_VEL(p)[0]; y_vel_s=P_VEL(p)[1]; slip_x = x_vel_g  x_vel_s; slip_y = y_vel_g  y_vel_s; rho_g = C_R(cell, thread_g); /*density*/ rho_s =P_RHO(p); mu_g = C_MU_L(cell, thread_g); /*laminar viscosity*/ dp =P_DIAM(p); /*compute slip*/ abs_v = sqrt(slip_x*slip_x + slip_y*slip_y); /*absolute value of slip velocity*/ void_g = C_VOF(cell, thread_g);/* gas vol frac*/ Message ("Voidage of gas phase %f \n", void_g); void_s = 1void_g;/*particle vol frac*/ /*compute reynolds number*/ reyp =rho_g*abs_v*dp/mu_g; /*no volume fraction???*/ reyp1 = void_g*reyp; if(reyp1<1000) cd=24/reyp1*(1+0.15*pow(reyp1,0.687)); else cd = 0.44; if (void_g <=0.8) { /* Ergun Drag Model */ D = 150.0*void_s*void_s*mu_g/void_g/dp/dp+1.75*void_s*rho_g*abs_v/dp; } else { /* Wen & Yu Model */ D = 0.75*cd*void_g*void_s*rho_g*abs_v/dp/pow(void_g,2.65); } left_term=rho_s*pow(dp,2)/mu_g; dragcoefficient=left_term*D/(abs_v+ZERO); return dragcoefficient; } 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
UDF parallel error: chipexec: function not found?????  shankara.2  Fluent UDF and Scheme Programming  1  January 16, 2012 23:14 
How to add a UDF to a compiled UDF library  kim  FLUENT  3  October 26, 2011 21:38 
Dynamic Mesh UDF  Qureshi  FLUENT  1  December 2, 2009 01:27 
UDF...UDF...UDF...UDF  Luc SEMINEL  FLUENT  0  November 25, 2002 05:03 
UDF, UDF, UDF, UDF  Luc SEMINEL  Main CFD Forum  0  November 25, 2002 05:01 