求解故障排除
运行 Simcenter STAR-CCM+ 模拟时可能发生的一些问题包括求解发散和信号分段违例或内存错误。当模拟不适定时,可能会出现求解发散。SIGSEGV 或内存错误通常是意外情况,可能需要支持代表的帮助。
SIGSEV 错误
当程序尝试访问不允许其访问的内存位置时,会发生 SIGSEGV(信号分段违例)错误或内存错误(内存访问异常)。发生此错误的原因有很多。
SIGSEGV 通常是瞬态故障,可能很难排除故障。
- 如果该错误并不经常发生,请尝试对当前模拟进行细微更改,然后使用新名称重新保存文件,或将其保存到新位置。
- 如果频繁发生该错误,但仅限于单个文件,请尝试从头开始重新构建模拟。
- 如果经常在各种条件下发生该错误,则问题可能源自计算机硬件或软件,也可能是模拟经常超出计算机工作内存的限制。这也可能是由于硬件的永久性故障(RAM、硬盘、CPU、主板、网络等故障)。
- 在某些特定情况下,特别是对于复杂或新颖的设置,该错误可能源于软件问题,此时需要开发人员调查。
如果发生此类错误,以其他名称保存模拟,即可使用此文件作为参考。但是,不要继续处理此文件。
重新启动 Simcenter STAR-CCM+,从错误发生之前的状态打开最新可用文件,然后再次尝试重做这些步骤。在即将到达临界点前,保存模拟文件。如果内存错误持续存在,确认有足够的可用内存来加载网格并运行 Simcenter STAR-CCM+。一般情况下,网格中大约每百万个网格单元必须有 1 GB 的可用内存。如果在检查模拟和计算硬件后仍无法确定问题所在,请联系支持代表并提供以下信息:
- 输出窗口中的完整输出:在输出窗口中右键单击并选择另存为。
- 默认宏:选择 。
- 机器特性:请参见知识库文章,如何收集用于解决问题的相关计算机详细信息?
- 错误发生前保存的最后一个模拟文件。
发散
在出现求解发散的情况下,从一次迭代到另一次迭代时网格单元残差增加。如果置之不理,它可能最终导致报告浮点异常。通常,残差监视器绘图的行为会指示何时发生发散。
在前几次迭代过程中,一个或多个残差监视器中出现增加是正常且可接受的情况。例如,考虑(恒定)初始求解通常可完全满足除边界以外的任何位置处的离散方程。在求解迭代时,边界条件传播到内部,导致几次迭代时的全局残差增加,之后又会减少。但是,如果此情况在 5-10 次迭代后未发生改变,可能表示存在发散。
求解发散可能源于两个原因中的一个:
- 存在疑难物理的情况下,初始条件会指定初始求解不合适,并且必须执行特殊步骤来改进较差的初始求解。
- 模拟存在某种其他基本问题(如网格质量、边界条件或求解参数),并且必须执行特殊步骤来调试模拟设置。
如果出现发散,不需要从模拟中退出。相反,可以清除求解,并且在调查发散原因并对模拟进行所需更改后重新运行求解。