| 查看: 508 | 回复: 1 | ||
| 【悬赏金币】回答本帖问题,作者dwademvp将赠送您 20 个金币 | ||
[求助]
求大佬帮我看看这个udf
|
||
|
计算壁面条件的,这个udf是仿照帮助文档写的,能加载,但碰撞的粒子都abort了,无反弹的粒子,想知道哪里出问题了。 #include "udf.h" DEFINE_DPM_BC(my_dpm_bc,p,t,f,f_nomal,dim) { real vn=0.; real alpha; real vc; real vn1; real nor_coeff=0.8; real tan_coeff=0.3; real nomal[3]; real diam; real NV_VEC(x); diam=P_DIAM(p); int i,idim=dim; for(i=0;i<idim;i++) nomal=f_nomal; for(i=0;i<idim;i++) vn+=p->state.V*nomal; vn1=fabs(vn); vc=pow((2*0.00000018/diam/45.3/45.3*pow((45.3+pow(vn1,0.718)),2)),1.43); if(vn1<vc) { return PATH_ABORT; } else if(p->type==DPM_TYPE_INERT) { alpha=M_PI/2.-acos(MAX(-1.,MIN(1.,NV_DOT(nomal,p->state.V)/ MAX(NV_MAG(p->state.V),DPM_SMALL)))); if((NNULLP(t))&&(THREAD_TYPE(t)==THREAD_F_WALL)) F_CENTROID(x,f,t); for(i=0;i<idim;i++) p->state.V-=vn*nomal; for(i=0;i<idim;i++) p->state.V*=tan_coeff; for(i=0;i<idim;i++) p->state.V-=nor_coeff*vn*nomal; for(i=0;i<idim;i++) p->state0.V= p->state.V; return PATH_ACTIVE; } } |
» 猜你喜欢
遇见不省心的家人很难过
已经有16人回复
退学或坚持读
已经有25人回复
博士延得我,科研能力直往上蹿
已经有4人回复
免疫学博士有名额,速联系
已经有14人回复
面上基金申报没有其他的参与者成吗
已经有4人回复
多组分精馏求助
已经有6人回复
2楼2022-06-09 15:04:43













回复此楼