首页/文章/ 详情

编译Fluent UDF的若干种方法

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家
平台推荐
内容稀缺
6月前浏览13432

本文摘要(由AI生成):

本文主要介绍了三种编译Fluent UDF的方法,包括使用Visual Studio进行编译、使用Fluent内置编译器进行编译和使用GCC进行编译。其中,使用Visual Studio进行编译是最传统的方法,但需要安装Visual Studio和Visual C Build Tools。使用Fluent内置编译器进行编译则不需要安装Visual Studio,但可能会出现一些警告信息。使用GCC进行编译需要配置很多参数,但编译速度较快。


本文描述编译Fluent UDF的若干种方法。

最近总有人在后台留言问到UDF编译的问题,懒得一一回复了,干脆总结写篇文章得了。

1、利用Visual Studio进行编译

      这是最传统的编译方式。从最古老的Fluent版本一直到现在最新的版本,Visual Studio一直都是Windows操作系统下Fluent的好基友。然而Visual Studio的个头颇大,安装起来很是痛苦,尤其是最新的几个版本不支持本地安装,如果网络条件不好,几个G的文件下载起来也是要人命的。事实上Fluent UDF的编译并不需要安装Visual Studio,而是需要安装Visual C   Build Tools(中文名:Microsoft C  生成工具),其可以在网络上免费下载得到,其网址:https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/。不过不是所有人都会配置这玩意儿,所以图省事儿,大家都是用Visual Studio,装完之后软件自动帮我们将一些环境变量给配置好了。

利用Visual Studio编译UDF需要配置UDF.bat文件,此文件路径位于文件夹C:\Program Files\ANSYS Inc\v221\fluent\ntbin\win64中。修改此文件很简单,只需要利用文本编辑器打开udf.bat文件,修改MSVC_DEFAULT的工作路径即可。其实如果Visual Studio是按默认路径安装的(安装到C:\Program Files(x86)文件夹中的话,是不需要修改任何内容即可使用Fluent进行UDF编译的。

如果在Fluent编译过程中,出现如nmake之类的错误提示,那多半就是Visual Studio安装路径没有指定正确所导致。

指定了环境变量之外,在Fluent启动之前还需要切换到Environment选项卡,并勾选选项Setup Compilation Environment for UDF

如果安装了Visual Studio,也可以在外部用命令行编译UDF,详细过程可见文章Fluent UDF【15】:外部编译UDF

2、利用Fluent内置编译器进行编译

Fluent在最近几个版本中(好像是2019,具体记不清了)添加了内置编译器,这样在编译UDF的时候就不需要安装Visual Studio了。

如下图所示,在UDF编译对话框中勾选选项Use Built-In Compiler即可使用内置编译器。从Fluent安装路径中的文件来看,内置的编译器似乎是clang。

使用内置编译器编译经常会出现一些警告信息,这是编译器兼容性的问题,不会影响UDF加载及使用,通常可以忽略。

在较新的Fluent版本中,建议使用此方法进行UDF的编译。

3 利用GCC进行编译

UDF本质上还是C语言程序,理论上来讲,任何C编译器都能够用于UDF的编译。比如在Linux下广泛使用的GCC编译器同样可以在Windows下对UDF进行编译。

不过利用GCC编译UDF需要配置很多参数,其中过程颇为麻烦,编译细节可参阅文章:GCC编译Fluent UDF

不过不用担心,万能的网友已经帮我们将问题解决好了。这里推荐使用硫酸亚铜提供的UDF编译工具(下载链接链接:见附件

若Fluent安装在系统盘,在使用此工具之前,需要修改Fluent安装文件夹的只读属性,否则没法编译。

  • 右键选择Fluent文件夹,点击右键并选择弹出菜单项属性
  • 在属性对话框中,取消选项只读(仅应用于文件夹中的文件),点击按钮应用
  • 弹出的对话框中选择将更改应用于此文件夹、子文件夹和文件,点击确定按钮
  • 此时打开编译UDF工具,选择源代码以及各种选项后,点击编译按钮进行编译

第一次编译因为需要将Fluent中的一些可执行文件编译为中间库,所以会比较慢,后面再编译就很快了,至少要比Visual Studio快很多。

编译出错,提示头文件cx.h中所包含的string_safe.h文件没找到。但这个文件其实是存在的,可以搜索Fluent安装路径找到。

  • 找到cx.h头文件(在C:\Program Files\ANSYS Inc\v221\fluent\fluent22.1.0\cortex\src/文件夹中),用文本文件将其打开,并修改文件

继续编译,如果还有存在文件找不到的错误提示,那么采用相同的方法进行处理。这里可能要修改4个文件,主要是tgrid文件夹下的hash2.h与hash.h文件在一些源代码中找不到,可以手动搜索找到这些文件,然后将其绝对路径添加到相应文件中,如上图所示。

若没有任何问题话,编译完毕会如下图所示。采用此方式编译UDF不会出现乱码提示,该工具对于复杂的UDF调试是非常好用的。

此工具支持复杂的C  代码编译。


(本文结束)

附件

免费编译Fluent UDF的若干种方法.txt
Fluent代码&命令理论科普Visual Components
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-01-21
最近编辑:6月前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2559粉丝 11231文章 732课程 27
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈