找回密码
 注册
查看: 1635|回复: 1

【求助】用species transport模型模拟蒸发UDF的疑问

[复制链接]
发表于 2013-10-16 21:05:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我用某教材里的下面这个UDF模拟130摄氏度(或更高)的热空气加热80摄氏度的水,热空气采用组分运输模型,多项流采用VOF模型(因为有自由页面),含有氧气、氮气、水蒸气。
但是模拟的结果空气中产生不出水蒸气,而用FLUENT自带的沸腾蒸发模型可以产生。
现在初步判断可能是UDF中几个指针有问题,但是不知道怎么改,或者是源项加载的地方不对。
其中,air_src加给空气中的H2O组分,liq_src加给水,enrg_src加给混合物
麻烦各位帮助,谢谢!!!


#include "udf.h"                                  //包括常规宏
#include "sg_mphase.h"
   
#define T_SAT 373                                 //定义蒸发温度100℃
#define LAT_HT 2.3e6                              //定义蒸发潜热J/Kg


DEFINE_SOURCE(air_src,cell,pri_th,dS,eqn)         //气相质量源项UDF
{
  Thread * mix_th, *sec_th;
  real m_dot_a;
  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_a = 0.1*C_VOF(cell,sec_th)*C_R(cell,sec_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;
    dS[eqn] = 0;                                  //由于是液相向气相转移,所以气相的质量源项对来自液相的质量转移的偏导为零
   }
  else
  {
    m_dot_a = -0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)*fabs(T_SAT-C_T(cell,mix_th))/T_SAT;        //如果指向混合区的单元温度小于蒸发温度,气相向液相的质量转移,气相失
    dS[eqn] = -0.1*C_R(cell,pri_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;                           //由于是气相向液相转移,所以气相的质量源项对自身的质量转移的偏导不为零
   }
  return m_dot_a;
}


DEFINE_SOURCE(liq_src,cell,sec_th,dS,eqn)         //液相质量源项UDF
{
Thread *mix_th, *pri_th;                          //定义计算区线指针
  real m_dot_l;                                   //定义液相质量转移 kg/(m2.s)
  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_l = -0.1*C_VOF(cell,sec_th)*C_R(cell, sec_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;
    dS[eqn] = -0.1*C_R(cell,sec_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;                           //定义源项对质量转移偏导
  }
  else
  {
    m_dot_l = 0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)*fabs(T_SAT-C_T(cell,mix_th))/T_SAT;         //如果指向混合区液相的单元温度小于蒸发温度,气相向液相的质量转移,液相得
    dS[eqn] = 0;                                  //由于是气相向液相转移,所以液相的质量源项对质量转移的偏导为零
   }
  return m_dot_l;
}


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,sec_th)*C_R(cell,sec_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;
    dS[eqn] = -0.1*C_VOF(cell,sec_th)*C_R(cell,sec_th)/T_SAT;
  }
  else
  {                                               //相反,气相向液相转移则放热
    m_dot   = 0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)*fabs(T_SAT-C_T(cell,mix_th))/T_SAT;
    dS[eqn] = 0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)/T_SAT;
   }
  return LAT_HT*m_dot;                            //气化潜热与质量转移率相乘得能量源项W/m3
}
 楼主| 发表于 2013-10-17 11:58:29 | 显示全部楼层
求助求助!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表