字符编码错误
字符编码错误是什么
老师,我加载输入文件时出现了"illegal character"错误。
许多CAE求解器仅接受ASCII字符。日语路径名或注释中的多字节字符(UTF-8、Shift_JIS)的混入会导致读取错误。在Windows和Linux之间传输文件时也容易出现问题。
错误消息和解决方案
Abaqus
消息:***ERROR: ILLEGAL CHARACTER ON LINE xxx OF INPUT FILE
Abaqus的.inp文件仅支持ASCII。日语注释(以**开头的行)也无法使用。如果路径名中包含日语文件夹名,也会失败。
不能使用日语注释真是不方便……
作为解决方法,可以用英文编写注释,或在单独的文档文件(README.txt等)中记录日语分析条件备注。
Nastran
Nastran的BDF文件也是基于ASCII。在自由格式(逗号分隔)的情况下,换行码为CR+LF(Windows)还是LF(Linux/Mac)也会导致问题。
OpenFOAM
OpenFOAM的字典文件也仅支持ASCII。特别是在将Windows中编辑的文件传输到Linux时,需要进行换行码转换:
```
dos2unix system/controlDict
```
换行码的区别很难察觉,因为看不见。
在文本编辑器(VS Code等)中启用换行码显示会更放心。在VS Code中,状态栏会显示"CRLF"或"LF"。
花在求解器错误诊断上的时间应该能缩短。— Project NovaSolver将改进错误诊断体验列为研究课题之一。
下一代CAE项目:连接开发人员和实务工作者
Project NovaSolver在包括字符编码错误在内的各类分析领域中,致力于探索充分发挥实务工作者知识的环境。虽然我们仍在途中,但我们热烈欢迎与我们一起前进的朋友。
联系我们(筹备中)字符编码错误的CAE实务品质检查
字符编码错误不是单一公式,而应作为CAE错误诊断中的工程模型来处理。要获得可信的结果,需要将支配物理、材料值、边界条件、离散化、求解器设置、后处理标准作为一个整体联系起来。在使用设计判断前,请明确哪些是输入量、哪些是计算结果、哪些是诊断指标。
建模检查清单
- 明确用途:确定字符编码错误是用于概算、详细设计、故障排查还是其他分析的验证。
- 统一单位:将内部计算统一为SI单位,记录荷载、形状、材料常数、时间·频率标度的换算。
- 明文化假设:确认线性性、稳态/非稳态、小变形、连续体近似、对称条件、理想边界条件成立的范围。
- 与基准解比较:与手算、极限情况、网格收敛或独立求解器结果进行对照后再采用。
验证中应观察的信号
| 确认项目 | 应查看的内容 | 应警惕的迹象 |
|---|---|---|
| 输入条件 | 形状、材料、荷载、约束与CAE错误诊断问题一致。 | 图看起来很正常,但数量级或单位不匹配。 |
| 数值设置 | 网格、时间步长、收敛容限、求解器设置对编码错误是否充分。 | 略微改变设置结果就变化很大。 |
| 物理应用范围 | 所用理论在应力、温度、速度、频率范围内是否有效。 | 将结果外推到超出模型假设的条件。 |
在实务中,将输入表、模型文件、结果图、审查意见保存为同一单位。这样可以追踪字符编码错误的计算依据,避免将页面当作黑盒答案使用的风险。