许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  使用Visual Studio搭建Fluent UDF编译环境的经验分享

使用Visual Studio搭建Fluent UDF编译环境的经验分享

阅读数 4
点赞 0
article_banner


自学Fluent一年多,在PC和服务器上多次搭建过Fluent UDF编译环境。由于之前并没有主动总结过经验,每次隔段时间需要再次搭建时,就要花费大量时间从网络上碎片化信息里搜索,实在不堪其扰。趁昨天刚刚搭建成功的热乎记忆,记录一下使用Visual Studio搭建Fluent UDF编译环境的完整流程,供有需要的同学参考。

  • 本文只涉及Visual Studio安装(以社区版为例)和环境变量配置,ANSYS Fluent相关软件教程请自行查找

一、Visual Studio下载和安装

  • 使用免费的Visual Studio Community版即可满足编译需求。版本号需要根据Fluent支持情况确定,方法如下:打开ANSYS Fluent安装文件夹,定位到“\ANSYS Inc\v241\fluent\ntbin\win64\udf.bat”文件,用记事本打开,找到如下代码,红框标示位置即为支持的Visual Studio版本。我使用的组合是Fluent24R1+Visual Studio Community2022。
  • 目前最新版为Visual Studio Community2022版,官方链接:https://visualstudio.microsoft.com/zh-hans/vs/community/
  • 下载安装器并运行,选择【C++桌面开发】,在右侧可【自定义安装组件】。我主要用vscode和neovim写一点python,Visual Studio只用于搭建udf编译环境,所以只选择其中五项。底部可【自定义安装位置】,这里我修改到D盘。此部分也可直接按默认配置安装。
  • 语言包只选择【英语】可减少UDF编译过程报错乱码。
  • 执行安装。

二、Visual Studio 系统环境变量修改

  • 在Visual Studio 安装目录,定位到"\VC\Auxiliary\Build\vcvars64.bat"文件,用记事本打开。在文件最后添加以下代码:

set INCLUDE >> path.txt

set LIB >> path.txt

set PATH >>path.txt

  • 保存文件。此时可能提示无改权限,返回到上层文件夹,选择Build文件夹右键【属性】、【安全】,用户名选择【Users】,点击【编辑】,在下方勾选【修改】、【写入】,点击【确定】。随后再次保存文件。
  • 双击修改后的vcvars64.bat会出现一个path.txt文件,用记事本打开得到如下代码,找到【INCLUDE】【LIB】【LIBPATH】【Path】键值对备用,具体内容不同电脑可能有差异。
  • 打开【系统信息】【高级系统设置】【环境变量】,将上一步获得的四组键值对添加为用户变量。具体操作为:点击【新建】,变量名填写INCLUDE,变量值填写等号右边的地址字符串,其他变量同理。
  • 由于安装了其他软件,添加Path变量后可能存在大量重复值,这里提供一种去重方法。进入【Path】变量,选择【编辑文本】,将所有变量值复制到word中,选择【替换】,将;全部替换为^p(即英文分号替换为换行符,全部替换后每一个地址值占一行)。将文本全选复制到excel中,此时每一个地址值占一格。选择【数据】【删除重复值】即可去重。将去重后数据全选复制回word,将换行符【替换】为英文分号以恢复原始格式。随后复制全部文本,重新进入【Path】变量,选择【编辑文本】,使用修改后的文本覆盖原始变量值,完成去重。

三、Fluent与Visual Studio的链接

  • 回到ANSYS Fluent安装文件夹的"ANSYS Inc\v241\fluent\ntbin\win64\udf.bat"文件,找到对应Visual Studio 版本的代码位置,将红框处的代码修改为Visual Studio安装路径并将第二个箭头处"\Community"删除。
  • 此处代码的目的是通过判断"vcvarsall.bat"文件是否存在找到对应的Visual Studio版本和安装位置以备调用,理论上在安装Visual Studio时选择默认安装位置就无须修改,我并未试过,但核心思路一致,可自行调整。

至此,基于Visual Studio的Fluent UDF编译环境搭建完成。这里提供一段测试代码以作验证。

  • 将以下代码复制到记事本并保存为"test.c"

#include "udf.h"

DEFINE_ON_DEMAND(test)

{

#if !RP_NODE

Message("Hello world!");

#endif

}

  • 打开Fluent,选择【用户自定义】【函数】【编译】【添加】保存的test.c文件,选择【编译】,检查控制台是否提示ERROR信息(WARNING通常不影响编译),涉及编译环境的错误主要包括:找不到MSVC或缺少dll文件,需要对第一步C++组件、第二步环境变量修改、第三步udf.bat文件进行核对。
  • 如无报错可点击【加载】,控制台将显示函数名"test"。
  • 选择【用户自定义】【按命令执行】,选择test::libudf点击【执行】,控制台将输出"Hello world!"。

需要补充的是,Fluent UDF对C++的支持并不全面,建议优先采用C语言进行编程。




免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空