本教程的目的是说明如何使用用户定义函数(UDF)来控制带有旋转叶片和柔性振荡膜的通用流动装置的动态网格。旋转叶片和振荡膜的运动具有较大的振幅,需要采用局部重划。叶片的旋转、膜的振荡以及节点沿外壳顶壁的滑动通过UDF进行定义和控制,UDF利用了动态网格模型特有的三个宏。
1 启动FLUENT并导入网格
(1)在Windows系统下执行“开始”→“所有程序”→ANSYS 2021 R1→Fluid Dynamics→Fluent 2021 R1命令,启动Fluent 2021 R1。
(2)单击主菜单中File→Read→Mesh命令,导入.msh网格文件。
2 定义模型
单击命令结构树中General按钮,弹出General(总体模型设定)面板,在Solver中Time选择Transient,进行瞬态计算。
3 设置湍流模型
在模型设定面板Models中双击Viscous按钮,弹出Viscous Models对话框,在Model中选择Laminar,单击OK按钮确认。
4 设置动网格
(1)单击主菜单中User-Defined→Functions→Compiled,弹出
Compiled UDFs对话框。导入编写好的UDF文件。
UDF内容如下:
#include "udf.h"
#define omega 1.0
#define R 0.109
DEFINE_CG_MOTION(butterfly_flex_UDF, dt, cg_vel, cg_omega, time, dtime)
{
cg_vel[0] = 0.0;
cg_vel[1] = 0.0;
cg_vel[2] = 0.0;
cg_omega[0] = 0.0;
cg_omega[1] = 0.0;
cg_omega[2] = omega;
}
DEFINE_GRID_MOTION(moving_arc, domain, dt, time, dtime)
{
Thread *tf = DT_THREAD (dt);
face_t f;
Node *node_p;
real alpha, theta, x, ymag, yfull, y;
int n;
begin_f_loop (f, tf)
{
f_node_loop (f, tf, n)
{
node_p = F_NODE (f, tf, n);
if (NODE_POS_NEED_UPDATE (node_p))
{
NODE_POS_UPDATED (node_p);
x = NODE_X (node_p);
ymag = sqrt (R*R - x*x) + 0.03;
yfull = ymag - 0.1;
y = - 0.1 + yfull * sin(theta);
NODE_Y (node_p) = y;
}
}
}
end_f_loop (f, tf);
}
(2)双击Dynamic Mesh按钮,弹出Dynamic Mesh面板,勾选Dynamic Mesh,Mesh Methods中的Smoothing和Remeshing,单击Settings按钮弹出Mesh Method Settings对话框,设置Smoothing和Remeshing参数。
(3)在Dynamic Mesh Zones中设置动网格区域。
5 设置边界条件
(1)在边界条件面板中,双击inlet弹出边界条件设置对话框。Velocity Magnitude输入0,单击OK按钮确认退出。
(2)双击inlet-bottom弹出边界条件设置对话框。边界类型为Pressure Inlet,Gauge Total Pressure设置为0,单击OK按钮确认退出。
(3)双击outlet弹出边界条件设置对话框。Gauge Pressure输入0,单击Apply按钮确认退出。
6 初始条件
单击主菜单中Solution→Initialization按钮,弹出Solution Initialization(初始化设置)面板。
Initialization Methods中选择Standard Initialization,单击Initialize按钮进行初始化。
7 计算求解
单击主菜单中Solving→Run Calculation按钮,弹出Run Calculation(运行计算)面板。
在Time Step Size填入0.005,Number of Iterations中输入2000,单击Calculate开始计算。
8 结果后处理
(1)进入CFD-Post界面。
(2)显示云图。
本篇文章来源于微信公众号: 南流坊
评论前必须登录!
注册