|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 清颜oo 于 2017-11-13 09:47 编辑
最近学习UDF,查阅了一些资料后,自己编写了一个关于液压缸运动的UDF程序,但是在fluent运行时出现Updating solution at time level N... done. Updating mesh at time level N...,之后就像软件未响应一样,不能计算,不知是程序出错,网格画的不对(非结构网格)还是Fluent模型设置的时候出错,所以先请教高手是否程序有问题。程序如下:
# include<math.h>
# include"udf.h"
# include"mem.h"
static real body_mass = 0.24;
static real current_vel = 0.0;
static real xv = 0.0;
DEFINE_CG_MOTION(moving_wall,dt,vel,omega,time,dtime)
{
FILE *fp = NULL;
char filename[] = "force_velocity_xv.txt";
Domain *d = Get_Domain(1);
Thread *left =Lookup_Thread(d,20);
Thread *right =Lookup_Thread(d,22);
face_t f;
real A[ND_ND];
real force_left;
real force_right;
real total_force;
real d_vel;
NV_S(vel,=,0.0);
NV_S(omega,=,0.0);
force_left=0.0;
begin_f_loop(f,left)
{
F_AREA(A,f,left);
force_left += F_P(f,left)*A[0];
}
end_f_loop(f,left)
force_right=0.0;
begin_f_loop(f,right)
{
F_AREA(A,f,right);
force_right += F_P(f,right)*A[0];
}
end_f_loop(f,right)
total_force = force_left - force_right;
d_vel = dtime * total_force/ body_mass;
current_vel += d_vel;
vel[0] = current_vel;
xv += (vel[0] * dtime);
fprintf(fp,"%f %f %f %f %f %f\n",time,current_vel,force_left,force_right,total_force,xv);
fclose(fp);
}
希望大家给我一些建议,不胜感激!
空白区域左右两边是运动面!
|
|