24小时热门版块排行榜    

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

DSSDING123

捐助贵宾 (初入文坛)

[求助] FLUENT中UDF编译始终报错,气液两相流问题,求大神指点已有3人参与

#include "udf.h" //常规宏
#include "sg_mphase.h" //系统头文件,体积分数宏
#define T_SAT 373 //沸腾温度373K
#define LAT_HT 2257600 //气化潜热2257.6kJ/kg

DEFINE_SOURCE(pri_src,cell,pri_th,dS,eqn) //液相质量源项UDF
{
Thread *mix_th;
Thread *sec_th; //定义指针
real m_dot_l; //液相质量转移kg/(㎡·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_R(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(sec_src,cell,sec_th,dS,eqn) //气相质量源项UDF
{
Thread *mix_th;
Thread *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,sec_th)-T_SAT)/T_SAT;  //因为气相向液相转移,所以气相的质量源项对自身的质量转移的偏导不为零
  }
return m_dot_v;
}

DEFINE_SOURCE(enrg_src,cell,mix_th,dS,eqn) //混合模型源项UDF
{
Thread *pri_th;
Thread *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,sec_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT; //吸热,液相向气相转移
  dS[eqn]=-0.1*C_VOF(cell,pri_th)*fabs(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,pri_th)*fabs(C_R(cell,pri_th)/T_SAT;
return LAT_HT*m_dot; //气化潜热*质量转移率=能量源项W/m3
}



cpp -I"D:\fluent\Fluent.Inc\fluent6.3.26/src" -I"D:\fluent\Fluent.Inc\fluent6.3.26/cortex/src" -I"D:\fluent\Fluent.Inc\fluent6.3.26/client/src" -I"D:\fluent\Fluent.Inc\fluent6.3.26/multiport/src" -I. -DUDFCONFIG_H="<udfconfig.h>" "H:\UDF\UDF .c"
Error: H:\UDF\UDF .c: line 21: parse error.
一直报错,求大神指点
回复此楼

» 猜你喜欢

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

DSSDING123

捐助贵宾 (初入文坛)

引用回帖:
2楼: Originally posted by COLINMCRAE1 at 2016-06-02 00:13:59
不是给你说第21行有错么?

他说定义相错误,但是按照例子上每一相都有对应,编译没有出错啊?
3楼2016-06-02 15:00:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

COLINMCRAE1

新虫 (初入文坛)

不是给你说第21行有错么?

发自小木虫IOS客户端
2楼2016-06-02 00:13:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

COLINMCRAE1

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by DSSDING123 at 2016-06-02 15:00:04
他说定义相错误,但是按照例子上每一相都有对应,编译没有出错啊?...

这个错不是编译的时候报的?

发自小木虫IOS客户端
4楼2016-06-02 17:05:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ziheng_lan

金虫 (小有名气)

这个不是网上那个udf么,我运行都没报错啊

发自小木虫Android客户端

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

蓝者,恒也!
5楼2016-06-02 18:44:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见