|
[Sponsors] |
November 3, 2003, 05:50 |
UDF Boundary Condition
|
#1 |
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, 11:47 |
Re: UDF Boundary Condition
|
#2 |
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, 12:37 |
Re: UDF Boundary Condition
|
#3 |
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 |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Resolved: Changing boundary condition with UDF according to pressure outlet boundary | alpemre | Fluent UDF and Scheme Programming | 12 | February 24, 2014 11:18 |
UDF for inhomogenous Neumann boundary condition | akhilesh | Fluent UDF and Scheme Programming | 3 | December 24, 2012 12:14 |
Boundary Condition Types Using Scheme and UDF | Nasir | FLUENT | 0 | September 15, 2008 22:54 |
UDF for the boundary condition | Sridhar | FLUENT | 3 | July 13, 2001 20:18 |
UDF : boundary condition ID | Flav | FLUENT | 4 | June 28, 2001 10:52 |