Fluent UDF环境配置难题与解决方案记录

软件版本:fluent 15.0 + vs 2013

UDF 链接到fluent有两种方式,解释方式(interpreted)或者编译(compiled)方式。

解释方式不需要编译器,因此比较方便,但它速度慢。而且如果写的代码包括了除了udf.h之外的第三方库,很有可能出现错误。即使把第三方库放入udf头文件目录下,语法错误也难以解决,很劳神。使用这种方式不需要配置visual studio,但除非确定不会用到第三方库函数,否则的话还是配置vs,使用compiled方式更好。

编译方式速度快,而且能使用第三方库。提前需要配置好环境变量。而且这个很重要。

目前为止,compiled udf文件时,build出现的错误都是因为环境变量没配置好发生的。低级错误甚至包括在目录的files与(x86)之间少了一个空格,而导致环境变量配置失败。在找到这个错误时,感觉眼睛都瞎了。

build过程中,.obj文件已经好了,但是仍不能得到dll文件,错误提示为不能识别的外部。这是连接过程出现了问题。亲测有用的解决办法是,从command中打开fluent。

用管理员身份打开x64 的vs 命令符提示。输入命令fluent.exe启动ansys。问题迎刃而解。

此外,还有一个可能出现的连接问题,那就是配置环境变量的时候,lib选择过多,有版本冲突,会编译出错。因此注意lib环境变量设置的时候,不要贪多。出现了libcmt.lib 2019 2001的错误,最后解决的方法是,将include\改成了\include\x64,具体说来,就是设置到了include文件夹下的下一目录。(另外,在解决这个错误之前,花了很长时间在vs项目设定上找错误,但其实和那没关系。)

udf的源代码文件只支持.c。这是很显然的。但是它的加载面板上的cpp很迷惑人,以至于我不断地使用c++文件去挑战bug >_>。这也是一个低级错误。

出现少了basetsd.h头文件的提示,解决办法是,下载此文件,放在提示出错的hash.h文件同一个目录下。

basestd.h下载地址:https://datapacket.dl.sourceforge.net/project/hlanguage/Source/include/basetsd.h

如果使用了math.h头文件,会出现第482行报错。简单粗暴可以解决,从vs库文件夹下找到math.h文件,注释掉第482行,即可。

使用宏define_Zone_motion的时候,使用手册上介绍的定义axis和origin和velocity的函数N3D_D()之类的,报错。这是可以忽略的。只是ansys和vs的版本原因,vs的版本不够高导致。


环境变量的设置:

0.环境变量设置包括了vs和fluent两个软件的环境变量设置。

1.此电脑 -> 属性 -> 高级系统设置 -> 高级 -> 环境变量

2.新建环境变量,注意建立在用户变量区,不要建立在系统变量区:

变量:lib

值:(如下)
在这里插入图片描述

文件位置不确定的话,可以耐点烦去点开文件夹找找。配置V7.1A\lib是因为SDKs\windows下虽然有好几个vx.x,但只有7.1A点进去有lib文件夹。

变量:include

值:
在这里插入图片描述

变量:path

值:

在这里插入图片描述




3.确定以上三个环境变量配置好后,再配置fluent的环境变量。

进入fluent的安装目录:

E:\Program Files\ANSYS Inc\v150\fluent\ntbin\win64

双击setenv.exe,出现提示后,点击确定。完成环境变量配置。


4.重启。


5.检查 :win+r ->输入cmd ->输入cl 出现:
在这里插入图片描述

表明环境变量安装好了。通过:
在这里插入图片描述

以管理员方式打开,输入fluent.exe进入软件,就应该能使用UDF了。


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

QR Code
微信扫一扫,欢迎咨询~

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

* 公司名称:

姓名不为空

手机不正确

公司不为空