ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Fluent中udf编译问题

2021-11-16 17:05:00  阅读:666  来源: 互联网

标签:Fluent 编译 udf names error 报错 环境变量


是否有小伙伴像我一样,遇到了udf编译时报错的问题,找了各种各样的方法都没有办法解决,这里为大家提供一种新思路
先总结一下内容:1、配置环境变量;2、怎么确定环境变量配置成功;3、可能不是环境变量的问题;

(先说明,本人刚入门cfd,对这些概念也不太懂,如有说得不对的地方请各位大佬多多指教。)

问题1:环境变量的配置
我用的fluent16.0,然后当时是能编译udf的(直接改txt文件的后缀为.cpp)。

后来看到各种教程里大神们用的vs,于是我就去下载了一个vs2019(后来发现并不需要额外下载,电脑里本来有内置的vs)。然后。。。原来的udf就不能编译了,报错“ The UDF library you are trying to load (sor) is not compiled for parallel use on the current platform (win64).”

搜索了一下发现是环境变量的问题,在网上尝试了很多方法,那些方法描述的情况总是和我的情况有细微差别,反正最终也没修改成功。

后来有人告诉我,一般ansys的版本要比vs新,于是我卸载了ansys16.0,重装了2020 r1.

装好ansys2020 r1后,我没有额外设置环境变量,有时or有些udf是可以编译的,但是其他时候又会报错:“ The UDF library you are trying to load (sor) is not compiled for parallel use on the current platform (win64).”再后来就编译不了了。(这个情况我一直没弄明白是怎么回事,现在回想起来,可能是ansys2020 r1本来和vs2019就是搭配的,可以不用配置环境变量,但是由于我的udf写错了,所以一直报错)

但是我一直以为是环境变量的问题,于是想尽办法去配置,后来找到一个又无脑又简单的方法,好像是博主“硫酸亚铜”写的一个小工具:一键设置环境变量.exe;(大家可以找一下这个软件,我忘记是在哪里下载的了,还有一个配套的视频教程,大神真厉害),双击–生成文件–生成一个注册表文件,打开注册表,就配置好了。(其实在这里我也遇到了问题,生成的是一个path.txt文件,和双击udf.bat生成的那个path.txt文件一样,可能是需要自己把那些环境变量添加进去?后来我重新点了好几次这个小工具,就成功生成注册表文件了)

但是还是报错,这时我又看到一个说法,怎么判断你的环境变量配置成功了呢? win+r,cmd,回车,cl,回车,nmake,回车,出来的是这样子的话,就是配置成功了,如果显示:找不到批处理文件之类的,那就是没有成功。在这里插入图片描述
问题2:udf格式问题
于是我惊讶地发现原来环境变量已经配置好了,于是我又回去仔细看了报错内容,发现,在“Error at Node 0: The UDF library you are trying to load (sor) is not compiled for parallel use on the current platform (win64).”前几行,有一堆关于udf_name的报错:
udf_names.c(10): error C2143: ???: ???;??(???)
udf_names.c(10): error C2085: ??heat_source??: ???�¦�???
udf_names.c(11): error C2085: ??porosity_function1??: ???�¦�???
udf_names.c(12): error C2085: ??porosity_function2??: ???�¦�???
udf_names.c(13): error C2085: ??udf_data??: ???�¦�???
udf_names.c(13): error C2143: ???: ???;??(???=???)
udf_names.c(15): warning C4138: ???/??
udf_names.c(16): warning C4138: ???
/??
udf_names.c(17): warning C4138: ???*/??
udf_names.c(22): error C2065: ??udf_data??: ��???
NMAKE : fatal error U1077: ??“D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.EXE”??: ???0x2??
Stop.
(注意,这些报错是在build时就出现的)
产生这些提示的原因,是因为udf文件名那一行,有别的文字或空格
DEFINE_XXX(X,X,X)这一行,逗号之间是不能有空格的,而且后面也不能用/**/添加注释。那些多余的空格和注释删掉后,就成功地编译了udf。

标签:Fluent,编译,udf,names,error,报错,环境变量
来源: https://blog.csdn.net/Tengeryn/article/details/121356753

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有