fluent udf手册_七、Fluent用户自定义函数(UDF)基础(1)

  前面我们所讲述的Fluent的相关知识只是很少很少的一部分,但是今天我们还是开始一部分新的知识。之所以这样做,是因为今天所讲述的知识在大家以后的学习中用途很广泛,同时这部分知识需要大家提前学习一些基础知识。

ed9cd7c19ff768206a325b090186fb2e.png

图1.UDF用户手册

UDF介绍:所谓UDF-用户自定义函数(User-defined functions),学习过编程语言的同学对此应该并不陌生,无论是C语言、JAVA还是Python,自定义函数被广泛的应用着,它能够使语言逻辑和代码的简洁性大幅度提高。Fluent的UDF有着同样的功能,但是又不完全相同。

在Fluent中,UDF使用C语言来编写,因此需要大家有一定的C语言基础,但是不必过于深入,大家只需要了解基本的格式和语法结构即可,同时需要对指针有一点了解。建议有其他语言基础的同学花一周的时间学习一下C语言---一周的时间已经足够了

UDF特殊性:接下来我们说一下Fluent UDF的特殊性,实际上即便C语言功底很厉害的高手并不一定能够写好UDF,为什么呢?因为Fluent UDF和C语言的自定义函数完全就是两码事。它是Fluent封装好的可以传递给求解器的函数,主要由各种宏组成,每个宏有各自的作用说的通俗易懂一点,其实UDF就是Fluent已经给用户起好了自定义函数的名字了,用户达到什么样的目的,使用相对应的宏就行。类似于我乘坐地铁去电影院,为了达到去电影院的目的,我使用了名叫地铁的工具,这里的名字“地铁”就相当于Fluent中的宏;如果放到C语言中,你可以给“地铁”起任意名字如“自行车”,这样会带来混乱,导致Fluent求解器识别不了你的目的比如用户想让进口流体的速度正弦变化,那么就需要找到能够修改边界条件的宏-DEFINE_PROFILE(name, t, i),然后在里面指定速度函数即可。

5a5b2ff7b81d152d719d1890be118c15.png

图2.C语言自定义函数

a9e2b57d4f2a79e5a6163b064894456d.png

图3.Fluent UDF

UDF功能:对于Fluent而言,UDF可以显著增强其功能,使用UDF你可以做如下的事情:

1. 自定义边界条件、材料特性、表面和体积反应速率、用户定义标量(UDS)、传输方程中的源项、扩散系数函数等

2. 每次迭代调整一次计算值。

3. 自定义的求解初始化

4. 按需执行UDF

5. 在迭代结束时、退出ANSYS Fluent或加载已编译的UDF库时执行

6. 增强后处理效果

7. 改进现有的ANSYS Fluent模型(如离散相模型、多相混合模型、离散坐标辐射模型)

上述功能都是直接使用Fluent比较难以完成但是实际又经常会用到的,尤其1、2在以后的学习中会经常使用到。

UDF宏:UDF有两类宏,DEFINE宏和结构宏。DEFINE宏是大的功能宏,能够完成某一项功能,如定义材料特性、定义边界条件等等。想要完成不同的功能就要在对应的DEFINE宏中书写代码,上述的每个功能都有其DEFINE宏。结构宏和FLUENT计算方式有关,涉及到网格、线程和相域的相关知识,比较复杂,我们以后再详细了解。结构宏可以相互嵌套,但是只能大套小。比较常见的结构宏如:

begin_f_loop(f, t)//遍历线程t上的面

{

//代码//

}

end_f_loop(f, t)

thread_loop_c(t, d)遍历混合域d上的线程

{

//代码//

}

值得注意的是,DEFINE宏里面会包含结构宏,这样说来,DEFINE宏可以类比为C语言中的自定义函数,而结构宏则可以类比成循环语句for或while,只不过这里的循环的是网格或线程。

要想达到我们的目的,我们还需要知道各种物理量,UDF也给我们提供了各种各样的物理量,如获取网格温度C_T(c,t)。物理量宏都是这样的写法,C表示网格,T表示温度,(c,t)表示从t线程获取网格c的温度。C_T必须大写,(c,t)必须小写。下面给出一部分常用的物理量宏:

e865c374c0bc9424f6b27834b7ea28ce.png

图4.常用的物理量宏

最后说一下,由于FLUENT UDF内容很多,我们不可能全部掌握,只能对一些常用的熟记。遇到比较特殊的要求,最简单方便的方法就是查看官方UDF用户手册。这里的手册是全英文的,大家要是觉得不够方便可以多多关注我,我以后会持续做一些这方面的内容。

UDF用户手册资源:

链接:https://pan.baidu.com/s/1insmk2rkP9hIcrtelHwVIw

提取码:iuj1

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Fluent UDF手册是一个详细而全面的手册,用于指导Fluent用户如何编写和使用用户定义的函数(UDF)。该手册提供了有关UDF工作原理的详细信息,以及一系列示例和指导,使用户能够快速掌握使用Fluent UDF的技能。 Fluent UDF手册包含了四个主要部分: 第一部分介绍了UDF的基本概念,包括如何定义函数原型、如何调用UDF以及UDF可以使用的变量和函数。此外,该部分还提供了一些例子,以演示如何使用Fluent中的函数,并给出了常见的错误和问题的解决方案。 第二部分描述了如何创建不同类型的UDF,包括场源和边界条件的UDF、内部流体力学和化学反应模型的UDF、以及自定义求解器和网格适配器的UDF。此外,该部分还提供了有关如何使用宏和缩写以简化UDF编写的信息。 第三部分提供了有关如何测试和调试UDF的技巧和建议,介绍了Fluent UDF调试器的功能,并提供了有关如何使用调试器来查找和解决常见问题的建议。 最后,第四部分是参考文献和附录,包括有关如何编译和链接UDF的信息、UDF的API文档、预处理器命令列表、预定义宏列表以及UDFFluent单元之间的单位转换公式。 总之,Fluent UDF手册提供了丰富的信息和指导,使用户能够充分利用Fluent UDF的功能,并在Fluent中进行高级流体力学建模和仿真。对于需要编写和使用自定义函数的工程师和研究人员来说,这是一个不可或缺的资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值