CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    openfoam画上亿的网格

    OpenFOAM
    5
    15
    1185
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 氕
      氕氘-川 最后由 编辑

      我想画一个2亿的网格,有没有什么好的方法,多核好像画不了,大家能给个建议吗?
      我目前的方法是先画的粗网格,然后refine加密一次,但是在并行运算的时候,会报错

      1 条回复 最后回复 回复 引用
      • 李东岳
        李东岳 管理员 最后由 编辑

        @氕氘-川 在 openfoam画上亿的网格 中说:

        但是在并行运算的时候,会报错

        确定是网格导致的问题么

        线上CFD课程开始报名:http://www.dyfluid.com/class.html

        CFD高性能服务器 http://dyfluid.com/servers.html

        氕 1 条回复 最后回复 回复 引用
        • 氕
          氕氘-川 @李东岳 最后由 编辑

          @李东岳 李老师,不是网格问题,是并行开的核太多报错了,下午我把核减少可以计算了。
          还是想问问,那种上亿的网格除了大节点生成,还有啥办法没有?

          李东岳 1 条回复 最后回复 回复 引用
          • 李东岳
            李东岳 管理员 @氕氘-川 最后由 编辑

            @氕氘-川 没办法。只能上机架式。为什么这么多网格哟。

            线上CFD课程开始报名:http://www.dyfluid.com/class.html

            CFD高性能服务器 http://dyfluid.com/servers.html

            氕 1 条回复 最后回复 回复 引用
            • 氕
              氕氘-川 @李东岳 最后由 编辑

              @李东岳 做的dns:136:

              Z 1 条回复 最后回复 回复 引用
              • Number44
                Number44 最后由 编辑

                刚搞完这方面的测试,给点结果你参考一下。
                2T内存的FAT节点串行blockMesh至少可以生成10亿,即1024立方的网格,划分8192个processors,生成网格耗时2-3天左右,划分网格时间比较长,3-4天吧。
                snappyHexMesh那种加密背景网格的方法,64G内存的节点连1亿的网格生成都会爆内存,snappyHexMesh生成过程中,大量数据会集中在master节点,爆内存,其他slave节点消耗内存很小。
                既然在超算上,找超算要个FAT节点串行生成是比较有搞头的。毕竟2亿不算多。

                算不准,发个散,报error,没问题!

                1 条回复 最后回复 回复 引用
                • 李东岳
                  李东岳 管理员 最后由 编辑

                  @Number44 @氕氘-川
                  二位大佬都在跑亿级别网格,相遇在论坛,可以喝一壶 :xiezuoye:

                  生成网格耗时2-3天左右,划分网格时间比较长,3-4天吧。

                  见识了

                  线上CFD课程开始报名:http://www.dyfluid.com/class.html

                  CFD高性能服务器 http://dyfluid.com/servers.html

                  氕 1 条回复 最后回复 回复 引用
                  • 氕
                    氕氘-川 @李东岳 最后由 编辑

                    @李东岳 两种方法,一种是用胖节点可以一次性画好,另一种是先画差网格(千万级别),之后多次refine就可以。我的总共用时3个小时,总共网格是2.6亿

                    T 1 条回复 最后回复 回复 引用
                    • 李东岳
                      李东岳 管理员 最后由 编辑

                      各位大佬算出结果之后发来看看 :140:

                      线上CFD课程开始报名:http://www.dyfluid.com/class.html

                      CFD高性能服务器 http://dyfluid.com/servers.html

                      Number44 1 条回复 最后回复 回复 引用
                      • T
                        TroJason @氕氘-川 最后由 编辑

                        @氕氘-川 请问多次refine是怎么做到的,一个节点有多少内存吗?

                        氕 李东岳 2 条回复 最后回复 回复 引用
                        • Number44
                          Number44 @李东岳 最后由 编辑

                          @李东岳 在 openfoam画上亿的网格 中说:

                          各位大佬算出结果之后发来看看 :140:

                          已经跑路在找下家,交接给别人了,看不到结果了。:xinlei:

                          @氕氘-川 在 openfoam画上亿的网格 中说:

                          @李东岳 两种方法,一种是用胖节点可以一次性画好,另一种是先画差网格(千万级别),之后多次refine就可以。我的总共用时3个小时,总共网格是2.6亿

                          你这边节点内存是不是更大一点?

                          算不准,发个散,报error,没问题!

                          1 条回复 最后回复 回复 引用
                          • 氕
                            氕氘-川 @TroJason 最后由 编辑

                            @trojason 你看一下这个https://zhuanlan.zhihu.com/p/32441569

                            1 条回复 最后回复 回复 引用
                            • 李东岳
                              李东岳 管理员 @TroJason 最后由 编辑

                              @trojason http://dyfluid.com/simpleFoam.html#testcase 我这个算例就是用的两次refineMesh 可以下载下来研究研究

                              算例首先针对单建筑生成较粗的结构网格,然后通过refineMesh工具进行两次网格局域细化。同时对进口速度采用一个比较简单的大气边界层生成条件。最后对比文献中的实验数据。速度场的结果较为吻合。算例文件网格数量共264万。算例文件适配OpenFOAM-8。

                              线上CFD课程开始报名:http://www.dyfluid.com/class.html

                              CFD高性能服务器 http://dyfluid.com/servers.html

                              T 1 条回复 最后回复 回复 引用
                              • Z
                                zhouxu @氕氘-川 最后由 编辑

                                @氕氘-川 假设网格精度满足DNS要求,但是离散格式能满足DNS要求吗?openfoam最高才二阶

                                1 条回复 最后回复 回复 引用
                                • T
                                  TroJason @李东岳 最后由 编辑

                                  @李东岳 现在的瓶颈是单个节点内存不足的问题,但优势是节点数够多。我这边一直想通过parallel mesh generation的方法生成上亿网格。步骤跟之前的帖子您提到的差不多,blockMesh->decomposePar->snappyHexMesh...原来以为这种方法,能绕开内存不足的问题,结果发现processor0通讯开销太大导致内存不足。单节点64G内存的话,千万网格大概占20%内存。因此,上亿网格需要100G以上的节点支持。但这个设计是非常浪费的,因为千万网格->亿网格加密过程中,其他processor只占内存0.4%,processor0直接超过100%。不知道东岳老大有没有其他的方法绕开内存不足的问题,多次refine的话,我认为最终refine那一次所占的内存,跟直接blockMesh所需要的内存差别不大

                                  1 条回复 最后回复 回复 引用
                                  • First post
                                    Last post