发布时间 : 星期五 文章Fluent UDF造波源程序集更新完毕开始阅读
法二:推波板造波法(动网格)
程序三:pushboard.c
#include
#define T 5.8 /*周期*/ #define S 1.04 /*冲程*/ #define PI 3.1415926
DEFINE_CG_MOTION(pushboard, dt, cg_vel, cg_omega, time, dtime) {
real u = 0; real ww = 0; ww = 2*PI/T; if(time <= 2*T)
u = ww*S*time*cos(ww*time)/(4*T); else
u = ww*S*cos(ww*time)/2; cg_vel[0] = u; }
法三:摇板造波法
程序四:11.c (三维造波)
#include\#define k 0.77 #define w 2.75
#define A 0.059 /*振幅*/ #define l 1.6 /*波长*/
DEFINE_CG_MOTION(yaoban,dt,vel,omega,time,dtime) {
vel[0]=0.0; /*x方向的速度*/ vel[1]=0.0; vel[2]=0.0;
omega[0]=0.0; omega[1]=0.0;
omega[2]=atan(A/l)*w*cos(w*time); /*z方向的角频率*/ }
程序五:b.c
#include \static real G=9.81;
static real VLA_M=100; static real VLA_F=0.0; static real VLA_V=0.0;
DEFINE_CG_MOTION(vla,dt,vel,omega,time,dtime) {
Thread *t; Domain *d;
real dv,CG[ND_ND],force[2],moment[2]; if(!Data_Valid_P()) return;
NV_S(vel,=,0); NV_S(omega,=,0);
d=THREAD_DOMAIN (DT_THREAD ((Dynamic_Thread *)dt)); t=DT_THREAD(dt); NV_S (CG, =, 0.0);
Compute_Force_And_Moment(d,t,CG,force,moment,FALSE); dv = dtime * (force[1]-G*VLA_M)/ VLA_M; VLA_V+= dv; vel[1]=VLA_V; VLA_F=force[1];
Message(\ VLA_V); }