24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1513  |  回复: 5

简单的快乐xf

铜虫 (初入文坛)

[求助] 关于水蒸发UDF问题已有2人参与

在网上看到的关于水蒸发的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[eqn] = -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[eqn] = 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[eqn] = 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[eqn] = -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[eqn] =  -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[eqn] = 0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)/T_SAT;}

  return LAT_HT*m_dot;  气化潜热与质量转移率相乘得能量源项W/m3

}
回复此楼

» 收录本帖的淘帖专辑推荐

博士科研新路历程

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1249hu

新虫 (初入文坛)

【答案】应助回帖

理论上只要改变饱和温度和蒸发潜热就可以,但是也不排出相变因子也要改变的情况。就是系数0.1。
2楼2015-11-02 08:53:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

简单的快乐xf

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by 1249hu at 2015-11-02 08:53:59
理论上只要改变饱和温度和蒸发潜热就可以,但是也不排出相变因子也要改变的情况。就是系数0.1。

请问,你的意思是改变程序4、5行的蒸发温度、蒸发潜热吗
3楼2015-11-20 21:58:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1249hu

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by 简单的快乐xf at 2015-11-20 21:58:57
请问,你的意思是改变程序4、5行的蒸发温度、蒸发潜热吗...

是三四行的蒸发温度、蒸发潜热

» 本帖已获得的红花(最新10朵)

4楼2015-11-23 10:37:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

简单的快乐xf

铜虫 (初入文坛)

送红花一朵
引用回帖:
4楼: Originally posted by 1249hu at 2015-11-23 10:37:48
是三四行的蒸发温度、蒸发潜热...

太感谢了
5楼2015-11-29 11:27:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhwan

禁虫 (著名写手)

本帖内容被屏蔽

6楼2017-04-10 17:42:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 简单的快乐xf 的主题更新
信息提示
请填处理意见