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/)
-   -   UDF for phase change (http://www.cfd-online.com/Forums/fluent-udf/110881-udf-phase-change.html)

N400 December 23, 2012 21:46

UDF for phase change
 
I want to simulate the phase tranfer in the heat pipe, and a udf was compiled in FLUENT,which is as follow:

#include "udf.h"
#include "sg_mphase.h"
#define T_SAT 323
#define LAT_HT 2356e3
DEFINE_SOURCE(vap_src, cell, pri_th, dS, eqn)
{
Thread *mix_th, *sec_th;
real m_dot_v;
mix_th = THREAD_SUPER_THREAD(pri_th);
sec_th = THREAD_SUB_THREAD(mix_th, 1);
/*m_dot_v=0.;*/
if(C_T(cell, mix_th)>=T_SAT)
{
m_dot_v = 0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)*fabs(C_T(cell, sec_th) - T_SAT)/T_SAT;

dS[eqn] = 0.;
}

if(C_T(cell, mix_th)<=T_SAT)
{
m_dot_v = -0.1*C_VOF(cell, pri_th)*C_R(cell, pri_th)*fabs(T_SAT-C_T(cell,pri_th))/T_SAT;
dS[eqn] = -0.1*C_R(cell, pri_th)*fabs(C_T(cell, pri_th) - T_SAT)/T_SAT;
}
return m_dot_v ;
}

DEFINE_SOURCE(liq_src, cell, sec_th, dS, eqn)
{
Thread * mix_th, *pri_th;
real m_dot_l;
mix_th = THREAD_SUPER_THREAD(sec_th);
pri_th = THREAD_SUB_THREAD(mix_th, 0);
/*m_dot_l=0.;*/
if(C_T(cell, mix_th)>=T_SAT)
{
m_dot_l = -0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)*fabs(C_T(cell, sec_th) - T_SAT)/T_SAT;
dS[eqn] = -0.1*C_R(cell, sec_th)*fabs(C_T(cell, sec_th) - T_SAT)/T_SAT;
}
if(C_T(cell, mix_th)<=T_SAT)
{
m_dot_l = 0.1*C_VOF(cell, pri_th)*C_R(cell, pri_th)*fabs(T_SAT-C_T(cell,pri_th))/T_SAT;
dS[eqn] =0.;
}

return m_dot_l;
}

DEFINE_SOURCE(enrg_src, cell, mix_th, dS, eqn)
{
Thread *pri_th, *sec_th;
real m_dot;
pri_th = THREAD_SUB_THREAD(mix_th, 0);
sec_th = THREAD_SUB_THREAD(mix_th, 1);
if(C_T(cell, mix_th)>=T_SAT)
{
m_dot = -0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)*fabs(C_T(cell, sec_th) - T_SAT)/T_SAT;
dS[eqn] = -0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)*LAT_HT/T_SAT;
}

if(C_T(cell, mix_th)<=T_SAT)
{
m_dot = 0.1*C_VOF(cell, pri_th)*C_R(cell, pri_th)*fabs(T_SAT-C_T(cell,pri_th))/T_SAT;
dS[eqn] = 0.1*C_VOF(cell, pri_th)*C_R(cell, pri_th)*LAT_HT/T_SAT;
}
return LAT_HT*m_dot; }

Using the code above, I can simulate the evaporation, but the condensation did not appear, even the temperature of vapor was much lower than the saturation temperature.
Now I am so confused. Anyone can help me?

msaeedsadeghi December 24, 2012 00:35

You may have not defined boundary conditions correctly. Please share files to check.

N400 December 24, 2012 01:09

Quote:

Originally Posted by msaeedsadeghi (Post 398844)
You may have not defined boundary conditions correctly. Please share files to check.

My case and data files are bigger than the attachment allowing, may I send them to you via email?
My email address is nowbelle@yeah.net
Thank you !

PS:
Anyone else who is intersting in my problem or have the relevant experiences please contact me, we can communicate directly and quickly via emails! ^_^

msaeedsadeghi December 24, 2012 05:09

Yes. Please email me.

N400 December 24, 2012 05:40

Thanks!:)
I just sent you the files via email, and l am looking forward your reply!

Shengchao Hu April 19, 2013 04:51

Hi,N400
I am writing the udf for the phase change of LNG,i have some questions to share with you.Could you send me your files ?
Thanks very much! My email adress:shengchaohu2012@163.com

yangbinsunshine November 18, 2013 02:33

Hi,I am working on this udf recently.and I am confused about this sentence"m_dot_v = 0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)*fabs(C_T(cell, sec_th) - T_SAT)/T_SAT".
First,in this sentence,the coefficent is 0.1,but i do not know why.
Second,what is the unit of "m_dot_v"?
Thank you very much,and any advice will be highly appreciated.


All times are GMT -4. The time now is 05:28.