已知某点坐标,获取该点的速度。单核可行,多核并行就会出现由于分块找不到cellID。
-
并行计算时候,每个进程掌握的网格就固定那些。
举例b点只存在于processor x1,不在processor x2当中,processor x2自然无法获取b点的信息。
要想processor x2获取b点信息,可以用reduce函数,也就是进程之间通讯一下。
首先初始化intU为零向量,然后赋值,再reduce。point b (1,1,1); label cellID = mesh.findCell(b); vector intU(0,0,0); intU = U[cellID]; reduce(U,sumOp<vector>());
具体代码你再看一下,我这个是思路,代码可能哪里不对。