随着Ansys Fluent软件的使用程度的加深,软件的一些基本功能无法满足我们的一些特定需求,对于没有接触过二次开发或者代码学习的工程师来说,UDF的学习至关重要!
上一篇UDF概述(1)我们认识了UDF的性质、作用和数据结构,今天我们一起继续学习UDF使用的语言和宏介绍吧!
Ansys Fluent
Fluent是用C语言编写的,因为它是一种非常强大的语言
提供了高级别操作的访问,如图形和网络;也提供了低级别的能力,如数学功能和内存操作;
允许使用UNIX中的“共享对象”和Windows系统中的动态链接库(DLL)来链接额外的功能;
在UDFs中,这是一种非常方便的链接机制,它允许主程序和用户函数之间的无缝连接;
熟悉Fortran等其他“过程”语言的用户将熟悉C中使用的大多数工作思路和语法。
Ansys Fluent
C具有非常强大的宏定义功能,这些在Fluent中以多种方式被广泛使用,值得注意的例子包括以下定义:
- Data structure looping macro,数据循环;
- Geometry macros,几何与网格;
- Field data macros,场变量数据;
- Logic and status control macros,逻辑和状态命令;
- Safe arithmetic and trigonometry functions,三角函数;
- Complete set of vector arithmetic operations,矢量运算;
- 每个UDF的定义也使用一个特定的DEFINE_宏。
Ansys Fluent
Fluent提供了一组预定义的宏来完成循环任务:

Ansys Fluent
Ansys Fluent

Ansys Fluent
所有要使用的UDF都必须使用特定的DEFINE_宏定义。

Ansys Fluent
UDF宏在udf.h文件中定义,例如:
D:\Program Files\ANSYS Inc\v222\fluent\fluent22.2.0\src\udf
在每个UDF源代码文件的开头,必须包含头文件。

floder中存储了更多的头文件,用户可以浏览,但大多数头文件已经自动包含在udf.h中。

来源:艾羽科技