CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Fluent Multiphase (https://www.cfd-online.com/Forums/fluent-multiphase/)
-   -   UDF didn't work (https://www.cfd-online.com/Forums/fluent-multiphase/164901-udf-didnt-work.html)

mtfl January 5, 2016 02:33

UDF didn't work
 
1 Attachment(s)
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)
}

}


All times are GMT -4. The time now is 11:51.