为什么两个对接的处理器边界处的值不一样?



  • 2.jpg 1.jpg
    如图所示,上面两张图分别展示了procBoundary2to0边界处的值和procBoundary0to2边界处的值。正常来讲,这两个边界描述的都是都是0号处理器和2号处理器之间的边界值,这两组边界值(两个数组中的元素)不应该一样吗?但是为什么两组边界值(两个数组中的元素)完全不一样呢?谢谢各位老师!


  • 管理员

    求解器里面有动网格存在么



  • @李东岳 没有呢,李老师,我测的算例就是最简单的20*20的cavity算例,并行计算的时候划分为四个子区域,这样的话相邻两个处理器边界的face数目就是10,所以我上面提供的的图中显示的数组的大小都是10。嗯嗯,基本情况就是这样,您有时间可以看看,谢谢!



  • @李东岳 李老师, 又测试了好几个算例,都发现有这个问题,就是两个处理器边界的值对应不上。而且讲道理,处理器边界上的值不就是相邻两个格心值插到face上的值吗?为什么会出现不同处理器上值不一样的情况呢?另外,我感觉,处理器边界的值和物理边界的值不一样,因为物理边界上是一定要给值的,因为我们是根据物理边条算出内场格心未知量,而处理器边界上的值是被内场格心未知量算出的,对未知量的求解没有影响(一句话总结,物理边条决定内场,内场决定处理器边条),从这个角度说,处理器边界上的值不给也行,不影响求解 ,不知道我这么理解对不对?谢谢!



  • 自挖自填,确实两者是不一样的,因为通信边界的值是相邻进程发送过来的格心值,并不是我理解的格心插值到面心。


Log in to reply
 


CFD中文网 | 东岳流体学术 | 东岳流体商业 | 吉ICP备20003622号-1