在现实世界里,编程逻辑中会不可避免地出现遗漏和错误。执行分析时,如果出现未捕获的错误,则会显示 Fortran 的常规消息,且分析将会停止。例如,forrtl: 严重 (605): 未格式化文件的结构非法。
大多数情况下,错误消息并无用处,因为 Fortran 消息面向程序开发人员,可能不存在解决方法。在某些情况下,可以根据错误消息和以下附加信息合理推测出错原因。然后,通过调整输入,您可以避免错误并获得结果。
无论您能否绕过该问题,均应创建原始模型的存档,并将该存档以及有助于识别问题的任何说明发送给技术支持人员。有关详细信息,请参见如何获得帮助页面。如果可能,请创建包含结果的存档(使所有文件均包括在内)。如果包含结果的存档太大,请仅发送模型存档,同时发送日志文件。(有关文件及其位置的列表,请参见文件扩展名页面。)
下表提供了一些更常见的错误错误代号(可能有数百个)。第一列列出了处理器返回的错误代号。
第二列的第一行提供了显示的消息(在 forrtl: 之后),其中包括严重级别、消息编号和消息文本。第二列的第二行包含消息的解释(摘自供应商提供的 Fortran 手册)以及特定于 Autodesk Simulation 的任何已知说明。
编号 | 严重级别、编号和消息文本;解释 |
---|---|
9 |
严重 (9): 访问文件的权限被拒绝 请检查指定文件的权限并确认能否创建或写入该文件?文件属性是否设置为只读?接下来,请检查该文件所在的文件夹的权限,并确认未将文件夹设置为只读。 作为另一测试,请使用一个具有完整管理员权限的帐户登录到计算机。 |
22 |
严重 (22): 输入记录太长 读取的记录超出打开文件时指定的显式或默认记录长度。 在某些情况下,如果分配的内存太高,临时文件可能会过大。请尝试分配更少的内存,但这会创建更多较小的临时文件。(分配的内存在“设置”“设置”“参数”对话框下的某处设置。) |
24 |
严重 (24): 文件在读取时结束 通常,此错误消息还包括单元号,这通常是临时文件。例如,文件在读取时结束,单元 76 表示 .t76 文件存在问题。该软件要求此文件的长度超过此数字。 在某些情况下,模型设置或输入问题将导致文件的长度为 0 字节,因此稍后尝试读取该文件会导致此错误。 问题的另一根源是该文件不存在。 |
29 |
严重 (29): 找不到文件 在打开操作期间,找不到具有指定名称的文件。如果文件是用户指定的文件,请确保它位于正确的文件夹中。 |
43 |
严重 (43): 文件名规范错误 为 OPEN 或 INQUIRE 语句提供的路径名或文件名不可接受。此外,该问题还可能与磁盘空间不足相关。 |
157 |
严重 (157): 程序异常 - 访问冲突 程序尝试在没有适当访问权限的虚拟地址(例如,只读或受保护的内存地址)中进行读取或写入。 模型求解大小可能超出计算机限制。请减小模型尺寸,或在 TEMP 目录驻留的计算机驱动器上提供更多可用磁盘空间,或者增加计算机的 RAM。如果这无法避免该问题,则问题可能是由其他错误导致的。 用于保存模型的文件夹或文件名本身可能包含非法字符。请尝试将模型保存到其他更靠近根目录的文件夹和其他文件名。请使用较短的文件夹名称和文件名,且仅使用字母和数字。 |
159 |
严重 (159): 程序异常 - 断点 Fortran 运行库在程序中遇到断点。 此问题的根源之一是文件变得非常大。请减小模型尺寸或输出结果的频率。例如,在瞬态热传递分析中,输出更少的时间步,使结果文件变得更小。 |
164 |
严重 (164): 程序异常 - 整数被零除 在整数算术运算过程中,尝试除以零。请找到并更正导致整数被零除的源代码。 在极端情况下,模型可能太小!例如,模态分析需要求解中的自由度数超过正在求解的模式数。如果测试模式只有少数几个自由节点(其他节点可能受约束),可能无法求解模态分析。 |
168 |
严重 (168): 程序异常 - 非法指令 程序尝试执行无效指令。这是操作系统错误。 |
170 |
严重 (170): 程序异常 - 堆栈溢出 执行程序时,Fortran 运行库检测到堆栈溢出。 模型可能太大。 |
605 |
严重 (605): 未格式化文件的结构非法 已使用指定的格式打开文件,但其内部物理结构不正确或不一致。可能的原因:文件是在其他模式中或由非 Fortran 程序创建的。 或者,处理器创建的临时文件之一(.t*,位于 modelname.ds_data 文件夹中)可能超出限制。例如,文件可能大于 2 GB。 |
613 |
严重 (613): 遇到文件结尾 程序尝试读取的数据超过文件包含的数量。 |
620 |
严重 (620): 从未格式化记录读取的字节过多 程序尝试从未格式化文件读取的数据超过当前记录包含的数量。如果程序是从未格式化的直接文件读取数据,则尝试读取比由 RECL 选项指定的固定记录长度更多的数据。如果程序是从为格式化的顺序文件读取数据,则尝试读取比写入记录的数量更多的数据。 |