|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我现在正在做的一个模块,用 UDF控制整个模型等比例收缩扩张。在计算过程中某个时间从一个断面开始放入一定量粒子来考察粒子运动轨迹。之前做刚体模型的考察时,没有出现任何问题,动网格的就总是计算过程中不能追踪到任何粒子。动网格中追踪粒子有什么特殊的设定么,在线等待高手解疑。
PS. UDF文件在 compile的时候也没有出现问题。
附上所写的 UDF文件
/**********************************************************
node motion based on simple beam deflection equation
compiled UDF
**********************************************************/
#include "udf.h"
DEFINE_GRID_MOTION(compliant, domain, dt, time, dtime)
{
Thread *tf=DT_THREAD(dt);
face_t f;
real TS;
Node *node_p;
int n;
TS = (int)((time-floor(time/5.0)*5.0)*1000.0/5.0+0.5);
begin_f_loop(f,tf)
{
f_node_loop(f,tf,n)
{
node_p = F_NODE(f,tf,n);
if(NODE_POS_NEED_UPDATE(node_p))
{
NODE_POS_UPDATED(node_p);
NODE_X(node_p) = NODE_X(node_p)*pow(1.25-0.25*cos(2.0*M_PI*0.001*TS),1.0/3.0)/pow(1.25-0.25*cos(2.0*M_PI*0.001*(TS-1.0)),1.0/3.0);
NODE_Y(node_p) = NODE_Y(node_p)*pow(1.25-0.25*cos(2.0*M_PI*0.001*TS),1.0/3.0)/pow(1.25-0.25*cos(2.0*M_PI*0.001*(TS-1.0)),1.0/3.0);
NODE_Z(node_p) = NODE_Z(node_p)*pow(1.25-0.25*cos(2.0*M_PI*0.001*TS),1.0/3.0)/pow(1.25-0.25*cos(2.0*M_PI*0.001*(TS-1.0)),1.0/3.0);
}
}
}
end_f_loop(f,tf);
} |
|