CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    计算时终端停在一步,检查CPU都占着,不报错,一直停在这一个地方

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

      各位大佬好,我之前发过一个帖子,https://www.cfd-china.com/topic/5043/终端一直卡在一步不往下计算?_=1637224381642
      这是规则波下浮式平台运动响应的一个问题,用动网格算,终端一直停在这一步,后来我用重叠网格计算时没遇到这个问题,能够正常完成计算。

      后来与一个朋友交流,他也遇到了这个问题,他是用重叠网格做物体入水的,他说在并行计算时,每个核都要有运动边界的一部分(在每个processor/boundary下面查看运动物体的边界,如果nFace不为0,就存在运动边界,可以这么理解吗?),他在模拟时用4核计算,这时每个processor都有运动边界可以正常计算,但在4核以上时,有的processor没有运动边界(nFace为0),这时会出现计算停在某一步这个问题,重新计算还是会停在相同的位置。但是我最近用重叠网格计算时有的processor里没有运动边界(nFace为0),也能正常计算,有没有大佬了解processor里面运动边界对计算有怎样的影响。nFace0.png nFace非0.png

      1 条回复 最后回复 回复 引用
      • bestucan
        bestucan 版主 副教授 最后由 编辑

        我猜是这样的,
        process 里必须有动网格,这样计算的过程只涉及网格如何动,

        如果 process 里没有动网格,那么当动网格运动到该区域,还要造动网格。

        至于 process 里没有动网格也能算,那是动网格没有运动到该 process 覆盖的区域。

        可以测试,在计算区域内设置动网格,但是不让它动,比如平静的水面。应该可以一直算。

        paraview 里可以看每个 process 的区域,算不动的那步估计就是跨区域运动了

        滚来滚去……~(~o ̄▽ ̄)~o 滚来滚去都不能让大家看出来我不是老师么 O_o

        异步沟通方式(《posting style》from wiki)(下载后打开):
        https://www.jianguoyun.com/p/Dc52X2sQsLv2BRiqnKYD
        提问的智慧(github在gitee的镜像):
        https://gitee.com/bestucan/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md

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