|
[Sponsors] |
January 5, 2016, 03:33 |
UDF didn't work
|
#1 |
New Member
Elvira Fidelia Tanjung
Join Date: Nov 2015
Posts: 3
Rep Power: 11 |
Hello Folks,
I am working in pool boiling phenomena with the geometry attached. I used this UDF from Horizontal Film Boiling Tutorial, I set up everything same, just the heater location is different. But the result is the bubbles came from the side not from the heater. Im newbie in FLUENT. Please share ur beautiful mind. Thanks indeed ^^ (Vira) #include "udf.h" #include "sg.h" #include "sg_mphase.h" #include "flow.h" #include "mem.h" /************************************************** ************/ /* UDF for specifying an interfacail area density */ /************************************************** ************/ DEFINE_ADJUST(area_density, domain) { Thread *t; Thread **pt; cell_t c; Domain *pDomain = DOMAIN_SUB_DOMAIN(domain,P_PHASE); real voidx, voidy, voidz=0; { Alloc_Storage_Vars(pDomain,SV_VOF_RG,SV_VOF_G,SV_N ULL); Scalar_Reconstruction(pDomain, SV_VOF,-1,SV_VOF_RG,NULL); Scalar_Derivatives(pDomain,SV_VOF,-1,SV_VOF_G,SV_VOF_RG, Vof_Deriv_Accumulate); } { Alloc_Storage_Vars(domain, SV_T_RG, SV_T_G, SV_NULL); T_derivatives(domain); Free_Storage_Vars(domain, SV_T_RG, SV_NULL); } mp_thread_loop_c (t,domain,pt) if (FLUID_THREAD_P(t)) { Thread *tp = pt[P_PHASE]; begin_c_loop (c,t) { #if RP_3D C_UDMI(c,t,0) = (C_VOF_G(c,tp)[0]*C_T_G(c,t)[0]+ C_VOF_G(c,tp)[1]*C_T_G(c,t)[1]+C_VOF_G(c,tp)[2]*C_T_G(c,t)[2]); #endif #if RP_2D C_UDMI(c,t,0) = (C_VOF_G(c,tp)[0]*C_T_G(c,t)[0]+ C_VOF_G(c,tp)[1]*C_T_G(c,t)[1]); #endif } end_c_loop (c,t) } Free_Storage_Vars(pDomain,SV_VOF_RG,SV_VOF_G,SV_NU LL); Free_Storage_Vars(domain, SV_T_G, SV_NULL); } DEFINE_SOURCE(gas, cell, thread, dS, eqn) { real x[ND_ND]; real source; Thread *tm = THREAD_SUPER_THREAD(thread); Thread **pt = THREAD_SUB_THREADS(tm); real Kl = C_K_L(cell, pt[1])*C_VOF(cell, pt[1]), Kg = C_K_L(cell, pt[0])*C_VOF(cell, pt[0]); real L = 1e5; source = (Kl+Kg)*C_UDMI(cell,tm,0) / L; C_UDMI(cell, tm, 1) = source; C_UDMI(cell, tm, 2) = -source*L; dS[eqn] =0; return source; } DEFINE_SOURCE(liquid, cell, thread, dS, eqn) { real x[ND_ND]; real source; Thread *tm = THREAD_SUPER_THREAD(thread); Thread **pt = THREAD_SUB_THREADS(tm); source = -C_UDMI(cell, tm, 1); dS[eqn] = 0; return source; } DEFINE_SOURCE(energy, cell, thread, dS, eqn) { real x[ND_ND]; real source; Thread *tm = thread; source = C_UDMI(cell, tm, 2); dS[eqn] = 0; return source; } /************************************************** *********************/ /* UDF for initializing flow field variables */ /************************************************** *********************/ DEFINE_INIT(my_init_function, domain) { Thread *t; Thread **pt; Thread **st; cell_t c; Domain *pDomain = DOMAIN_SUB_DOMAIN(domain,P_PHASE); Domain *sDomain = DOMAIN_SUB_DOMAIN(domain,S_PHASE); real xc[ND_ND], y, x; mp_thread_loop_c (t,domain,pt) if (FLUID_THREAD_P(t)) { Thread *tp = pt[P_PHASE]; begin_c_loop (c,t) { C_CENTROID(xc,c,t); x=xc[0]; y=xc[1]; if ( y < 0.00292 + 0.0006*cos(6.283*x/0.0778) ) C_VOF(c,tp) = 1; else C_VOF(c,tp) = 0; } end_c_loop (c,t) } mp_thread_loop_c (t,domain,st) if (FLUID_THREAD_P(t)) { Thread *sp = st[S_PHASE]; begin_c_loop (c,t) { C_CENTROID(xc,c,t); x=xc[0]; y=xc[1]; if ( y < 0.00292 + 0.0006*cos(6.283*x/0.0778) ) C_VOF(c,sp) = 0; else C_VOF(c,sp) = 1; } end_c_loop (c,t) } } |
|
Tags |
ansys 16.1, fluent, pool boiling, udf |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Having trouble adapting serial UDF to work in parallel | muyuntao | Fluent UDF and Scheme Programming | 1 | November 10, 2015 14:42 |
UDF "DEFINE CONTACT" How does it work? | kpestov | FLUENT | 0 | November 29, 2014 06:20 |
udf doesn't work | blaid | FLUENT | 0 | March 6, 2012 13:29 |
udf - c++ compiler does not work | Matthias | FLUENT | 1 | January 9, 2009 01:44 |
Will the UDF work?? | H.S.Fang | FLUENT | 0 | December 27, 2001 22:21 |