003. 一文彻底搞清楚ANSYS/LS-DYNA中内存Memory设置问题
CAE知识手札
2024年02月21日 08:00
收录于文集
共3篇

ANSYS/LS-DYNA中内存memory不足的解决方法。

图 1

错误代码 Error 70021 (OTH+21)

这个错误消息表明 LS-DYNA 在运行时需要更多的内存来处理本次模拟,但是当前的内存设置不够

错误消息中提到了可以通过两种方式增加内存大小:

1) 在命令行中设置内存大小为所需的字数,使用命令 -memory=####,其中 #​### 是本次所需的words(字数)。

2) 在输入文件(k文件)中使用 *KEYWORD 定义内存大小,例如 *KEYWORD #### 或 *KEYWORD memory=#​###,其中 #​### 是本次所需的words。

“memory”在 LS-DYNA 求解器中指的是用于运行求解器的内存量。

在 LS-DYNA 中,内存量的设置对求解器的运行性能和能够处理的问题规模都有很大的影响。

更大的内存分配能够处理更大规模的模拟,但是需要确保计算机系统有足够的物理内存来支持所需的内存分配。

调整内存量大小以刚好满足需求和将内存量设置到计算机物理内存极限时,计算速度可能会相差数十倍。通常将内存量memory设置为使用内存的30%到80%

补充:

而在 64 位系统中,一个 word则通常是 8 字节长

 

举例,如果需要将 LS-DYNA 的运行内存设置为 2GB,那么就需要相应地将 MEMORY 参数设置为适当的字数:

1 GB = 1024 MB

1 MB = 1024 KB

1 KB = 1024 bytes

64位处理器中,1 Word = 64位 = 8 bytes

因此,2GB 对应的字数为:

2GB = 2 * 1024 * 1024 * 1024 bytes / 8 bytes/word = 268,435,456 words;

可以近似设置2GB = 2*1000*1000*1000/ 10 = 2*10^8 words。

图 2

注意,此时调用的计算机RAM量是 NCPU*MEMORY 也就是8*200000000,约为16GB。如果此时计算机剩余的运行内存不足16GB,则会出现 Error 60380 (IMP + 380错误:

图 3

这个Fatal Errror表明在进行隐式力学求解过程中,内存不足以解决线性代数问题。

换言之,我们在模拟过程中错误地分配了超出计算机剩余物理内存极限的计算资源(内存设置过大),因此计算机没有足够的内存来完成模型求解。

 

Error 60380 (IMP + 380)解决方式:

在具有更大RAM的计算机上运行仿真,或者减小网格大小,或者减少使用的内核数量,并在关闭所有其他程序(特别是浏览器)的情况下重新尝试解决相同的问题。

本次我们尝试减少使用的内核数量NCPU=2(仅用于演示目的,计算速度会明显减慢),所调用的RAM量为2*200000000,约为4GB:

图 4

Normal termination。

个人学习总结,整理不易,未经本人允许请勿搬运。