吾生有涯 学海无涯
析模有界 知识无界

Fluent UDF|EX07 多孔介质

本案例演示利用Fluent UDF模拟多孔介质区域。

1 计算模型

计算模型如图所示。

计算区域中包含一个多孔介质区域,利用UDF为该区域指定动量源以模拟多孔介质。多孔区域X方向的动量源项表示为:

其中C为常数,C=100。

注:

本案例不采用Fluent中的多孔介质模型。模型中的C是由实验测试拟合得到的。

2 准备UDF

利用DEFINE_SOURCE宏指定源项。Fluent采用以下方式对源项进行线性化:

式中*上标表示的是上一次迭代的值。B项(称为dS[eqn])需要在UDF中明确指定,的值利用UDF进行返回。

对于本案例中的源项,B可以表示为:

写成UDF代码如下图所示。

#include "udf.h"
DEFINE_SOURCE(xmom_source, cell, thread, dS, eqn)
{
const real c2=100.0;
real x[ND_ND];
real con, source;

C_CENTROID(x, cell, thread);
con = c2*0.5*C_R(cell, thread)*x[1];
source = - con*fabs(C_U(cell, thread))*C_U(cell, thread);
dS[eqn] = - 2.*con*fabs(C_U(cell, thread));

return source;
}

代码中:

  • 利用C_CENTROID宏得到网格单元的坐标值。动量源表达式中需要利用到y坐标值
  • 利用C_R宏得到密度;利用C_U宏得到x方向速度
  • 需要返回source表达式,且在源代码中明确指定dS[eqn]的计算方式

3 Fluent设置

  • 2D、Double Precision模式启动Fluent
  • 利用菜单File → Read → Mesh… 读取计算网格porous_plug.msh.gz

3.1 编译UDF

  • 右键选择模型树节点User Defined Functions,点击菜单项Compiled… 打开文件设置对话框
  • 如下图所示编译UDF并加载UDF

3.2 设置区域

  • 打开fluid-2区域设置对话框,激活选项Source Terms,点击X Momentum右侧Edit… 按钮
  • 设置源项为udf xmom_source::libudf,如下图所示

3.3 边界条件设置

  • 指定入口边界速度为1 m/s
  • 指定出口为压力出口,静压为0 Pa

3.4 初始化

  • 进行初始化计算

3.5 计算

  • 设置迭代计算参数并进行计算

3.6 计算结果

  • 压力分布如下图所示,可以看到多孔介质参数对流动起到了阻塞作用
  • 速度分布如下图所示
  • 速度矢量分布如下图所示

发放少量微课堂优惠券,有需要的道友可以领取。

识别二维码直接领取

文中相关文件下载链接:

识别下方二维码直接下载

本篇文章来源于微信公众号: CFD之道

赞(3) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《Fluent UDF|EX07 多孔介质》
文章链接:https://www.topcfd.cn/11804/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册