编译型UDF和FLUENT的构建方式一样。脚本Makefile
被用来调用C编译器来构建一个当地目标代码库。目标代码库包含高级C语言源代码的机器语言翻译。代码库在FLUENT
运行时由“动态加载”过程连接到FLUENT上。连接后,与共享库的联系将会被保存在用户的case文件中。这样,当FLUENT以后再读入case文件时,此编译库将会与FLUENT
自动连接。这些库是针对计算机的体系结构和一定版本的FLUENT使用的。所以,当FLUENT更新,或计算机操作系统改变,或是在不同类型的机器上运行时,这些库必须重新构建。
编译型UDF需要安装C语言编译器,FLUENT支持的编译器类型可从安装目录下v150\fluenttbintx86中的udf.bat文件中查询。
而解释UDF则是在运行时,直接从C语言源代码编译和装载。在FLUENT运行中,源代码被编译为中介的独立于物理结构的使用C预处理程序的机器代码。当UDF 被调用时,机器代码由内部仿真器或注释器执行。注释器不具备标准C编译器的所有功能,它不支持C语言的某些原理。所以,在使用 interpreted UDF 时,有语言限制。例如,interpreted UDF 不能够通过废弃结构(dereferencing structures)来获得FLUENT 数据。要获得数据结构,必须使用由FLUENT 提供的预定义宏。还有就是是FLUENT interpreter不能识别指针数组。这些功能必须由compiled UDF 来执行。
编译后,用户的C函数名称和内容将会被储存在case文件中。函数将会在读入case文件时被自动编译。独立于物理结构的代码的外层可能会导致执行错误,但却可使UDF共享不同的物理结构,操作系统和FLUENT版本。如果运行速度较慢,UDF不用被调节就可以编译代码的形式(in compiledmode)运行。
选择interpreted UDF或是comp
编译型UDF需要安装C语言编译器,FLUENT支持的编译器类型可从安装目录下v150\fluenttbintx86中的udf.bat文件中查询。
而解释UDF则是在运行时,直接从C语言源代码编译和装载。在FLUENT运行中,源代码被编译为中介的独立于物理结构的使用C预处理程序的机器代码。当UDF 被调用时,机器代码由内部仿真器或注释器执行。注释器不具备标准C编译器的所有功能,它不支持C语言的某些原理。所以,在使用 interpreted UDF 时,有语言限制。例如,interpreted UDF 不能够通过废弃结构(dereferencing structures)来获得FLUENT 数据。要获得数据结构,必须使用由FLUENT 提供的预定义宏。还有就是是FLUENT interpreter不能识别指针数组。这些功能必须由compiled UDF 来执行。
编译后,用户的C函数名称和内容将会被储存在case文件中。函数将会在读入case文件时被自动编译。独立于物理结构的代码的外层可能会导致执行错误,但却可使UDF共享不同的物理结构,操作系统和FLUENT版本。如果运行速度较慢,UDF不用被调节就可以编译代码的形式(in compiledmode)运行。
选择interpreted UDF或是comp
