24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2221  |  回复: 10

fengyezhi

新虫 (小有名气)

[求助] 水沸腾UDF总是报错

水沸腾UDF导入后显示:line 66:parse error,好不容易数到第66行,还是没发现错误....还请大家帮帮忙,看看到底哪里出错了,谢啦
#include "udf.h"          /*包括常规宏*/
#include "sg_mphase.h"    /*包括体积分数宏*/
#define T_SAT 373         /*定义饱和温度*/
#define LAT_HT 1.e3       /*定义水蒸汽潜热*/

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 = -0.1*C_VOF(cell, pri_th)*C_R(cell, pri_th)*
                fabs(C_T(cell, pri_th) - T_SAT)/T_SAT;  /*如果液相单元的温度高于蒸发温度,液相向气相的质量转移*/
   dS[eqn] = -0.1*C_R(cell, pri_th)*
      fabs(C_T(cell, pri_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) /*定义气相源项*/
{
  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, sec_th) - T_SAT)/T_SAT;  /*由于是气相向液相转移,所以气相的质量源项对自身的质量转移的偏导不为零*/
       }
   
  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 = -0.1*C_VOF(cell, pri_th)*C_R(cell, pri_th)*
                fabs(C_T(cell, pri_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;    /*能量大小气化潜热与质量转移率相乘得能量源项*/
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

47425804

木虫 (正式写手)


【答案】应助回帖

★ ★
xiegangmai(金币+2): 谢谢应助! 2011-05-16 22:30:34
fengyezhi(金币+5): 2011-05-18 08:31:37
如果你的程序完全是这么写的话,那么就是最后面少了一个大括号~~~
2楼2011-05-16 17:34:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

贾晓林

新虫 (初入文坛)

【答案】应助回帖


fengyezhi(金币+5): 2011-05-18 08:29:38
xiegangmai(金币+1): 谢谢应助! 2011-05-19 21:29:42
是不是你的首相和第二项设置错误或者你的相名称没改过来?我没发现错误呵呵
3楼2011-05-17 09:17:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fengyezhi

新虫 (小有名气)

引用回帖:
Originally posted by 贾晓林 at 2011-05-17 09:17:59:
是不是你的首相和第二项设置错误或者你的相名称没改过来?我没发现错误呵呵

我用多相流模型算的,liquid和vapor两相,但是每次算的时候liquid残差都很大,后来就算不下去了....我的模型里有传热
4楼2011-05-18 08:31:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fengyezhi

新虫 (小有名气)

引用回帖:
Originally posted by 47425804 at 2011-05-16 17:34:17:
如果你的程序完全是这么写的话,那么就是最后面少了一个大括号~~~

这个语法错误我已经改过来了,谢谢你呵呵。但是还是算不下去,我用mixture模型,每次引入liq质量源项时就会报错,计算不下去。只引入vap源项和能量源项就可以算,不知道为什么。我的有传热
5楼2011-05-18 08:33:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

47425804

木虫 (正式写手)


★ ★
xiegangmai(金币+2): 鼓励讨论交流! 2011-05-19 21:29:24
引用回帖:
Originally posted by fengyezhi at 2011-05-18 08:33:22:
这个语法错误我已经改过来了,谢谢你呵呵。但是还是算不下去,我用mixture模型,每次引入liq质量源项时就会报错,计算不下去。只引入vap源项和能量源项就可以算,不知道为什么。我的有传热

那就是编译顺利通过啦~~
可否详述下报错信息。
另外,有相变的情况下残差就是容易很大,建议适当减小时间步长。
6楼2011-05-19 09:54:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

倚天屠龙love

金虫 (小有名气)

建议楼主看下韩占忠09年出的那本关于Fluent的书的139页,里面那个UDF程序和你的一样,你对比一下吧~
另外,我想请教一下楼主这个UDF能用于VOF模型么?楼主现在的沸腾换热的计算进行的怎么样了,我现在也在搞这个,希望能和楼主交流一下!
7楼2011-10-28 19:28:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yanxiujuan

新虫 (初入文坛)

楼主的问题解决了吗?我也是做气液相变换热的,刚开始没多久,麻烦问一下m_dot = -0.1*C_VOF(cell, pri_th)*C_R(cell, pri_th)* fabs(C_T(cell, pri_th) - T_SAT)/T_SAT是怎么导出来的呀?谢谢啦
8楼2012-10-17 18:52:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小鸟110

铜虫 (正式写手)

#define LAT_HT 1.e3       /*定义水蒸汽潜热*/ 请问这一句中的潜热,为什么是1000呢,怎么查啊
追求心智的成熟
9楼2014-03-25 20:42:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gearboy78

禁虫 (小有名气)

本帖内容被屏蔽

10楼2014-03-26 08:25:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 fengyezhi 的主题更新
信息提示
请填处理意见