找回密码
 注册
查看: 749|回复: 1

fulent进行液压缸UDF运动仿真时出错!

[复制链接]
发表于 2017-11-13 09:46:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

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);
}
希望大家给我一些建议,不胜感激! %3N7FJ8OBV(4ZD$AT]GL3.png   空白区域左右两边是运动面!

 楼主| 发表于 2017-11-17 15:04:01 | 显示全部楼层
请各位指导下,不要沉。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表