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

Fluent UDF【5】:第一个UDF

内容纲要

这里以一个简单的初始化案例来描述UDF的源代码编写、编译及加载过程。通过此案例可以熟悉UDF的整个使用流程。

1

Fluent中的Patch

Fluent中提供了全域初始化以及局部Patch功能。对于整体区域的全局初始化可以采用starndard及hybrid方法进行初始化,指定各种物理量的初始分布。而对于计算域中的局部区域初始化,则可以通过Patch功能来实现。 

在使用Patch方法时,需要实现对要进行Patch的区域进行标记。选择Mark/Adapt Cells→Region...可弹出区域定义对话框。 

 

可以在弹出的对话框中设置几何条件来Mark区域。 

 

然而在此对话框中可定义的形状类型只有三种:Quad、Circle或Cylinder,在3D模型中对应的是Hex、Sphere以及Cylinder。对于更复杂的模型似乎无能为力。此时可以借助UDF来解决问题。

2

案例描述

如下图所示的矩形区域为计算区域,其初始温度为300K。计算模型尺寸如图所示。 

 

图中红色部分为要进行初始化处理的椭圆区域,其初始温度为500K。

3

网格

网格如图所示。 

4

编写UDF源文件

对于这种椭圆形区域的初始化,只能采用UDF来实现。利用DEFINE_INIT宏来实现这种区域的标记工作。 
本案例中椭圆方程为:

因此可编写UDF如下。 

5

 编译UDF

利用User Defined标签页下的Function→Compiled…,Fluent软件会弹出UDF编译对话框。 

 

在弹出的对话框中利用Add…按钮添加UDF源文件,点击Build按钮进行编译,并点击按钮Load加载UDF。 


本案例也可以采用解释的方式运行。

6

Hook UDF

UDF编译完成后,需要将UDF加载到Fluent中。这部分工作可以通过相应的GUI来实现。 

DEFINE_INIT宏需要在User Defined标签页下的Funcition Hooks…中进行加载。 

 

选择此按钮后打开UDF加载对话框。 

7

查看结果

在查看初始化结果之前,需要开启相应的模型。由于本案例初始化的是温度变量,所以必须首先开启能量方程。 

 

之后进行初始化。 

 

初始化完毕后可以查看温度云图分布,如下图所示。 


可以看到椭圆形区域初始温度设置为500K。 

按同样的道理,可以初始化任何形状的区域,只要这些区域可以用数学函数来表达。

子曰:天底下最悲催的事情是:你花了很多时间写了一篇自认为是干货的文章,结果却没有人看。

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

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

说两句 抢沙发

评论前必须登录!

 

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

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

支付宝扫一扫

微信扫一扫

登录

找回密码

注册