首页/文章/ 详情

FLUENT沉降池模拟

3年前浏览3376

本教程演示了通过编写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.002


static real settling_velocity(real C)

{

  real US;


if(C<CMIN)

US=0.;

else

US=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);

else

    face_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.;

else

return 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));

else

if (C_UDSI(c,tc,0)>0.01)

return 0.00404527222 0.00304527222*(C_UDSI(c,tc,0)-0.7)/0.69;

else

return 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界面,显示云图。

image.png

理论科普仿真体系代码&命令流体基础Fluent
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-05-26
最近编辑:3年前
南流坊
硕士 | 工程师 欢迎关注微信公众号南流坊
获赞 831粉丝 2057文章 411课程 2
点赞
收藏
作者推荐

¥30 5.0
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈