CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   Fluent UDF and Scheme Programming (http://www.cfd-online.com/Forums/fluent-udf/)
-   -   boiling in pipe (UDF) (http://www.cfd-online.com/Forums/fluent-udf/118375-boiling-pipe-udf.html)

malay May 26, 2013 09:48

boiling in pipe (UDF)
 
Hi all .

I go throug this UDF for simulation a boiling in pipe , my questions is :

1- is this UDF general for all boiling . ( i get it from fluent tutorials )
2- if its not general , is the mass transfer source from 2 phases is same ? i mean is general ?
3-should i use the initializing flow field variables ?



#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)
}
}

malay May 27, 2013 00:14

any body have any idea ?


All times are GMT -4. The time now is 20:27.