@李东岳 现在的瓶颈是单个节点内存不足的问题,但优势是节点数够多。我这边一直想通过parallel mesh generation的方法生成上亿网格。步骤跟之前的帖子您提到的差不多,blockMesh->decomposePar->snappyHexMesh...原来以为这种方法,能绕开内存不足的问题,结果发现processor0通讯开销太大导致内存不足。单节点64G内存的话,千万网格大概占20%内存。因此,上亿网格需要100G以上的节点支持。但这个设计是非常浪费的,因为千万网格->亿网格加密过程中,其他processor只占内存0.4%,processor0直接超过100%。不知道东岳老大有没有其他的方法绕开内存不足的问题,多次refine的话,我认为最终refine那一次所占的内存,跟直接blockMesh所需要的内存差别不大
T
TroJason
@TroJason
帖子
-
openfoam画上亿的网格 -
openfoam画上亿的网格@氕氘-川 请问多次refine是怎么做到的,一个节点有多少内存吗?
-
求并行生成网格以及划分网格的方法@李东岳 在 求并行生成网格以及划分网格的方法 中说:
那scotch和metis可以并行decompose吗?
不能。
不过我想到一个曲线救国的方案就是用snappyHexMesh生成网格。这个可以并行。只不过仅仅进行refineMesh处理而已。应该也可以。
如果这样的话,分别在各processor去refineMesh,reconstructPar会报错吧