FLUETN模拟木块水中漂浮

浏览:54107 回答:4
本人想模拟小木块漂浮在水面上,然后在波浪中的浮动情况。模型如下所示:
QQ截图20141219084339.png
小木块的运动利用6DOF实现,
#include "udf.h"
DEFINE_SDOF_PROPERTIES(box, prop, dt, time, dtime)
{
prop[SDOF_MASS] = 1.000000;
prop[SDOF_IZZ] = 0.166666;
}
波浪利用UDF来实现:
#include "udf.h"
#include "math.h"
real a=0.2;/*二分之一波高*/
real k=2.0*3.1415925/5; /*波数*/ /*分母为波长*/
real w=3.511; /*圆频率w*w=kg*/
real h=2.5;/*水深*/
DEFINE_PROFILE(x_velocity,thread,index)
{
real x[ND_ND];
real y;
face_t f;
real t;
real u;
t=RP_Get_Real("flow-time");
begin_f_loop(f,thread)
{
F_CENTROID(x,f,thread);
y = x[1];
if(y<(a*cos(w*t)))
u=a*w*cosh(k*(y+h))*cos(-w*t)/sinh(k*h)+0.1;
else
u =0.0;
F_PROFILE(f,thread,index)=u;
}
end_f_loop(f,thread)
}
DEFINE_PROFILE(y_velocity,thread,index)
{
real x[ND_ND];
real y;
face_t f;
real t;
real v;
t=RP_Get_Real("flow-time");
begin_f_loop(f,thread)
{
F_CENTROID(x,f,thread);
y = x[1];
if(y<(a*cos(w*t)))
v=a*w*sinh(k*(y+h))*sin(-w*t)/sinh(k*h);
else v=0.0;
F_PROFILE(f,thread,index)=v;
}
end_f_loop(f,thread)
}
DEFINE_PROFILE(voffactor,thread,index)
{
real x[ND_ND];
real y;
face_t f;
real t;
t=RP_Get_Real("flow-time");
begin_f_loop(f,thread)
{
F_CENTROID(x,f,thread);
y = x[1];
if(y<(a*cos(w*t)))
F_PROFILE(f,thread,index) = 1.0;
else F_PROFILE(f,thread,index) = 0.0;
}
end_f_loop(f,thread)
}
可是在 FLUENT 计算时,出现了问题,刚没算几步,网格就出现下面的问题
QQ截图20141219084625.png

请问这是怎么回事?如何解决?谢谢各位。
邀请回答 我来回答

全部回答

(4)
默认 最新
moonshine🤓

您好,请问解决了吗

2022年5月2日
评论 点赞
砥力

边界层最好定义为刚性的,外围网格参数自动更新。流体力最好是先算出初值后,再加载动网格

2019年11月21日
评论 点赞
@_6135
解决了吗
2019年10月31日
评论 点赞
肖芳斌深圳
这是Fluent版块的,有专门的CFD版块
你这个问题可以参考以下案例
http://forums.caenet.cn/showtopic-532886.aspx
http://forums.caenet.cn/showtopic-525723.aspx
2014年12月19日
评论 点赞

没解决?试试专家一对一服务

换一批
    App下载
    技术邻APP
    工程师必备
    • 项目客服
    • 培训客服
    • 平台客服

    TOP