CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    算例topoSet、refineMesh后,无法decomposePar

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

      最近在试运行一个算例,整体计算区域是标准六面体,结构化网格(网格单元亦为六面体):
      (1)串行运算:blockMesh --> checkMesh --> XXXFoam(运行求解器),没有问题;
      (2)并行运算:blockMesh --> topoSet --> refinMesh --> checkMesh 至此没有问题,但是开始分解网格时decomposePar,出现错误,过程如下;

      --- blockMesh如下(无问题):
      374bf096-52c5-4a1e-9a04-dafe667beaf0-image.png

      --- topoSet -constant 如下 (无问题):
      57716544-4b75-4a27-9a0a-43831f2a9bce-image.png

      --- refineMesh -overwrite 如下(无问题):
      7a0f86b6-a7b8-4d97-9050-e9e72cf84eac-image.png

      --- decompossePar 如下,报错!!:
      0e2312a1-8e5e-40fa-a6b7-8b9239ce2763-image.png

      请问各位专家,这个有可能是什么原因呐,感谢!

      W 1 条回复 最后回复 回复 引用
      • W
        wsxfyy @hy1112006 最后由 编辑

        @hy1112006 我之前这种做法分块的时候并没有报错,也能正常运行。你要不换一下分块方式,不要用这种分块方式,用scotch试一下

        H 1 条回复 最后回复 回复 引用
        • H
          hy1112006 @wsxfyy 最后由 编辑

          @wsxfyy 我看了下,这个算例就是用scotch 分解的:143: 只有看看以后有没有啥方法了

          X 1 条回复 最后回复 回复 引用
          • X
            xpqiu 教授 @hy1112006 最后由 编辑

            @hy1112006
            先 refineMesh,后 topoSet 试试。
            topoSet 生成的 cellZone 或者 cellSet 等,保存的网格ID是你refineMesh 之前的, refineMesh 之后,网格数量都变了,所以保存在 cellZone 或者 cellSet 里面的编号跟refine之后的网格都不匹配了。

            H 1 条回复 最后回复 回复 引用
            • H
              hy1112006 @xpqiu 最后由 编辑

              @xpqiu 刚才试了下,如果先refineMesh的话,会报错:
              05284b26-cf3a-49b2-a5f8-37b62413c0c9-image.png

              这又是什么原因呐,疑惑~~

              X 1 条回复 最后回复 回复 引用
              • X
                xpqiu 教授 @hy1112006 最后由 编辑

                @hy1112006
                哦,你的 refineMeshDict 里面需要一个 cellSet 来定义需要refine 的网格。这个 cellSet 也只是用来起这个作用吧。
                所以,你需要在 refineMesh 之前,先 topoSet 把 cellSet 生成出来,然后 refineMesh
                但是,在 decomposePar 的时候要排除对 cellSet 进行 decompose,因为我上一条回复说的原因。可以给 decomposePar 加一个选项,-noSets,这样在 decomposePar 的时候就不读取 cellSet 了,也就不会再触发你主楼遇到的错误了。

                H 1 条回复 最后回复 回复 引用
                • H
                  hy1112006 @xpqiu 最后由 编辑

                  @xpqiu 好的,已经尝试成功,感谢老师指点啊!

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