本文摘要(由AI生成):
这篇文章主要介绍了 Comsol 处理内存不足问题的方法。对于 32 位系统,当模型所需存储容量超过理论上限时,会出现“Out of memory”错误信息,因此推荐使用 64 位系统。文章还介绍了一些在有限 RAM 情况下处理大模型的方法,以及使用服务器进行计算的相关内容。此外,文章指出特定问题所需存储容量取决于多种因素,包括几何网格节点数、形函数类型、计算网格大小、自变量与因变量数量、系统矩阵稀疏程度以及几何和网格形状等。
问 Comsol处理内存不足问题 ?
32位系统能够访问的存储容量有理论上限(物理内存 RAM 和虚拟内存),当模型需要的 存储容量超过理论上限时,即会出现“Out of memory”的错误信息。因此,推荐使用64位系统,理论上能访问的存储容量没有限制。当模型太大,物理内存RAM耗尽而使 用虚拟内存的时候,计算机的计算速度会明显变慢,因为虚拟内存的速度比RAM慢很多。下面将列举几条用有限RAM来处理大模型而不降低计算速度的方法。如果使用32位系统,也可以在知识库1030“错误信息——内存不足”中找到一些实用的处理技巧。当可以访问一个有强大的计算功能的服务器时,较好的选择是在客户机上运行 COMSOL图形用户界面,在配备有大量 RAM 的服务器上进行计算。这种运行模式,需要浮动版授权(floating network license)的支持。特定问题需要的存储容量是有区别的,取决于:几何网格的节点数(基本网格);形函数的类型,例如,二阶拉格朗日单元。计算网格(扩展网格)的大小取决于形函数的类型以及几何网格;自变量与因变量的数量;系统矩阵的稀疏程度,主要取决于不同方程间耦合的自由度。几何和网格的形状也会影响系统矩阵的稀疏程度:一个在表面有很大比例的自由度的薄或者平坦的物体,比一个庞大的实体(如球体或立方体)有更稀疏的系统矩阵。对上面的最后一条的理解是,系统对内存的需求主要取决于 Jacobian 矩阵的非零部分,而 不是自由度。例如,使用传导-对流方程和稳态理想气体定律方程进行耦合的非等温流问题, 所有的 5 个变量(u, v, w, p, T)都出现在 5 个方程中(3D 模型),它的Jacobian矩阵比 单纯的热传导问题要充实得多。这也是在求解热辐射问题的时候需要大量内存的原因,任意一个表面的单元都创建一个满的矩阵块,使得Jacobian很充实。