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

Fluent UDF|EX02 体积热源

本案例演示在Fluent中利用UDF定义体积热源的基本过程。

1 计算模型

计算模型如图所示。采用UDF定义壁面温度分布与热源。温度分布的定义见案例1,本案例主要描述热源的定义。

Fluent中可以定义质量源、动量源、能量源以及湍流源项,能量源主要用于计算区域内存在体积热源的情况下。本案例中的热源是温度与速度的函数,其函数表达式为:

其中

另外源项编写需要计算导数:

2 UDF准备

与源项相关的UDF宏为DEFINE_SOURCE。

此宏的定义形式为:

DEFINE_SOURCE (name, c, t, dS, eqn)

其中,name为宏名,可以是任何符合c语言函数命名规范的字符串;ct的值来自于求解器,用于获取变量值;dS为源项对于传输方程因变量的导数的数组,通常需要在源代码内定义dS[eqn]的表达形式。

本案例定义的源项对应的源代码如下。

#include "udf.h"
DEFINE_SOURCE(heat_source, c, t, dS, eqn)
{
const real C1 = 1.0;
const real C2 = 0.03;
real source;
real cst_aux = C1 / (C2 - C_U(c, t));
source = cst_aux * C_T(c, t);
dS[eqn] = cst_aux;
return source;
}

代码中的一些需要注意的地方:

  • C_U宏用于获取x方向的速度;C_T宏用于获取温度值
  • source定义了源项的表达式,该值需要返回给求解器
  • dS[eqn]定义了源项对变量的导数表达式,对于能量源,通常是对温度求导

将上面的代码写到一个文本文件中,保存为文件heat_source.c

3 Fluent设置

3.1 读取网格

  • 利用菜单File → Read → Mesh…读取网格文件channel.msh
img

3.2 编译UDF文件

  • 右键选择节点User Defined Functions,点击菜单项Compiled… 打开文件编译对话框
img
  • 如下图所示顺序编译UDF文件
    • 点击Add… 按钮打开文件对话框添加UDF源文件temp_wall.c与heat_source.c
    • 勾选选项Use Built-in Compiler
    • 点击按钮Build编译代码
    • 代码编译完毕后点击按钮Load加载UDF宏

注:

这里准备了两个源文件temp_wall.c与heat_source.c,其实也可以将源代码写在一个文件中。

UDF加载后TUI窗口显示如下图所示信息。

3.3 其它设置

  • 激活能量方程
img

注:

案例UDF指定是温度边界,因此需要激活能量方程。

  • 采用层流计算。这里根据案例的实际情况选择
img
  • 设置计算区域fluid_2
    • 激活选项Source Terms
    • 选择Energy后的**Edit…**打开能量源设置对话框
  • 如下图所示设置能量源为udf heat_source::libudf,点击OK按钮关闭对话框
  • 指定入口速度0.01 m/s
img
  • 如下图所示选择所有的壁面,点击右键菜单Multi Edit… 打开设置对话框
  • 指定壁面边界条件
    • 指定边界类型为Temperature
    • 指定边界条件为udf temp_wall_profile::libudf
  • 指定迭代计算参数
img

计算完毕后查看温度分布,如下图所示。


相关文件及源代码下载链接(内含30张面额30元微课堂优惠券,当天有效,领完为止)。

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

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

说两句 抢沙发

评论前必须登录!

 

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

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

支付宝扫一扫

微信扫一扫

登录

找回密码

注册