请教:OpenFOAM并行相关问题



  • 最近在修改完代码以后出现了并行相关的问题,代码如下:
    567bd322-5bf3-4a27-baa3-17469cb37d9c-image.png
    tempx 和tempw都是vector型,if中的是对某个特定的patch网格面上的量进行操作,并将相关值赋值到tempx和tempw中,returnReduce是想并行将每个process相累加,但是发现编译后单核没有任何问题,但是并行的时候卡在这一步了,不报错也不往下走,如图:
    3bc270fc-015b-4aea-bd00-de5adf5e6e3f-image.png
    是因为目标patch并没有分到所有process中因而卡住还是什么原因呢?
    希望老师能指点一二,祝各位老师新年快乐~



  • 修改位置主要在newMark中~



  • OpenFoam版本为1906



  • 00858625-efa5-4cdb-85e5-aec11732cc10-image.png
    为了修改并行方便 我把所有代码减少了,即使是做这样的循环(forAll 对某个特定的patch面进行遍历计数),单核没有问题,网格数都是对的上的。但是一并行,就会卡在循环这步,不报错也不继续,请问老师是什么原因导致的呢?


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2