回复 14楼 zjj7070702004 的帖子
请问你有冷凝的UDF吗?传一下,谢谢! 怎么没人有吗?帮帮忙嘛!!!!回复 14楼 zjj7070702004 的帖子
大侠,你用的冷凝的UDF能贴出来看看吗?热交换模型
请问热交换模型能模拟板式换热器的冷凝吗? 好东西,支持 还是一头雾水 冷凝的UDF哪位大哥有阿?目前急需阿....始终解决不了这个问题啊. 本帖最后由 Heidiadalheid 于 2010-10-27 06:27 编辑一份网上流传比较多的计算冷凝蒸发的udf#include "udf.h"‘包括常规宏
#include "sg_mphase.h"‘包括体积分数宏CVOF(C,T)
#define T_SAT 373 ‘定义蒸发温度100℃
#define LAT_HT 1.e3 ‘定义蒸发潜热J/Kg
DEFINE_SOURCE(liq_src, cell, pri_th, dS, eqn) ‘液相质量源项UDF
{
Thread *mix_th, *sec_th;‘定义计算区域线指针
real m_dot_l; ‘定义液相质量转移 kg/(m2.s)
mix_th = THREAD_SUPER_THREAD(pri_th);‘指向混合区的主相即液相的指针
sec_th = THREAD_SUB_THREAD(mix_th, 1);指向单相控制区的气相的指针,气相为第二相
if(C_T(cell, mix_th)>=T_SAT)‘如果液相单元的温度高于蒸发温度,液相向气相的质量质量转移
{
m_dot_l = -0.1*C_VOF(cell, pri_th)*C_R(cell, pri_th)*
fabs(C_T(cell, mix_th) - T_SAT)/T_SAT;
dS = -0.1*C_R(cell, pri_th)*fabs(C_T(cell, mix_th) - T_SAT)/T_SAT;
‘ 定义源项对质量转移偏导,
}else {
m_dot_l = 0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)*
fabs(T_SAT-C_T(cell,mix_th))/T_SAT;
‘如果指向混合区液相的单元温度小于蒸发温度,气相向液相的质量转移,液相得
dS = 0.;‘由于是气相向液相转移,所以液相的质量源项对质量转移的偏导为零
}
return m_dot_l;
}
DEFINE_SOURCE(vap_src, cell, sec_th, dS, eqn) ‘气相质量源项UDF
{
Thread * mix_th, *pri_th;
real m_dot_v;
mix_th = THREAD_SUPER_THREAD(sec_th); ‘指向混合区的第二相即气相的指针
pri_th = THREAD_SUB_THREAD(mix_th, 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(C_T(cell, mix_th) - T_SAT)/T_SAT;
dS = 0.; ‘由于是液相向气相转移,所以气相的质量源项对来自液相的质量转移的偏导为零
} else {
m_dot_v = -0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)*
fabs(T_SAT-C_T(cell,mix_th))/T_SAT;
‘如果指向混合区的单元温度小于蒸发温度,气相向液相的质量转移
dS = -0.1*C_R(cell, sec_th)* fabs(C_T(cell, mix_th) - T_SAT)/T_SAT;
由于是气相向液相转移,所以气相的质量源项对自身的质量转移的偏导不为零
}
return m_dot_v;
}
DEFINE_SOURCE(enrg_src, cell, mix_th, dS, eqn) ‘混合模型能量源项UDF
{
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, pri_th)*C_R(cell, pri_th)*
fabs(C_T(cell, mix_th) - T_SAT)/T_SAT;
dS =-0.1*C_VOF(cell, pri_th)*C_R(cell, pri_th)/T_SAT;
}else { 相反,气相向液相转移则放热
m_dot = 0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)*
fabs(T_SAT-C_T(cell,mix_th))/T_SAT;
dS = 0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)/T_SAT;}
return LAT_HT*m_dot;气化潜热与质量转移率相乘得能量源项W/m3
} 本帖最后由 Heidiadalheid 于 2010-10-27 06:25 编辑
#define T_con 373.15 /*液化温度*/
/*计水蒸气在液化温度下变成水*/
DEFINE_MASS_TRANSFER(gas_liq_source,cell,thread,from_index,from_species_index, to_index, to_species_index)
{
real m_lg;
Thread *gas = THREAD_SUB_THREAD(thread, from_index);
Thread *liq = THREAD_SUB_THREAD(thread, to_index);
m_lg = 0.;
if (C_T(cell, liq) >= T_con)
{
m_lg = -0.1*C_VOF(cell,liq)*C_R(cell,liq)*fabs(C_T(cell,liq)-T_con)/T_con;
}
if ((m_lg == 0. ) && (C_T(cell, gas) <= T_con))
{
m_lg = 0.1*C_VOF(cell,gas)*C_R(cell,gas)*fabs(T_con-C_T(cell,gas))/T_con;
}
return (m_lg);
}
本帖最后由 Heidiadalheid 于 2010-10-27 06:27 编辑
#define T_frost 273.15 /*凝固温度*/
DEFINE_MASS_TRANSFER(liq_ice_source,cell,thread,from_index,from_species_index, to_index, to_species_index)
{
real m_lg;
Thread *liq = THREAD_SUB_THREAD(thread, from_index);
Thread *soild = THREAD_SUB_THREAD(thread, to_index);
m_lg = 0.;
if (C_T(cell, soild) >= T_frost)
{
m_lg = -0.1*C_VOF(cell,soild)*C_R(cell,soild)*fabs(C_T(cell,soild)-T_frost)/T_frost;
}
if ((m_lg == 0. ) && (C_T(cell, liq) <= T_frost))
{
m_lg = 0.1*C_VOF(cell,liq)*C_R(cell,liq)*fabs(T_frost-C_T(cell,liq))/T_frost;
}
return (m_lg);
}
回复 34 # lw_zhao 的帖子
你也做冷凝吗,可以交流下吗565489726 回复 42 # Heidiadalheid 的帖子
你好,这个程序只有水的质量变化是吧