推荐fluent 怎么加入气蚀的原因模块

扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
CFX&FLUENT&STARCD软件对比
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口&& 查看话题
【求助】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;& && && && && && && &&&/*液相质量输运量*/
& && && && && && && && && &/*液氧表面张力系数*/
& && && && && && && && && & /*气相质量分数*/
&&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_& &/*液氧饱和蒸汽压(考虑湍流影响)*/
&&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./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));
& &&&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_
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=-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)))*
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;& && && && && && && &&&/*气相质量输运量*/
& && && && && && && && && &/*液氧表面张力系数*/
& && && && && && && && && & /*气相质量分数*/
&&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_& &/*液氧饱和蒸汽压(考虑湍流影响)*/
&&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./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));
& &&&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_
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);
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)))*
& & dS=-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_& && && && && && && && & /*相变质量*/
& && && && && && && && && & /*汽化潜热*/
& && && && && && && && &/*能量方程源项*/
& && && && && && && && && &/*液氧表面张力系数*/
& && && && && && && && && & /*气相质量分数*/
&&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_& &/*液氧饱和蒸汽压(考虑湍流影响)*/
&&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./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);
& &&&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_
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*
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)))*
& & source=-m_dot*
& && && && && && && && && & /*气相质量分数*/
& &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_& &/*液氧饱和蒸汽压(考虑湍流影响)*/
real pres_vap,pres_sat,pres_& &/*液氧饱和蒸汽压(考虑湍流影响)*/
& && && && && && && && && & /*气相质量分数*/
& &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);& && &/*单相区液相指针*/
为啥第一句是“混合区气相指针”,而第二句跑到“单相区液相指针”了呢 : Originally posted by kylafree at
& && && && && && && && && & /*气相质量分数*/
& &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_& &/*液氧饱和蒸汽压(考虑湍流影 ... 因为你所问的这两句,是在气相质量方程源项里的,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指的是次相(气相)。 : Originally posted by enigmafwj at
因为你所问的这两句,是在气相质量方程源项里的,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怎么联系起来啊,糊涂了:cat33: : Originally posted by kylafree at
感谢兄台,受教了。我本来没做多相流,但对这个有点兴趣。
再问几个小白的问题可以不。比如我按下面这样理解对头不:
气相区----就是指这个区域的CELL只有气相;
液相区----就是指这个区域的CELL只有液相;
混 ... 你看下UDF帮助的第3章第11节的区域结构和第6章THREAD函数。 : Originally posted by kylafree at
感谢兄台,受教了。我本来没做多相流,但对这个有点兴趣。
再问几个小白的问题可以不。比如我按下面这样理解对头不:
气相区----就是指这个区域的CELL只有气相;
液相区----就是指这个区域的CELL只有液相;
混 ... 照你的改完还是不行啊 : Originally posted by enigmafwj at
照你的改完还是不行啊... 你干脆把出错代码贴出来大家都可以看到 : Originally posted by kylafree at
你干脆把出错代码贴出来大家都可以看到... 改好了。把变量声明全部放前面就OK了 : Originally posted by enigmafwj at
改好了。把变量声明全部放前面就OK了... 那恭喜啊,有时间给我讲解下我的疑问啊?:cat32: : Originally posted by kylafree at
那恭喜啊,有时间给我讲解下我的疑问啊?:cat32:... 我刚学这些个东西,只是按自己的理解用它,你觉得这两函数是否是这样用的? : Originally posted by enigmafwj at
我刚学这些个东西,只是按自己的理解用它,你觉得这两函数是否是这样用的?... 我不知道啊,正学习呢,自己现在没做多相流,但有兴趣,碰见机会正好学习下:tiger17: : Originally posted by kylafree at
我不知道啊,正学习呢,自己现在没做多相流,但有兴趣,碰见机会正好学习下:tiger17:... 朋友,这个UDF在单机多核下最后会出现这样一个问题,能否麻烦你看看,恳请指教。
received suspend command for a pmi context that doesn't exist:unmatched id=2
unable to read the cmd header on the pmi context,Undefined dynamic error code.
The parallel FLUENT process could not be started.
job aborted:
rank:node:exit code
0:***:-:process 0 exited without calling finalize
1:***:-:process 1 exited without calling finalize
注:1.***是计算机名
& && &2.瞬态计算 : Originally posted by enigmafwj at
朋友,这个UDF在单机多核下最后会出现这样一个问题,能否麻烦你看看,恳请指教。
received suspend command for a pmi context that doesn't exist:unmatched id=2
unable to read the cmd header on the pmi con ... 不懂噢:cat27: 你好,请问你的压力造成的蒸发你做成功了吗? : Originally posted by enigmafwj at
朋友,这个UDF在单机多核下最后会出现这样一个问题,能否麻烦你看看,恳请指教。
received suspend command for a pmi context that doesn't exist:unmatched id=2
unable to read the cmd header on the pmi con ... 之前遇到过这个问题,不过好久以前了忘了,好像是C_UDMI语句有错,你试着改改这句 这是制冷剂在管内沸腾换热udf吗? 现在在做相变的模拟,想问一下楼主怎么激活材料物性中的蒸发潜热这一项呢
var cpro_id = 'u1216994';
欢迎监督和反馈:本帖内容由
提供,小木虫仅提供交流平台,不对该内容负责。欢迎协助我们监督管理,共同维护互联网健康,如果您对该内容有异议,请立即发邮件到
联系通知管理员,也可以通过QQ周知,我们的QQ号为:8835100
我们保证在1个工作日内给予处理和答复,谢谢您的监督。
小木虫,学术科研第一站,为中国学术科研研究提供免费动力
广告投放请联系QQ: &
违规贴举报删除请联系邮箱: 或者 QQ:8835100
Copyright &
eMuch.net, All Rights Reserved. 小木虫 版权所有}

我要回帖

更多关于 水泵气蚀 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信