找回密码
 注册
查看: 2587|回复: 5

冷凝换热模拟

[复制链接]
发表于 2018-1-10 16:02:18 | 显示全部楼层 |阅读模式

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

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

x
大家好,最近做冷凝换热器模拟,管程走高温含有不凝气体的水蒸气,壳程走冷却水,用UDF,模拟分析出结果冷凝竟然出现在高温烟气段。UDF模型如:大家帮我看看是不是程序有问题。
#include "udf.h"                       
#include "sg_mphase.h"                     
#define T_SAT 331                             /* 饱和压力下,水蒸气的饱和温度 */
#define LAT_HT 2.366e6                        /* 饱和压力下,释放的潜热值 */
#define C 0.1

DEFINE_SOURCE(liq_src,cell,pri_th,dS,eqn)     /* 定义液相质量源相 */
{
  Thread *mix_th, *sec_th;                    /* 混合相、第二相,定义计算区域指针 */
  real m_dot_L;                               /* 定义液相质量转移 */
  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=C*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_L=-C*C_VOF(cell,pri_th)*C_R(cell,pri_th)*fabs(T_SAT-C_T(cell,mix_th))/T_SAT;
     dS[eqn]=-C*C_R(cell,pri_th)*fabs(T_SAT-C_T(cell,mix_th))/T_SAT;
    }
  return m_dot_L;
}

DEFINE_SOURCE(vap_src,cell,sec_th,dS,eqn)      /* 定义水蒸气相质量源相 */
{
  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=-C*C_VOF(cell,sec_th)*C_R(cell,sec_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;
     dS[eqn]=-C*C_R(cell,sec_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;
    }
  else                                         /* 如果混合区温度大于冷凝温度,液态水向水蒸气质量转移 */
   {
     m_dot_v=C*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_v;
}

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=C*C_VOF(cell,sec_th)*C_R(cell,sec_th)*fabs(T_SAT-C_T(cell,mix_th))/T_SAT;
     dS[eqn]=C*C_VOF(cell,sec_th)*C_R(cell,sec_th)/T_SAT;
    }
  else                                         /* 如果混合区温度大于冷凝温度,液态水向水蒸气质量转移 */
   {
     m_dot=-C*C_VOF(cell,pri_th)*C_R(cell,pri_th)*fabs(T_SAT-C_T(cell,mix_th))/T_SAT;
     dS[eqn]=-C*C_VOF(cell,pri_th)*C_R(cell,pri_th)/T_SAT;
    }
  return LAT_HT*m_dot;                         /* 气化潜热与质量转移相乘得能量源 */
}

 楼主| 发表于 2018-1-11 11:25:51 | 显示全部楼层
自己顶一下
发表于 2018-3-9 09:06:10 | 显示全部楼层
现在fluent不是自带了蒸发冷凝的模型了吗,不需要写UDF了。
发表于 2018-12-13 19:18:18 | 显示全部楼层
我最近也在做冷凝,这个通用udf争对水蒸气的吧,没有体现出不凝性气体
发表于 2018-12-13 20:00:26 | 显示全部楼层
并且你的温度大小对应不对
发表于 2018-12-15 14:37:41 | 显示全部楼层
huakucha 发表于 2018-3-9 09:06
现在fluent不是自带了蒸发冷凝的模型了吗,不需要写UDF了。

请问您有做好的例子可以提供学习一下吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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