许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Fluent报错乱码

Fluent报错乱码

阅读数 3
点赞 0
article_banner

Fluent 启动界面或控制台里弹出一堆方块和问号,编译 UDF 的时候控制台刷屏的报错信息全变成乱码,什么都看不见。乱码本身不影响计算,但报错信息读不懂,调试效率直接掉一半。路径里带中文是最常见的原因,不管是 case 文件路径还是 UDF 源文件路径,先全部改成英文,D:\Fluent_work\ 这种,中文路径下 Fluent 读文件的时候编码对不上,轻则乱码重则直接报错打不开。

系统字体缺失也会导致启动界面乱码,ANSYS 安装目录下面有一堆 .ttf 字体文件,散落在各个子文件夹里,用 everything 或者 listary 搜 *.ttf,找到之后全选拷贝到 C:\Windows\Fonts 下面安装,装完重启 Fluent 显示就正常了。这个办法在贴吧和知乎上都被验证过,装完字体启动界面立刻恢复。

Windows 系统区域设置是另一个根源。控制面板→区域→管理→更改系统区域设置,如果当前设置是“中文(简体,中国)”,有些 Fluent 版本的内部编码跟这个不兼容,控制台输出的中文全变乱码。改成“英语(美国)”之后重启电脑,乱码消失。代价是其他一些中文软件可能显示不正常,不过大部分国产软件现在都兼容了,影响不大。有篇文章说 Fluent 2020 R1 之后已经全面支持中文,启动的时候在 Environment 选项卡里加一句 lang=zh 就行,不需要改系统区域设置。

UDF 编译的乱码跟内建编译器有关。Fluent 内建的编译器是通过 Python 的 scons 库实现的,相关脚本文件是 sconstruct.udf 和 scons_test.bat,这两个文件里的编译命令路径没有加双引号,而 ANSYS 默认安装路径里带空格(比如 G:\ANSYS Inc...),路径一断编译器就报错,控制台输出一堆乱码。解决方法是手动给这两个文件里的 CC和CC和CLINK 变量加上双引号,scons_test.bat 第 3 行也是同样的问题。改完再用内建编译器编译 UDF,控制台输出就正常了。这个坑在 B 站和博客园上都有记录,路径里的空格是根源。

Transcript 文件是绕开乱码最省事的办法。File→Write→Start Transcript,选个路径开始记录,然后该编译编译该报错报错,控制台里该乱码还是乱码,但 Transcript 文件里存的是原始数据,用记事本或者 VS Code 打开,中文正常显示。UDF 编译的语法错误信息、printf 输出的调试信息、警告信息,在控制台里全是乱码,在 Transcript 文件里都能读。编译完 File→Write→Stop Transcript 停止记录,打开文件搜 Error 关键字,具体的错误行数和原因一目了然。这个办法不解决乱码本身,但绕过了显示层,调试效率直接拉回来。D:\Fluent_work\transcript\ 下面放几个之前记录的日志文件,命名带时间戳,下次编译报错先开 Transcript 再编译。

后处理导出数据文件的时候也有乱码的坑。dat 文件是二进制格式,用记事本打开就是乱码,这个不是错误,dat 本来就是给 Fluent 自己读的,想看数据用 CFD-Post 或者导出成 CSV。如果一定要在文本编辑器里看 dat,存的时候选 ASCII 格式,体积会大很多倍,但内容可读。那些说 dat 文件乱码的帖子,回复基本都是“dat 是二进制的,别用记事本打开”,属于正常现象不是报错。

D:\Fluent_work\ 下面那个 UDF 的 sconstruct.udf 文件还没改双引号,内建编译器跑一次就报一次乱码,改法是找到 CC和CC和CLINK 那两行,把路径变量用双引号包起来,那个行号大概是 204 到 208 附近,具体是……

保存为.txt文件,用记事本打开即可看到非乱码报错信息


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

相关文章
技术文档
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
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空