請教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秒開始?
求高手指點一二,不勝感激!

CAE從業者



















