Fluent动网格|光顺
- 作者优秀
- 优秀教师/意见领袖/博士学历/特邀专家
- 平台推荐
- 内容稀缺
本文摘要(由AI生成):
本文介绍了Fluent动网格中网格光顺的控制方法,通过两个案例演示了弹簧光顺和扩散光顺的实现过程。弹簧光顺采用Smoothing方法,使用UDF定义网格运动,通过设置变形区域、动网格设置、动网格预览等步骤实现。扩散光顺采用Diffusion方法,同样使用UDF定义网格运动,通过设置General参数、读取Profile文件、设置动网格、指定区域运动类型、网格预览等步骤实现。两个案例均采用2D、Double Precision方式启动Fluent,并读取相应的网格文件。
本案例演示Fluent动网格中网格光顺的控制方法。
1 案例1:弹簧光顺
初始网格如下图所示。

1.1 分割计算区域
变形区域需要进行分割。

1.2 General设置

1.3 编译UDF

源代码如下:
#include "udf.h"
#include "dynamesh_tools.h"
#define AMPL .1
#define FREQ 10.
DEFINE_GRID_MOTION(vibration1, domain, dt, time, dtime)
{
face_t f;
Thread *tf = DT_THREAD ((Dynamic_Thread *)dt);
Node *v;
real x;
int n;
/* set deforming flags */
SET_DEFORMING_THREAD_FLAG (tf->t0);
begin_f_loop (f, tf)
{
f_node_loop (f, tf, n)
{
v = F_NODE (f, tf, n);
x=NODE_X(v);
NODE_Y(v)=+AMPL*sin(M_PI*x/2)*sin(2*M_PI*FREQ*time)+0.03;
}
Update_Face_Metrics (f, tf);
}
end_f_loop (f,tf)
printf("\n x_velocity \n");
}
DEFINE_GRID_MOTION(vibration2, domain, dt, time, dtime)
{
face_t f;
Thread *tf = DT_THREAD ((Dynamic_Thread *)dt);
Node *v;
real x;
int n;
/* set deforming flags */
SET_DEFORMING_THREAD_FLAG (tf->t0);
begin_f_loop (f, tf)
{
f_node_loop (f, tf, n)
{
v = F_NODE (f, tf, n);
x=NODE_X(v);
NODE_Y(v)=+AMPL*sin(M_PI*x/2)*sin(2*M_PI*FREQ*time)-0.03;
}
Update_Face_Metrics (f, tf);
}
end_f_loop (f,tf)
}
1.4 动网格设置








1.5 动网格预览

网格变形结果如下图所示。

2 案例2:扩散光顺
计算网格如图所示。

2.1 General设置

2.2 读取Profile文件

2.3 设置动网格




2.4 网格预览

网格运动如图所示。

2.5 改变运动为转动
读取case文件
如下图所示修改区域box的网格运动形式




博士
|
教师
探讨CFD职场生活,闲谈CFD里外
获赞 2600粉丝 11733文章 783课程 27