本教程演示了通过编写UDF进行沉降池内浓度场的模拟。

1 启动FLUENT并导入网格
(1)在Windows系统下执行“开始”→“所有程序”→ANSYS 2021 R1→Fluid Dynamics→Fluent 2021 R1命令,启动Fluent 2021 R1。
(2)单击主菜单中File→Read→Mesh命令,导入.msh网格文件。
2 定义模型
(1)单击命令结构树中General按钮,弹出General(总体模型设定)面板,Solver中Time选择Transient进行瞬态模拟,2D Space选择为Axisymmetric。
3 设置湍流模型
(1)在模型设定面板Models中双击Viscous按钮,弹出Viscous Models对话框,勾选k-epsilon模型。

4 设置UDF
(1)单击主菜单中User-Defined→Functions→Compiled按钮,导入UDF文件。
UDF文件内容如下:
#include "udf.h"#include "turb.h"#define SC_T 0.7#define RHOP 1450.#define RHOW 1000.#define GX 9.81#define US0 0.005#define RH 0.7#define RP 5#define CMIN 0.01#define USMAX 0.002static real settling_velocity(real C){real US;if(CUS=0.;elseUS=US0*(exp(-RH*(C-CMIN))-exp(-RP*(C-CMIN)));if(US>0.002)US=0.002;return US;}DEFINE_UDS_FLUX(settling_flux,f,tf,i){cell_t c0=F_C0(f,tf),c1=F_C1(f,tf);Thread *t0=THREAD_T0(tf),*t1=THREAD_T1(tf);real face_concentration;real gravity_vector[]={1,0,0},area[ND_ND];if ((t1==NULL)||(THREAD_TYPE(tf)==THREAD_F_WALL))face_concentration=F_UDSI(f,tf,0);elseface_concentration=.5*(C_UDSI(c0,t0,0)+C_UDSI(c1,t1,0));F_AREA(area,f,tf);if (THREAD_TYPE(tf)==THREAD_F_WALL)return 0.;elsereturn F_FLUX(f,tf)+C_R(c0,t0)*settling_velocity(face_concentration)*NV_DOT(gravity_vector,area);}DEFINE_DIFFUSIVITY(turbulent_diff,c,tc,i){return 1e-10+C_MU_T(c,tc)/SC_T;}DEFINE_SOURCE(X_mom_src,c,tc,ds,eqn){C_UDMI(c,tc,0)=settling_velocity(C_UDSI(c,tc,0));C_UDMI(c,tc,1)=C_MU_T(c,tc)/SC_T;C_UDMI(c,tc,2) = GX*C_UDSI(c,tc,0)*(RHOP-C_R(c,tc))/RHOP;return C_UDMI(c,tc,2) ;}DEFINE_SOURCE(turb_k_source,c,tc,ds,eqn){real beta=(RHOP-RHOW)/(RHOP*RHOW);C_UDMI(c,tc,3)=-GX*beta*C_MU_T(c,tc)/SC_T*C_UDSI_G(c,tc,0)[0];ds[eqn]=-2*GX*beta*0.09*C_K(c,tc)/(C_D(c,tc)*SC_T)*C_UDSI_G(c,tc,0)[0];return C_UDMI(c,tc,3);}DEFINE_SOURCE(turb_e_source,c,tc,ds,eqn){real C3_eps=0.;C3_eps=tanh(fabs(C_U(c,tc)/C_V(c,tc))+fabs(SMALL_VP));C_UDMI(c,tc,4)=C3_eps*1.44*C_D(c,tc)/C_K(c,tc)*C_UDMI(c,tc,3);return C_UDMI(c,tc,4);}DEFINE_PROPERTY(viscosity,c,tc){if (C_UDSI(c,tc,0)>0.7)return 0.00327*pow(10.,0.132*C_UDSI(c,tc,0));elseif (C_UDSI(c,tc,0)>0.01)return 0.00404527222+0.00304527222*(C_UDSI(c,tc,0)-0.7)/0.69;elsereturn 0.001;}
(2)单击主菜单中User-Defined→Functions→Scalars按钮,激活UDS。

(3)单击主菜单中User-Defined→Functions→Memory按钮,设置UDM。

5 设置材料
(1)单击主菜单中Setting Up Physics→Materials→Create/Edit,弹出Create/Edit Materials(材料)对话框。设置Viscosity和UDS Diffusivity为user-defned。

(2)单击主菜单中Setting Up Physics→Materials→Create/Edit,弹出Create/Edit Materials(材料)对话框。单击Fluent Database按钮弹出Fluent Database Materials对话框,选择water liquid,单击Copy按钮确认。
设置Viscosity和UDS Diffusivity为user-defned。

6 设置计算域
在设置计算域中,Material Name设置为water-liquid,勾选Source Terms。
Axial Momentum设置为X_mom_src::sedimentation;
Turbulent Kinetic Energy设置为udf turb_k_source::sedimentation
Turbulent Dissipation Rate设置为udf turb_k_source::sedimentation




7 设置边界条件
(1)在边界条件面板中,设置inlet,Velocity Magnitude输入0.019,User Scalar 0设置为3.2。


(2)设置outlet_top,Velocity Magnitude输入-0.04,User Scalar 0设置为3.2。


8 初始条件
单击主菜单中Solving→Initialization按钮,弹出Solution Initialization(初始化设置)面板。
Initialization Methods中选择Hyper Initialization,单击Initialize按钮进行初始化。
9 计算求解
单击主菜单中Solving→Run Calculation按钮,弹出Run Calculation(运行计算)面板。
在Time Step Size填入10,Number of Time Steps填入7300,单击Calculate开始计算。
10 结果后处理
进入CFD-Post界面,显示云图。
本篇文章来源于微信公众号: 南流坊








评论前必须登录!
注册