| 查看: 538 | 回复: 0 | ||
[求助]
二维剖面强迫横摇问题
|
|
大家好,第一次在小木虫上发帖求助,金币有点少,但是真心求教,求大家帮帮忙。 我现在做的问题如下: 想要用FLUENT计算一个二维剖面在水中强迫横摇的问题。二维剖面做简谐运动,幅值频率分别是A和φ0。应用动网格中的滑移网格来解决这个问题。下面是我自己编写的UDF。 UDF code: #include"udf.h" #define freq 0.84 //频率 #define ampl 0.175 //幅值 #define density 998.2 //水密度 #define GRAVITY 9.81 //重力加速度 int id=14; //二维剖面的ID DEFINE_CG_MOTION(int_block_roll, dt, vel, omega, time, dtime) { omega[2] = 2*M_PI*freq*ampl*cos(2*M_PI*freq*time); } DEFINE_EXECUTE_AT_END(exe_end) { real x_cg[3],m_glob[3],f_glob[3],sita,time,m_plus; real x[ND_ND],A[ND_ND]; FILE *fp; Domain *domain=Get_Domain(1); face_t f; Thread *tf=Lookup_Thread(domain,id); time = CURRENT_TIME; x_cg[0] = 0.0; x_cg[1] = 0.0; m_plus=0.0; sita = ampl*sin(2*M_PI*freq*time); if(!Data_Valid_P()) return; Compute_Force_And_Moment(domain,tf,x_cg,f_glob,m_glob,TRUE); begin_f_loop(f,tf) { F_CENTROID(x,f,tf); F_AREA(A,f,tf); if(x[1]<0.0) m_plus+=density*GRAVITY*x[1]*fabs(x[1]*A[0]-x[0]*A[1]); } end_f_loop(f,tf) m_glob[2]+=m_plus; #if !RP_NODE fp=fopen("roll.txt","a" ;fprintf(fp,"%f,%f,%f,%f,%f,%f ",time,sita,f_glob[0],f_glob[1],NV_MAG(f_glob),m_glob[2]); fclose(fp); #endif } 模拟中我使用的二维剖面是根据Ikeda的试验来确定的。网格的划分使用ANSYS ICEM来画的结构网格。参考很多做同样问题的文献,最后是要监测二维剖面受到的力矩的大小。求大家帮忙看看哪里出了问题,谢谢! 万分感谢!@wuming524 |
» 猜你喜欢
拟解决的关键科学问题还要不要写
已经有8人回复
26申博
已经有3人回复
存款400万可以在学校里躺平吗
已经有22人回复
最失望的一年
已经有4人回复
国自然申请面上模板最新2026版出了吗?
已经有19人回复
请教限项目规定
已经有3人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
基金申报
已经有6人回复
推荐一本书
已经有13人回复
疑惑?
已经有5人回复













;
回复此楼