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