2024年3月16日发(作者:)

FLUENT UDF中关于动网格的DEFINE宏均要求为编译型。FLUENT的UDF运行环境有两

种:解释型与编译型。虽然两种方式都是采用编译,但是编译方式及编译后获得的结果是不

同的。编译型UDF需要通过Complied进行编译,编译后得到相应的dll文件。而解释型

UDF则是通过Interprete进行加载,不会生成dll文件。据我的直觉,编译型UDF可能利

用了钩子函数的技术。

一、编译型UDF与解释型UDF的差异(翻译自UDF手册)

1、解释型UDF

一个精简的平台

都能被作为编译型UDF使用

不需要C编译器(利用FLUENT自身的编译器)

比编译型UDF反应慢

在方法方面受到较多的限制

无法被链接到编译系统或其它库

只能使用预定义宏访问存储于ansys fluent中的数据

2、编译型UDF

比解释型UDF反应迅速

没有诸多C语法限制

能够使用其它语言编写的函数

当具有一些解释型UDF不能处理的功能时,无法作为解释型UDF使用

3、选取原则

对于小型的、简单的功能,使用解释型UDF

复杂功能使用编译型UDF。(如具有较大的CPU开销、需要访问公共库)

二、配置UDF编译环境

对于编译型UDF,在fluent中加载时,需要调用C编译器将其编译成DLL文件。这里的C

编译器虽说理论上是没有任何限制的,但是在windows环境下还是推荐使用microsoft

visual c++,在linux环境下推荐使用GCC。我们这里只说windows环境下编译环境的配

置问题。

visual c++最高版本是6.0,再往后就是microsoft visual studio7.0、8.0、9.0、10.0。其

中7.0对应microsoft visual studio2003,8.0对应2005,9.0对应2008,10.0对应2010。

在一些老版的fluent中,通常需要配置环境变量。配置环境变量的方法,网络上很多,可

以搜索。这里讲的是通过修改文件来配置编译环境。

在fluent 12.0之后的版本中,可以通过修改文件的方式进行编译环境配置。该文

件位于