本教程的目的是说明如何使用用户定义函数(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.109DEFINE_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)显示云图。
本篇文章来源于微信公众号: 南流坊








评论前必须登录!
注册