首页/文章/ 详情

利用GCC编译Fluent UDF

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

当前较新版本的Fluent(如Fluent 2025R1)内置了clang编译器,编译UDF可以不需要安装Visual Studio。不过利用GCC进行UDF编译还是有不少优势的,包括:(1)gcc编译速度快,而且能够给出详细的调试信息。(2)方便在vscode之类的工具中进行代码编译和调试。(3)能够编译外部动态链接库。

以下是利用GCC进行Fluent UDF编译的基本过程。

1 下载Mingw64

Mingw64中包含了全部的GCC编译工具。

 

嫌麻烦的话可以在github下载预编译版本,如下图所示。

下载后将文件解压到英文路径中,然后将解压文件的bin文件夹所在路径添加到环境变量的path中(可能需要重启电脑使环境变量生效),确保在cmd中可以直接执行gcc

在cmd中输入命令gcc --version,如出现如下图所示的版本信息,则表示已经准备完毕。

2 下载CMake

进入CMake官网( https://cmake.org/ )下载CMake。

下载绿色版本即可。

下载完毕后解压缩。如解压到C:\mingw64\CMake中(这里把doc文件夹删除了)。

3 准备CMakeLists文件

这里采用github库https://github.com/bronya19c/CMake_Project_Demo_for_UDF中的文件组织。

文件下载后解压到英文路径下,然后选择使用vscode打开该文件夹。

打开CMakeLists.txt文件,按文件中的提示信息进行修改,这里主要修改fluent路径及版本信息。

4 文件修改

为了能够顺利编译,还需要修改一些内容。

  • 修改src文件夹下的CMakeLists.txt文件,第46行添加${FLUENT_ROOT}/include。不添加此行文本,在编译时会出现有大堆的找不到头文件的错误提示。
  • 打开C:\Program Files\ANSYS Inc\v241\fluent\fluent24.1.0\cortex\src\cx.h文件,找到第118-119行,修改成如下图所示。之所以修改这里的代码,主要是strecasecmp与Mingw64中的相应代码冲突了,如果使用MSVC编译的话,则不需要修改此处代码。

要编写的UDF源文件放在src文件夹下面,如示例中的test.c。需要注意的是,若我们自己添加了新的UDF文件,需要在src/CMakeLists.txt文件中修改相应的文件路径信息。

5 编译UDF

在项目目录下启动CMD,如下图所示。

输入以下命令(注意替换命令中的文件路径):

"C:\mingw64\CMake\bin\cmake.exe" -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_C_COMPILER:FILEPATH=C:\mingw64\bin\gcc.exe -DCMAKE_CXX_COMPILER:FILEPATH=C:\mingw64\bin\g++.exe --no-warn-unused-cli -SC:/Users/Administrator/Desktop/demo -Bc:/Users/Administrator/Desktop/demo/build -G "MinGW Makefiles"

"C:\mingw64\CMake\bin\cmake.exe" --build c:/Users/Administrator/Desktop/demo/build --config Debug --target all -j 38 --

如下图所示。

此时可以看到在libudf文件夹中有了编译完成后的dll文件。


来源:CFD之道
FluentUDFUGANSYS
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-06-08
最近编辑:20小时前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2621粉丝 11907文章 818课程 27
点赞
收藏
作者推荐

免费 5.0
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈