| 查看: 1399 | 回复: 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错误了。但是在找不到哪里错误,望高手指点啊···不胜感激,感激涕零! |
» 猜你喜欢
计算机、0854电子信息(085401-058412)调剂
已经有5人回复
国自然申请面上模板最新2026版出了吗?
已经有13人回复
基金委咋了?2026年的指南还没有出来?
已经有3人回复
Materials Today Chemistry审稿周期
已经有5人回复
溴的反应液脱色
已经有7人回复
推荐一本书
已经有12人回复
基金申报
已经有4人回复
纳米粒子粒径的测量
已经有7人回复
常年博士招收(双一流,工科)
已经有4人回复
有没有人能给点建议
已经有5人回复
找到一些相关的精华帖子,希望有用哦~
出口压力的UDF编写问题
已经有10人回复
全部身家求大神帮忙解决fluent压力脉冲怎么编写UDF的问题
已经有8人回复
Fluent 压力出口边界条件设置
已经有6人回复
科研从小木虫开始,人人为我,我为人人











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