前面文章有提到利用Visual Studio进行Fluent UDF的辅助编写,但代码编写只是第一步,后面还需要进行编译和调试。在以前,我们需要安装Visual Studio,然后到Fluent中进行编译和加载。如果能够在Visual Studio中直接进行编译,事情就要方便多了,在编译时发现错误可以及时进行修改,省去了在Fluent和代码编辑器之间来回切换。
本文描述在Visual Studio中配置并使用GCC进行UDF编译的基本过程。
Migw64不是必须的,若本机上安装了Visual Studio,也可以不安装Mingw64。若想要使用GCC进行编译,可以下载Mingw64。Mingw64中包含了全部的GCC编译工具。
”
Mingw64官网地址:https://mingw-w64.org/ github仓库地址:https://github.com/niXman/mingw-builds-binaries/releases
嫌麻烦的话可以在github下载预编译版本,如下图所示。
下载后将文件解压到英文路径中,然后将解压文件的bin
文件夹所在路径添加到环境变量的path
中(可能需要重启电脑使环境变量生效),确保在cmd中可以直接执行gcc
。
在cmd中输入命令gcc --version
,如出现如下图所示的版本信息,则表示已经准备完毕。
为了在vscode中编译UDF,需要安装必要的插件。这里需要安装的插件为:
C/C++ Extension Pack
。集成提供了C/C++
、CMake Tools
等插件。确保CMake Tools
插件被成功安装。
这里采用github库 https://github.com/bronya19c/CMake_Project_Demo_for_UDF 中的文件组织。
文件下载后解压到英文路径下,然后选择使用vscode
打开该文件夹。
打开CMakeLists.txt
文件,按文件中的提示信息,根据自己本机上安装的Fluent版本信息进行修改,这里主要修改fluent路径及版本信息。
为了能够顺利编译,还需要修改一些内容。
修改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编译的话,则不需要修改此处代码。
打开C:\Program Files\ANSYS Inc\v251\fluent\fluent25.1.0\client\src\sys_master.h
文件,找到第1473行,将该行注释掉。其实1471~1478行都可以注释掉,这些代码主要是为了应付老版本的visual studio的。
要编写的UDF源文件放在src
文件夹下面,如示例中的test.c
。需要注意的是,若自己添加了新的UDF文件,需要在src/CMakeLists.txt
文件中修改相应的信息。
cmake
可以进入CMAKE配置面板,如下图所示。可以点击配置
下的按钮选择使用的编译工具此时可以在vscode的中上方弹出的对话面板中选择使用的编译器,如下图所示选择使用GCC。若本机上安装了visual studio,也可以在这里选择。
所有文件准备完毕后,可以点击左下角按钮 生成
来进行编译。
若一切顺利的话,可以看到在libudf
文件夹中编译生成了dll文件。
很容易将整个过程改造成GUI程序,如下图所示。等过阵子弄完了再分享。