openfoam画上亿的网格
-
我想画一个2亿的网格,有没有什么好的方法,多核好像画不了,大家能给个建议吗?
我目前的方法是先画的粗网格,然后refine加密一次,但是在并行运算的时候,会报错 -
-
@李东岳 李老师,不是网格问题,是并行开的核太多报错了,下午我把核减少可以计算了。
还是想问问,那种上亿的网格除了大节点生成,还有啥办法没有? -
@氕氘-川 没办法。只能上机架式。为什么这么多网格哟。
-
@李东岳 做的dns
-
刚搞完这方面的测试,给点结果你参考一下。
2T内存的FAT节点串行blockMesh至少可以生成10亿,即1024立方的网格,划分8192个processors,生成网格耗时2-3天左右,划分网格时间比较长,3-4天吧。
snappyHexMesh那种加密背景网格的方法,64G内存的节点连1亿的网格生成都会爆内存,snappyHexMesh生成过程中,大量数据会集中在master节点,爆内存,其他slave节点消耗内存很小。
既然在超算上,找超算要个FAT节点串行生成是比较有搞头的。毕竟2亿不算多。 -
-
@李东岳 两种方法,一种是用胖节点可以一次性画好,另一种是先画差网格(千万级别),之后多次refine就可以。我的总共用时3个小时,总共网格是2.6亿
-
各位大佬算出结果之后发来看看
-
@氕氘-川 请问多次refine是怎么做到的,一个节点有多少内存吗?
-
@李东岳 在 openfoam画上亿的网格 中说:
各位大佬算出结果之后发来看看
已经跑路在找下家,交接给别人了,看不到结果了。
@氕氘-川 在 openfoam画上亿的网格 中说:
@李东岳 两种方法,一种是用胖节点可以一次性画好,另一种是先画差网格(千万级别),之后多次refine就可以。我的总共用时3个小时,总共网格是2.6亿
你这边节点内存是不是更大一点?
-
@trojason 你看一下这个https://zhuanlan.zhihu.com/p/32441569
-
@trojason http://dyfluid.com/simpleFoam.html#testcase 我这个算例就是用的两次refineMesh 可以下载下来研究研究
算例首先针对单建筑生成较粗的结构网格,然后通过refineMesh工具进行两次网格局域细化。同时对进口速度采用一个比较简单的大气边界层生成条件。最后对比文献中的实验数据。速度场的结果较为吻合。算例文件网格数量共264万。算例文件适配OpenFOAM-8。
-
@氕氘-川 假设网格精度满足DNS要求,但是离散格式能满足DNS要求吗?openfoam最高才二阶
-
@李东岳 现在的瓶颈是单个节点内存不足的问题,但优势是节点数够多。我这边一直想通过parallel mesh generation的方法生成上亿网格。步骤跟之前的帖子您提到的差不多,blockMesh->decomposePar->snappyHexMesh...原来以为这种方法,能绕开内存不足的问题,结果发现processor0通讯开销太大导致内存不足。单节点64G内存的话,千万网格大概占20%内存。因此,上亿网格需要100G以上的节点支持。但这个设计是非常浪费的,因为千万网格->亿网格加密过程中,其他processor只占内存0.4%,processor0直接超过100%。不知道东岳老大有没有其他的方法绕开内存不足的问题,多次refine的话,我认为最终refine那一次所占的内存,跟直接blockMesh所需要的内存差别不大