1/3
2/3
3/3
ANSYS FLUENT 2023R2 UDF 编译环境配置
牛马丁流
编辑于 2024年08月28日 11:34

1. Fluent安装完成后去对应目录里的"udf.bat"里看一下该版本最高支持到哪一个版本的Visual Studio:目录:“XXX\ANSYS Inc\v232\fluent\ntbin\win64”

右击udf.bat,点击“编辑”就能看到

2. 安装对应版本的Visual Studio,勾选C++的桌面开发。安装位置默认就好,不然还要去udf.bat里修改,比较麻烦

3. 在“单个组件”选项卡里找到编译器一栏,确保已经勾选了对应版本的编译器:

如果后面出现了"No MSVS compiler detected"错误,找这一步里的MSVC编译器是否正确安装了

4. 语言包只安装英文,否则在Fluent内编译报错时会出现不识别的utf-8符号"?????",对于Debug UDF很不友好。

5. 安装完成后去步骤1中 udf.bat 对应目录里查看有无vcvarsall.bat这个文件

默认目录:“C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build”

6. 在Fluent Launch界面里的"Environment"选项卡勾选“Set Compilation Environment for UDF”

(-affinity=1 设置非必须)


理论上到此就应该没问题,但据题主测试,在编译的时候遇到了“fatal error LNK1104: cannot open file 'kernel32.lib'”这个错误,Google后发现SDK没有正确配置,或者Fluent不能找到相对应的目录。所以还需要如下操作(这是题主在网上搜到的办法,不够优雅但有用,如果有更好的办法欢迎补充):

7. 找到 C:\Program Files (x86)\Windows Kits\10\Lib 目录,检查是否已经有安装的SDK

如果步骤2里面勾选了C++桌面开发并正确配置的话,应该会自己安装一个SDK,这一步如果找不到对应的文件夹:

  1. 回到Visual Studio Installer里面,点击修改,检查有无安装对应版本的SDK,没有就再安装一个,或者:

  2. 如果将Visual Studio安装到了非C盘的其他目录,检查对应硬盘目录下面有没有Windows Kit文件夹;SDK的目录是单独选择的,有些可能默认不在C盘;

8. 添加系统环境变量(右击我的电脑->属性->高级系统设置->环境变量->新建系统环境变量),确定后即可:

9. Fluent!启动!


别的版本的Fluent应该也适用这种配置方法,原理是相通的:构建外部C++编译器去编译UDF代码,各位可以灵活变通。