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 对应 microsoft visual