- **FLUENT**
(*https://www.cfd-online.com/Forums/fluent/*)

- - **electrostatic forces between a large numbers of droplets**
(*https://www.cfd-online.com/Forums/fluent/88545-electrostatic-forces-between-large-numbers-droplets.html*)

electrostatic forces between a large numbers of dropletsHi every body
I want to calculate the electrostatic forces between a large numbers of water droplets dispersed in oil continuum under the electrostatic field. I have used lagrangian frame work in DPM model in fluent 6.3.26. and for electrostatic body forces acting on droplets I have written a UDF code according to Dipole-Dipole interaction model. My UDF searches all particles in the all cells all over the domain to calculate electrostatic forces. But this is very time consuming and for large number of droplets it is not so efficient. Some have suggested using parcel concept in this case but I don’t know how I can use parcels concept in my UDF to reduce run time. If anybody has suggestion in this case or any suggestion that help me I will be very thankful. This is my UDF code: /* UDF for computing the electric force on particles in all cells of a domain */ #include "udf.h" #include "mem.h" #include "dpm.h" #include "surf.h" #include "stdio.h" #define epsoil 2.2 /* epsilon for oil */ #define E0 25 /* electric background field,v/m */ #define beta 0.9934 #define M_PI 3.14159265358979323846 DEFINE_DPM_BODY_FORCE(particle_body_force,p,i) { double bforce,Fr,Ft,d2,d1,s,tet,k1,k2,m; /* get the cell and Thread that the particle is currently in */ cell_t c; Thread *t; Domain *d; /* Particle index for looping over all particles in the cell */ Particle *pi; /* loop over all particles in all cells of domain to find their position and diameter */ int ii; double p1[2],p2[2]; Fr=0; Ft=0; bforce=0; d = Get_Domain(1); /* mixture domain if multiphase */ for(ii=0;ii<2;ii++) {p1[ii]= p->state.pos[ii]; } d1 = P_DIAM(p); m=P_MASS(p); thread_loop_c(t,d) /*loops over all cell threads in domain*/ { begin_c_loop(c,t) /* loops over cells in a cell thread */ { begin_particle_cell_loop(pi,c,t) { for(ii=0;ii<2;ii++) { p2[ii]=pi->state.pos[ii]; } d2=pi->state.diam; s=sqrt(pow(p1[0]-p2[0],2)+pow(p1[1]-p2[1],2)); if (s > (d1/2+d2/2)) { tet=atan((p2[1]-p1[1])/(p2[0]-p1[0])); Fr=12*M_PI*pow(beta,2)*epsoil*pow(E0,2)*pow(d1/2,3)*pow(d2/2,3)*(3*k1*pow(cos(tet),2)-1)/pow(s,4); Ft=(1)*12*M_PI*pow(beta,2)*epsoil*pow(E0,2)*pow(d1/2,3)*pow(d2/2,3)*k2*sin(2*tet)/pow(s,4); if(i==0) bforce+=((1)*Fr*cos(tet)+(1)*Ft*cos(M_PI/2+tet)); else if(i==1) bforce+=((-1)*Fr*sin(tet)+(-1)*Ft*sin(M_PI/2+tet)); } } end_particle_cell_loop(pi,c,t) } end_c_loop(c,t) }/*end of thread_loop_c(t,d)*/ return (bforce/m); } |

hi,
I have the similar problem, I want to simulate a single droplet of water in air under the effect of electrostatic force. could u please guide me through this ? I am not familiar enough with the UDF in fluent? Mamnoonam |

Hi
alighaffari,Did you get how to compute paricles in parcel method, if so could you please share itJohn |

Hi oghazian
It is not so difficult to use UDF for your case study. But you should first determine your problem model clearly. It is necessary to know if your electric field is homogenous or inhomogeneous. If your droplet is a charged type or net. And so on…. |

Hi john
I could not find any solution to track droplets using parcel concept so I am coping with long run time. |

Some injection type allows a setup for using parcel.
Then the calculation was based on "parcel," not "particle," in my experience. |

All times are GMT -4. The time now is 02:35. |