请教UDF铺层动网格的问题
Lz最近在学习UDF动网格,花了很多功夫了,最近在网上下载了一个老师做的二维动网格,并试运行了一下,网格能运动。但lz有以下一些疑问。UDF源程序很简单,模拟的是一个活塞的上下运动,速度函数是一个正弦曲线:
#include "udf.h"
#include "dynamesh_tools.h"
DEFINE_CG_MOTION(piston, dt, vel, omega, time, dtime)
{
/* reset velocities */
NV_S (vel, =, 0.0);
NV_S (omega, =, 0.0);
/* compute velocity formula */
/*pas de temps idela pour cette fonction dtime=.02*/
vel[2]=0.25*2*3.14159*sin(2*3.14159*time);
printf("\n");
printf("\n z_velocity = %g \n",vel[2]);
}
我运行的时候也能正常的看到网格的上下运动,但是有两个疑问:
(1) 上面程序中,按DEFINE_CG_MOTION函数的规则,vel[0], vel[1]分别代表x、y方向的速度。但是程序里定义的是vel[2],表示的是z方向的速度。为什么程序还能正常运行?
(2) 我打开人家做好的cas文件,不编译UDF文件,就可以预览动网格了,这是不是说明cas里已经包含了人家编译好的udf?
(3) 点击preview预览动网格的运动,下面这个current mesh time会自动累加,而且过了2秒之后网格就不在运动,这是为什么?而且current mesh time是我无法修改的,怎么才能修改呢?如果正式开始仿真,仿真起始会不会从下图的5.5秒开始?
求高手指点一二,不胜感激!