Znn3bq.jpeg
查看: 6186  |  回复: 21
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

enigmafwj

捐助贵宾 (小有名气)

[求助] 【求助】FLUENT UDF 气液两相流 汽蚀 汽化潜热(问题详见内容)

为液相、气相质量方程和能量方程添加源项,UDF程序如下,汽化、液化由压力控制(压力条件判断),各物性参数用温度拟合。问题是:编译时,提示有语法错误(parse),并且fv为未声明的变量。请问如何解决?另:程序中有其他不妥之处,烦请指教,谢谢!
#include "udf.h"
#include "sg_mphase.h"

DEFINE_SOURCE(liq_m,c,l_t,dS,eqn)    /*液相质量输运源项*/
{
Thread *m_t,*v_t;                   /*计算区域指针*/
  m_t=THREAD_SUPER_THREAD(l_t);      /*混合区液相指针*/
  v_t=THREAD_SUB_THREAD(m_t,1);      /*单相区气相指针*/
real m_dot_l;                       /*液相质量输运量*/
real stc;                           /*液氧表面张力系数*/
real fv;                            /*气相质量分数*/
  fv=C_VOF(c,v_t)*C_R(c,v_t)/(C_VOF(c,v_t)*C_R(c,v_t)+C_VOF(c,l_t)*C_R(c,l_t));
real pres_vap,pres_sat,pres_turb;   /*液氧饱和蒸汽压(考虑湍流影响)*/
  if(C_T(c,m_t)>154.58)
    {
     stc=0;
     pres_sat=5.041e6;
    }
  else if(C_T(c,m_t)>54.36)
    {
     stc=0.038066*pow(1-C_T(c,l_t)/154.58,1.2136);
     pres_sat=133.322*pow(10,20.6695-526.97/C_T(c,l_t)-6.7062*log10(C_T(c,l_t))+0.012926*C_T(c,l_t)-C_T(c,l_t)*C_T(c,l_t)*(9.8832e-13));
    }
  else
    {
     stc=0.0225;
     pres_sat=146.041;
    }
  pres_turb=0.39*C_R(c,l_t)*C_K(c,m_t);
  pres_vap=pres_sat+0.5*pres_turb;
if(C_P(c,m_t)<=pres_vap)             /*液相汽化*/
   {
    m_dot_l=-0.02*sqrt(C_K(c,m_t))/stc*C_R(c,l_t)*C_R(c,v_t)*sqrt((2*(pres_vap-C_P(c,m_t)))/(3*C_R(c,l_t)))*(1-fv);
    dS[eqn]=-0.02*sqrt(C_K(c,m_t))/stc*C_R(c,l_t)*C_R(c,v_t)*sqrt((2*(pres_vap-C_P(c,m_t)))/(3*C_R(c,l_t)));
   }
else                                 /*气相液化*/
   {
    m_dot_l=0.01*sqrt(C_K(c,m_t))/stc*C_R(c,l_t)*C_R(c,l_t)*sqrt((2*(C_P(c,m_t)-pres_vap))/(3*C_R(c,l_t)))*fv;
    dS[eqn]=0;
   }
return m_dot_l;
}

DEFINE_SOURCE(vap_m,c,v_t,dS,eqn)    /*气相质量输运源项*/
{
Thread *m_t,*l_t;                   /*计算区域指针*/
  m_t=THREAD_SUPER_THREAD(v_t);      /*混合区气相指针*/
  l_t=THREAD_SUB_THREAD(m_t,0);      /*单相区液相指针*/
real m_dot_v;                       /*气相质量输运量*/
real stc;                           /*液氧表面张力系数*/
real fv;                            /*气相质量分数*/
  fv=C_VOF(c,v_t)*C_R(c,v_t)/(C_VOF(c,v_t)*C_R(c,v_t)+C_VOF(c,l_t)*C_R(c,l_t));
real pres_vap,pres_sat,pres_turb;   /*液氧饱和蒸汽压(考虑湍流影响)*/
  if(C_T(c,m_t)>154.58)
    {
     stc=0;
     pres_sat=5.041e6;
    }
  else if(C_T(c,m_t)>54.36)
    {
     stc=0.038066*pow(1-C_T(c,l_t)/154.58,1.2136);
     pres_sat=133.322*pow(10,20.6695-526.97/C_T(c,l_t)-6.7062*log10(C_T(c,l_t))+0.012926*C_T(c,l_t)-C_T(c,l_t)*C_T(c,l_t)*(9.8832e-13));
    }
  else
    {
     stc=0.0225;
     pres_sat=146.041;
    }
  pres_turb=0.39*C_R(c,l_t)*C_K(c,m_t);
  pres_vap=pres_sat+0.5*pres_turb;
if(C_P(c,m_t)<=pres_vap)             /*液相汽化*/
   {
    m_dot_v=0.02*sqrt(C_K(c,m_t))/stc*C_R(c,l_t)*C_R(c,v_t)*sqrt((2*(pres_vap-C_P(c,m_t)))/(3*C_R(c,l_t)))*(1-fv);
    dS[eqn]=0;
   }
else                                 /*气相液化*/
   {
    m_dot_l=-0.01*sqrt(C_K(c,m_t))/stc*C_R(c,l_t)*C_R(c,l_t)*sqrt((2*(C_P(c,m_t)-pres_vap))/(3*C_R(c,l_t)))*fv;
    dS[eqn]=-0.01*sqrt(C_K(c,m_t))/stc*C_R(c,l_t)*C_R(c,l_t)*sqrt((2*(C_P(c,m_t)-pres_vap))/(3*C_R(c,l_t)));
   }
return m_dot_v;
}

DEFINE_SOURCE(m_enrg,c,m_t,dS,eqn)   /*混合相能量方程输运源项*/
{
Thread *l_t,*v_t;                   /*计算区域指针*/
  l_t=THREAD_SUB_THREAD(m_t,0);      /*混合区液相指针*/
  v_t=THREAD_SUB_THREAD(m_t,1);      /*混合区气相指针*/
real m_dot;                         /*相变质量*/
real hc;                            /*汽化潜热*/
real source;                        /*能量方程源项*/
real stc;                           /*液氧表面张力系数*/
real fv;                            /*气相质量分数*/
  fv=C_VOF(c,v_t)*C_R(c,v_t)/(C_VOF(c,v_t)*C_R(c,v_t)+C_VOF(c,l_t)*C_R(c,l_t));
real pres_vap,pres_sat,pres_turb;   /*液氧饱和蒸汽压(考虑湍流影响)*/
  if(C_T(c,m_t)>154.58)
    {
     stc=0;
     pres_sat=5.041e6;
     hc=0;
    }
  else if(C_T(c,m_t)>54.36)
    {
     stc=0.038066*pow(1-C_T(c,l_t)/154.58,1.2136);
     pres_sat=133.322*pow(10,20.6695-526.97/C_T(c,l_t)-6.7062*log10(C_T(c,l_t))+0.012926*C_T(c,l_t)-C_T(c,l_t)*C_T(c,l_t)*(9.8832e-13));
     hc=8040*pow(1-C_T(c,l_t)/154.58,0.201);
    }
  else
    {
     stc=0.0225;
     pres_sat=146.041;
     hc=2523;
    }
  pres_turb=0.39*C_R(c,l_t)*C_K(c,m_t);
  pres_vap=pres_sat+0.5*pres_turb;
if(C_P(c,m_t)<=pres_vap)             /*液相汽化,温度升高,源项为正*/
   {
    m_dot=0.02*sqrt(C_K(c,m_t))/stc*C_R(c,l_t)*C_R(c,v_t)*sqrt((2*(pres_vap-C_P(c,m_t)))/(3*C_R(c,l_t)))*(1-fv);
    source=m_dot*hc;
    dS[eqn]=0;
   }
else                                 /*气相液化,温度降低,源项为负*/
   {
    m_dot=-0.01*sqrt(C_K(c,m_t))/stc*C_R(c,l_t)*C_R(c,l_t)*sqrt((2*(C_P(c,m_t)-pres_vap))/(3*C_R(c,l_t)))*fv;
    source=-m_dot*hc;
    dS[eqn]=0;
   }
return source;
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kylafree

至尊木虫 (知名作家)

引用回帖:
10楼: Originally posted by enigmafwj at 2012-08-03 16:01:53
我刚学这些个东西,只是按自己的理解用它,你觉得这两函数是否是这样用的?...

我不知道啊,正学习呢,自己现在没做多相流,但有兴趣,碰见机会正好学习下
11楼2012-08-03 17:02:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 22 个回答

kylafree

至尊木虫 (知名作家)

【答案】应助回帖

★ ★ ★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 谢谢参与! 2012-07-30 21:50:07
enigmafwj: 金币+2 2012-12-18 20:11:11
real fv;                            /*气相质量分数*/
   fv=C_VOF(c,v_t)*C_R(c,v_t)/(C_VOF(c,v_t)*C_R(c,v_t)+C_VOF(c,l_t)*C_R(c,l_t));
real pres_vap,pres_sat,pres_turb;   /*液氧饱和蒸汽压(考虑湍流影响)*/

改为:
real pres_vap,pres_sat,pres_turb;   /*液氧饱和蒸汽压(考虑湍流影响)*/
real fv;                            /*气相质量分数*/
   fv=C_VOF(c,v_t)*C_R(c,v_t)/(C_VOF(c,v_t)*C_R(c,v_t)+C_VOF(c,l_t)*C_R(c,l_t));
定义变量要在赋值语句开始之前全部定义完毕。

另外向兄台请教一下,这两句的thread具体指什么thread,感激不尽啊。
m_t=THREAD_SUPER_THREAD(v_t);      /*混合区气相指针*/
   l_t=THREAD_SUB_THREAD(m_t,0);      /*单相区液相指针*/
为啥第一句是“混合区气相指针”,而第二句跑到“单相区液相指针”了呢
2楼2012-07-30 21:19:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

enigmafwj

捐助贵宾 (小有名气)

引用回帖:
2楼: Originally posted by kylafree at 2012-07-30 21:19:25
real fv;                            /*气相质量分数*/
   fv=C_VOF(c,v_t)*C_R(c,v_t)/(C_VOF(c,v_t)*C_R(c,v_t)+C_VOF(c,l_t)*C_R(c,l_t));
real pres_vap,pres_sat,pres_turb;   /*液氧饱和蒸汽压(考虑湍流影 ...

因为你所问的这两句,是在气相质量方程源项里的,DEFINE_SOURCE(vap_m,c,v_t,dS,eqn)里的thread:v_t在该宏应用于气相质量方程时指向了气相区。因为之后要用到混合区气相的参数,所以用THREAD_SUPER_THREAD(v_t)把指针恢复到混合区气相并传给m_t;
THREAD_SUB_THREAD(m_t,0)的意思是在m_t得到混合区气相指针后,m_t作为最高区域(混合区)的指针,可以用这个函数把单相区液相指针传给l_t,才能用l_t调用到液相区的参数,0指的是主相(液相),1指的是次相(气相)。
3楼2012-07-31 15:49:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kylafree

至尊木虫 (知名作家)

★ ★ ★
xiegangmai: 金币+3, 鼓励讨论交流! 2012-08-02 23:05:49
引用回帖:
3楼: Originally posted by enigmafwj at 2012-07-31 15:49:14
因为你所问的这两句,是在气相质量方程源项里的,DEFINE_SOURCE(vap_m,c,v_t,dS,eqn)里的thread:v_t在该宏应用于气相质量方程时指向了气相区。因为之后要用到混合区气相的参数,所以用THREAD_SUPER_THREAD(v_t)把 ...

感谢兄台,受教了。我本来没做多相流,但对这个有点兴趣。
再问几个小白的问题可以不。比如我按下面这样理解对头不:
气相区----就是指这个区域的CELL只有气相;
液相区----就是指这个区域的CELL只有液相;
混合区----就是指这个区域的CELL既有气相也有液相;
混全区thread----是说混合区既然有混合thread,又有气相thread,还有液相thead。气相thread液相thread混合thread怎么联系起来啊,糊涂了
4楼2012-07-31 16:22:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[找工作] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +4 qs8kylt1wr 2026-05-01 4/200 2026-05-03 00:00 by 火炎焱燚炙烤
[论文投稿] 有人投过CCC中国控制会议吗? 19+3 初九凡 2026-04-26 4/200 2026-05-02 21:11 by Equinoxhua
[考博] 考博 +4 Eternitf 2026-04-29 4/200 2026-05-02 16:10 by yejenny
[公派出国] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 qs8kylt1wr 2026-05-01 3/150 2026-05-02 15:51 by zahslv263y
[考博] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 qs8kylt1wr 2026-05-01 3/150 2026-05-02 15:51 by zahslv263y
[教师之家] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 qs8kylt1wr 2026-05-01 3/150 2026-05-02 15:36 by zahslv263y
[博后之家] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 qs8kylt1wr 2026-05-01 3/150 2026-05-02 15:06 by zahslv263y
[公派出国] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 d8tbypao1q 2026-05-01 3/150 2026-05-02 14:21 by zahslv263y
[博后之家] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 d8tbypao1q 2026-05-01 3/150 2026-05-02 14:06 by zahslv263y
[教师之家] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 d8tbypao1q 2026-05-01 3/150 2026-05-02 14:06 by zahslv263y
[博后之家] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 k17zww5nna 2026-05-01 3/150 2026-05-02 10:21 by ovidyohpyz
[公派出国] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 k17zww5nna 2026-05-01 4/200 2026-05-02 10:21 by ovidyohpyz
[找工作] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 k17zww5nna 2026-05-01 4/200 2026-05-02 10:06 by ovidyohpyz
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 k17zww5nna 2026-05-01 5/250 2026-05-02 09:21 by dz7y1p1i98
[考博] 药化及相关博士的申请 5+3 中药学渣 2026-04-29 3/150 2026-05-01 18:14 by babero
[论文投稿] 一篇MDPI论文改变了学习工作和生活 +3 helsinglee 2026-04-29 4/200 2026-05-01 11:45 by bobvan
[有机交流] 一个化合物的合成路线:CAS:367929-02-0 名称:8β-乙烯基雌二醇 50+4 zhquanbing 2026-04-28 4/200 2026-04-30 22:45 by zyqchem
[文学芳草园] 太白金星有点烦 +3 yexuqing 2026-04-27 3/150 2026-04-30 21:56 by myrtle
[考博] 中国地质大学(北京)博士招生补录,数理学院材料科学与工程专业和材料与化工专业 +3 liuxh329 2026-04-29 3/150 2026-04-30 15:42 by 顺利毕业zs
[论文投稿] 有没有快的中文核心比较快录用的,纳米材料光催化 5+3 2914439618 2026-04-27 4/200 2026-04-29 08:59 by 北京莱茵润色
信息提示
请填处理意见