| 查看: 1509 | 回复: 0 | |||
[求助]
【求助】压力出口背压值udf的设定-udf贴出,各位大神快到碗里来
|
|
模型上面是气体,下面是堆积着一定高度的固体颗粒 想实现的功能: 1.搜索出出口处固气分界线,记边界线高度为Ymin 2.设置出口背压值:Ymin以下为固体,为防止坍塌,其背压值为计算出来的压力值,Ymin以上为气体,故其背压值为0. 同时写出来两个循环均是错误的,于是做了以下尝试 1,最简单原始模型:假设Ymin固定为2m,背压值2m以上为0,2m以下为100000。udf如下,可以正常运行: #include"udf.h" DEFINE_PROFILE(out_pressure,thread,position) { real minY=2; real x[ND_ND]; real y; face_t f; begin_f_loop(f,thread) { F_CENTROID(x,f,thread); y = x[1]; if (y<=minY) { F_PROFILE(f,thread,position)=100000; } else { F_PROFILE(f,thread,position)=0; } } end_f_loop(f,thread); } 2,在1的基础上加上对Ymin的判断(Ymin最大不能超过20,计算域高度为20),当空气相大于0.9时,即认为为空气相,udf编写如下。 #include"udf.h" DEFINE_PROFILE(out2_pressure,thread,position) { real minY=20; real x[ND_ND]; real y; face_t f; real vmax=0.9; real volume,minX; cell_t c; Thread *t,*gast,*mix; begin_f_loop(f,thread) { c = F_C0(f,thread); /* returns ID for c0 */ t = THREAD_T0(thread); mix=THREAD_SUPER_THREAD(t); gast=THREAD_SUB_THREAD(mix,0); C_CENTROID(x,c,t); volume=C_VOF(c,gast); if (volume > vmax ) { minX=x[1]; if (minX<minY) { minY=minX; } else { minY=minY; } } else { minY=minY; } } end_f_loop(f,thread); begin_f_loop(f,thread) { F_CENTROID(x,f,thread); y = x[1]; if (y<=minY) { F_PROFILE(f,thread,position)=100000; } else { F_PROFILE(f,thread,position)=0; } } end_f_loop(f,thread); } 但是build和load均成功,但一加载到fluent的压力出口边界上,就出现如下错误。 Error: FLUENT received fatal signal (ACCESS_VIOLATION) 1. Note exact events leading to error. 2. Save case/data under new name. 3. Exit program and restart to continue. 4. Report error to your distributor. Error Object: () 3.不判断Ymin,Ymin还是固定值,但是Ymin下面的背压为计算值p,udf如下,出现了跟上面一样的错误 #include"udf.h" DEFINE_PROFILE(out1_pressure,thread,position) { real minY=2; real x[ND_ND]; real y,p; face_t f; real vmax=0.9; real vmin=0.1; real volume,minX; cell_t c; Thread *t,*gast,*mix; begin_f_loop(f,thread) { c = F_C0(f,thread); t = THREAD_T0(thread); mix=THREAD_SUPER_THREAD(t); gast = THREAD_SUB_THREAD(mix,0); // C_CENTROID(x,c,t); p = C_P(c,gast); F_CENTROID(x,f,thread); y = x[1]; if (y<=minY) { F_PROFILE(f,thread,position)=100000; } else { F_PROFILE(f,thread,position)=0; } // Message("%f\n",p); } end_f_loop(f,thread); } 为fluent菜鸟,去网上搜索办法,基本上都是说要先初始化再加载udf(我也是这么做的),还有就是写的udf错误了。但是在找不到哪里错误,望高手指点啊···不胜感激,感激涕零! |
» 猜你喜欢
各位大神,目前国内有哪些比较好用的逆合成软件?
已经有14人回复
国社科系统bug了,是不是要放榜了?
已经有10人回复
现代”学阀”该如何界定
已经有9人回复
课题组招2027级博士 上海工程技术大学 激光智能制造方向
已经有4人回复
上海工程技术大学 激光智能制造课题组 2027级博士研究生招生
已经有3人回复
上海工程技术大学激光智能制造课题组|2027级博士研究生招生公告
已经有11人回复
申博发邮件
已经有11人回复
我的奶奶
已经有3人回复
找到一些相关的精华帖子,希望有用哦~
出口压力的UDF编写问题
已经有10人回复
全部身家求大神帮忙解决fluent压力脉冲怎么编写UDF的问题
已经有8人回复
Fluent 压力出口边界条件设置
已经有6人回复
科研从小木虫开始,人人为我,我为人人










回复此楼
点击这里搜索更多相关资源