# UDF Boundary Condition

 Register Blogs Members List Search Today's Posts Mark Forums Read

 November 3, 2003, 04:50 UDF Boundary Condition #1 Victor Guest   Posts: n/a Hello! I need to create two UDF boundary conditions at an interface; one for the flux and one for the scalar. I´m actually looking at a mass transfer problem but in order to get some feedback I have begun with a temperature problem and compared my result with the one obtained using FLUENTS built-in functions. The UDF code is as follows: /*B.C. Solidface q = -k*(dT/ds)**********************/ DEFINE_PROFILE(Diff_Flux, t, i) { face_t f; cell_t c1; Thread *t1; real xc[ND_ND], xf[ND_ND], grad, dn; begin_f_loop(f,t) { c1 = F_C1(f,t); t1 = THREAD_T1(t); C_CENTROID(xc,c1,t1); F_CENTROID(xf,f,t); dn = sqrt(ND_SUM(pow(xc[0]-xf[0],2.),pow(xc[1]-xf[1],2.),pow(xc[2]-xf[2],2.))); grad = (F_T(f,t)-C_T(c1,t1))/dn; F_PROFILE(f,t,i) = -0.0242*grad; } end_f_loop(f,t) } /************************************************** **/ /*B.C. Bulkface Tbulkface = Tsolidface***************/ DEFINE_PROFILE(T_bulkface,t,i) { face_t fbulk, fsolid; Domain *doma; Thread *tsolid; real xfbulk[ND_ND], xfsolid[ND_ND]; int ID; doma = Get_Domain(1); ID = 10; /*Zone ID for the solid face*/ tsolid = Lookup_Thread(doma,ID); begin_f_loop(fbulk,t) { F_CENTROID(xfbulk,fbulk,t); begin_f_loop(fsolid,tsolid) { F_CENTROID(xfsolid,fsolid,tsolid); if (xfsolid[0]==xfbulk[0] && xfsolid[1]==xfbulk[1] && xfsolid[2]==xfbulk[2]) { F_PROFILE(fbulk,t,i) = F_T(fsolid,tsolid); } } end_f_loop(fsolid,tsolid) } end_f_loop(fbulk,t) } /************************************************** **/ This UDF is working fine with one exception. My problem is that FLUENT in every iteration make use of the boundary condition for the scalar (i.e. Tbulkface = Tsolidface) before the boundary condition for the flux (i.e. q = -k*(dT/ds)). I want it to be the other way around! So my question is: How can I force FLUENT to first make use of the boundary condition for the flux and then the one for the scalar? If anybody knows the answer or at least have some suggestion, please share it with me! Thanks! /Victor

 November 6, 2003, 10:47 Re: UDF Boundary Condition #2 Ajay Rao Guest   Posts: n/a Instead of using two UDF's ,you could merge both in one. Use the one name have "two" FACE_LOOP's first one apply q = -k*(dT/ds) in the next face_loop apply Tbulkface = Tsolidface Regards, Ajay

 November 6, 2003, 11:37 Re: UDF Boundary Condition #3 Victor Guest   Posts: n/a Thank you very much for your respons Ajay! Sadly, I don´t think that your suggestion will work with my problem. I have realised that I was not that informative about my problem in my first message. I forgot to mention that the interface between the solid and the liquid contains of two faces (wall and shadow wall). This means that I have to put one boundary condition at the wall adjacent to the fluid (or bulk) cells (Tbulkface = Tsolidface) and one at the wall adjacent to the solid cells (q = -k*(dT/ds)) hence I need two different DEFINE_PROFILE macros to be activated in the boundary condition panel. So I guess that my problem still remains... /Victor