| 查看: 1409 | 回复: 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错误了。但是在找不到哪里错误,望高手指点啊···不胜感激,感激涕零! |
» 猜你喜欢
有时候真觉得大城市人没有县城人甚至个体户幸福
已经有11人回复
表哥与省会女结婚,父母去帮带孩子被省会女气回家生重病了
已经有7人回复
同年申请2项不同项目,第1个项目里不写第2个项目的信息,可以吗
已经有8人回复
依托企业入选了国家启明计划青年人才。有无高校可以引进的。
已经有7人回复
依托企业入选了国家启明计划青年人才。有无高校可以引进的。
已经有10人回复
天津大学招2026.09的博士生,欢迎大家推荐交流(博导是本人)
已经有9人回复
有院领导为了换新车,用横向课题经费买了俩车
已经有10人回复
AI 太可怕了,写基金时,提出想法,直接生成的文字比自己想得深远,还有科学性
已经有6人回复
酰胺脱乙酰基
已经有13人回复
找到一些相关的精华帖子,希望有用哦~
出口压力的UDF编写问题
已经有10人回复
全部身家求大神帮忙解决fluent压力脉冲怎么编写UDF的问题
已经有8人回复
Fluent 压力出口边界条件设置
已经有6人回复
科研从小木虫开始,人人为我,我为人人













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