def get_local_mesh(self):
xyrank = self.comm0.Get_rank() # Local rank in xz-plane
yzrank = self.comm1.Get_rank() # Local rank in xy-plane
# Create the physical mesh
x1 = slice(xyrank * self.N1[0], (xyrank+1) * self.N1[0], 1)
x2 = slice(yzrank * self.N2[1], (yzrank+1) * self.N2[1], 1)
X = np.mgrid[x1, x2, :self.N[2]].astype(self.float)
X[0] *= self.L[0]/self.N[0]
X[1] *= self.L[1]/self.N[1]
X[2] *= self.L[2]/self.N[2]
return X
评论列表
文章目录