Fluent中udf编译问题

您所在的位置:网站首页 fluent设置inlet不见了 Fluent中udf编译问题

Fluent中udf编译问题

2023-10-05 06:16| 来源: 网络整理| 查看: 265

是否有小伙伴像我一样,遇到了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。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3