求并行生成网格以及划分网格的方法
-
需要搞个大网格,亿到百亿量级,分个上万核甚至更多。
之前试过在fat节点用blockMesh生成1024立方的网格,以及串行划分网格,耗时太长,而且1024立方已经相当极限了,这才10亿。
blockMesh好像没有并行的,不知道各位大佬有没有好的方法?
至于并行划分网格,我知道OpenFOAM装的scotch和metis都有并行版本的,不会用,求个使用方法? -
@李东岳 在 求并行生成网格以及划分网格的方法 中说:
@number44 目前openfoam并行算法都是要给予网格的。就是要网格生成出来之后才能并行计算。因此不存在并行生成网格。所以你说的scotch以及metis,不能用于并行生成网格。老铁你这碉堡了。这么多经费么,上万核百亿级。用openfoam算咩?
那scotch和metis可以并行decompose吗?
我知道OpenFOAM编译的时候都可以把并行的ptscotch一起编了的。
blockMesh的耗时其实还能接受,decomposePar是真的久。
老板要求,可能而已,先准备好工具,毕竟超算,超级算钱。算是OpenFOAM算吧。 -
@李东岳 在 求并行生成网格以及划分网格的方法 中说:
那scotch和metis可以并行decompose吗?
不能。
不过我想到一个曲线救国的方案就是用snappyHexMesh生成网格。这个可以并行。只不过仅仅进行refineMesh处理而已。应该也可以。
还是没解决decompose的问题,不过还是非常感谢大佬的专业意见。
-
可以试试cartesianMesh,用的是 openMP 并行技术,需要设置一下环境变量(export OMP_NUM_THREADS=n),不过没试过上亿量级的网格划分
-
我不生产知识,我只是知识的搬运工
-
@李东岳 在 求并行生成网格以及划分网格的方法 中说:
那scotch和metis可以并行decompose吗?
不能。
不过我想到一个曲线救国的方案就是用snappyHexMesh生成网格。这个可以并行。只不过仅仅进行refineMesh处理而已。应该也可以。
如果这样的话,分别在各processor去refineMesh,reconstructPar会报错吧
6/9