| 查看: 554 | 回复: 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; } } |
» 猜你喜欢
今年E04面上
已经有24人回复
生命口会评
已经有12人回复
祈祷青基必中
已经有12人回复
大龄残疾硕士的一点执念
已经有26人回复
27届辽宁大学应届毕业生申博
已经有3人回复
关于如何从代码看上不上会
已经有23人回复
chemdraw
已经有6人回复
b口会评
已经有6人回复
信息学部会评时间
已经有3人回复
在职考研
已经有7人回复
2楼2022-06-09 15:04:43











回复此楼