使用fluent的动网格功能模拟了流体绕俯仰-升沉振荡二维翼型的流场后,想得到作用于翼型俯仰参考轴上的俯仰力矩随时间的变化关系,采用了函数Compute_Force_And_Moment(domain, thread, body_centroid, force, moment, FALSE);来求解,可是算下来的俯仰力矩明显有问题(图片中的俯仰力矩都是正值,可是俯仰振荡以后攻角有正有负,俯仰力矩肯定有负值的情况),更换模型俯仰轴的参考位置后,结果也没有什么变化(一个参考轴取距前缘0.3倍的弦长,一个取0.6倍的弦长,结果峰值差不多,变化规律基本一样),请问Compute_Force_And_Moment默认的力矩参考轴是什么位置?我的程序为什么输出的力矩系数有问题?
这个程序里求得的力矩是相对于,大地坐标系,还是随体坐标系,谢谢
附程序:
#include "udf.h"
#include "mem.h"
#include "dynamesh_tools.h"
#include "math.h"
/************************************************************/
FILE*fp;
real current_time = 0.0000 ;
static real vel[3]={0,0,0};/* 初始速度*/
static real omega[3]={0,0,0};/* 初始角速度*/
static real body_centroid[3]={0,0,0};/* 初始形心位置,需要修改*/
static real Chord=0.1,F_density=998.2,U_flow=2;
static real pi=3.1416,frequency=2.0000,Y_amplitude=0.1,w_amplitude=0.8727;
real NV_VEC( origin ),NV_VEC( force ),NV_VEC( moment );
real C_momentr;
/************************************************************/
DEFINE_CG_MOTION(hydrofoil,dt,vel,omega,time,dtime)
{
Domain * domain ;
Thread * thread ;
face_t f;
current_time = CURRENT_TIME ;
vel[0] = 0.0 ;
vel[1] =2*pi*frequency*Y_amplitude*cos(2*pi*frequency*current_time+pi/2);
vel[2] = 0.0 ;
omega[0] = 0.0 ;
omega[1] = 0.0 ;
omega[2] =2*pi*frequency*w_amplitude*cos(2*pi*frequency*current_time);
thread=DT_THREAD(dt);
domain = THREAD_DOMAIN (thread);
/************************************************************/
body_centroid[0]=DT_CG(dt)[0];/* 获取形心坐标*/
body_centroid[1]=DT_CG(dt)[1];/* 获取形心坐标*/
Compute_Force_And_Moment(domain, thread, body_centroid, force, moment, FALSE);/* 计算水翼总的受力情况*/
C_moment=moment[2]/(0.5*F_density*U_flow*U_flow*Chord*Chord);/* 计算俯仰力矩系数*/
fp=fopen("D:\\moment_coefficient.dat", "a+" ;
fprintf(fp, "%12f",C_moment);
fprintf(fp, "\n" ;
fclose(fp);
}
![]()
未命名.JPG
[ Last edited by water217 on 2013-1-24 at 17:55 ] |