| 查看: 2317 | 回复: 0 | ||
mydearkaren铁虫 (小有名气)
|
[求助]
离散相边界条件UDF求助
|
|
参考帮助文档写了一个壁面碰撞的UDF,可以加载到FLUENT中,但是似乎完全没有起到作用。 我想实现的功能是这样的,当颗粒速度大于给定值时,颗粒与壁面碰撞后弹开(可能有滑移,可能无滑移),否则颗粒被壁面捕获(trap)。 加载UDF程序后,不论怎么调整给定值,颗粒总是弹开,从未被捕获。甚至我把整个弹开部分的程序都删掉,只留下Trap_Particle(p)结果还是一样。 不知道哪里出了问题,请大家帮忙看看呀~ 程序如下: /*reflect boundary condition for inert particles*/ #include "udf.h" DEFINE_DPM_BC(bc_reflect,p,t,f,f_normal,dim) { real alpha;/*angle of particle path with face normal*/ real vn=0.,vt=0.,u=0.3,ud=0.15; real nor_coeff=0.8,tan_coeff=0.3; real normal[3]; real x[2]; real NV_VEX(x); int i,idim=dim; /*dim is always 2 in 2D compilation. Need special treatment for 2D axisymmetric and swirl flows*/ if (rp_axi_swirl) { real R=sqrt(P_POS(p)[1]*P_POS(p)[1]+P_POS(p)[2]*P_POS(p)[2]); if (R>1.e-20) { /*二维法向量转换为三维法向量*/ idim=3; normal[0]=f_normal[0]; normal[1]=(f_normal[1]*P_POS(p)[1])/R; normal[2]=(f_normal[1]*P_POS(p)[2])/R; } else { for (i=0;i<idim;i++) normal=f_normal; } } if(NV_MAG(P_VEL(p))>0.02) { Reflect_Particle(p,f_normal,dim,f,t,t,f); if(p->type==DPM_TYPE_INERT) { alpha=M_PI/2-acos( MAX(-1,MIN(1,NV_DOT(normal,P_VEL(p))/MAX(NV_MAG(P_VEL(p)),DPM_SMALL)))); /*M_PI是一个宏定义,表示pi,3.14159265*/ /*acos反余弦函数*/ /*NV_DOT(x,u)在3D中等同于x[0]*u[0]+x[1]*u[1]+x[2]*u[2],2D中为x[0]*u[0]+x[1]*u[1]*/ /*NV_MAG(x)求模运算。相当于计算sqrt(x[0]*u[0]+x[1]*u[1]+x[2]*u[2])*/ if((NNULLP(t))&&(THREAD_TYPE(t)==THREAD_F_WALL)) /*NNULLP(t)是什么?*/ F_CENTROID(x,f,t); /*F_CENTROID是找到面心坐标,储存在x中,2D中即face整个面的坐标*/ /*calculate the normal component, rescale its magnitude by the coefficient of restitution and substract the change*/ /*compute normal velocity*/ for(i=0;i<idim;i++) vn+=P_VEL(p)*normal; /*substract off normal velocity.*/ for(i=0;i<idim;i++) P_VEL(p)-=vn*normal; vt=NV_MAG(P_VEL(p)); if (vt>7/2*u*(1+nor_coeff)*vn) { /*颗粒和壁面有滑移碰撞*/ for (i=0;i<idim;i++) P_VEL(p)-=ud*(1+nor_coeff)*vn*P_VEL(p)/vt; vn=-1*nor_coeff*vn; } /*颗粒和壁面无滑移碰撞*/ else { for (i=0;i<idim;i++) P_VEL(p)*=5/7; vn=-1*nor_coeff*vn; } for (i=0;i<idim;i++) P_VEL(p)+=vn*normal; /*store new velocity in P_VEL0 of particle*/ for(i=0;i<idim;i++) P_VEL0(p)=P_VEL(p); return PATH_ACTIVE; } } else Trap_Particle(p); } |
» 猜你喜欢
垃圾破二本职称评审标准
已经有7人回复
三无产品还有机会吗
已经有5人回复
投稿返修后收到这样的回复,还有希望吗
已经有7人回复
博士申请都是内定的吗?
已经有14人回复
谈谈两天一夜的“延安行”
已经有13人回复
氨基封端PDMS和HDI反应快速固化
已经有11人回复
之前让一硕士生水了7个发明专利,现在这7个获批发明专利的维护费可从哪儿支出哈?
已经有11人回复
论文投稿求助
已经有4人回复
Applied Surface Science 这个期刊。有哪位虫友投过的能把word模板发给我参考一下嘛
已经有3人回复
找到一些相关的精华帖子,希望有用哦~
FLUENT仿真微通道多相流模型设置
已经有13人回复
求助:关于fluent多相流分析中液相显示问题
已经有7人回复
这种次相体积分数方程该用什么多相流模型?
已经有6人回复
有关fluent UDF的问题
已经有15人回复
Fluent源项是离散的数据文件
已经有10人回复
关于DPM模型模拟液滴的若干问题
已经有16人回复
fluent中离散相模拟时,非稳态颗粒跟踪怎样输出每个时间步的颗粒位置等信息?
已经有21人回复
求助:FLUENT进出口流量不守恒的问题
已经有19人回复
【求助】fluent UDF设置边界条件
已经有13人回复
fluent模拟喷雾过程相关问题求助
已经有34人回复
离散相融化问题
已经有8人回复
UDF的编译通不过
已经有8人回复
DPM模型边界设置问题
已经有9人回复
fluent模拟激光照射铝板问题。求助
已经有6人回复
边界条件UDF求助
已经有4人回复
运用离散相模型模拟气固两相中如何添加颗粒的相关受力
已经有16人回复
求助气固两相流的边界条件问题
已经有8人回复
【求助】气液分离两相流动模拟fluent gambit出入口的设置
已经有11人回复
科研从小木虫开始,人人为我,我为人人













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