ppmd.pygcl.halo_exchange_3d module¶
-
class
ppmd.pygcl.halo_exchange_3d.
CellSlice
¶ Bases:
object
-
class
ppmd.pygcl.halo_exchange_3d.
HaloExchange3D
(comm, dim, width=(1, 1, 1))¶ Bases:
object
-
boundary_cells
¶ See self.boundary starts, cells to pack from.
-
boundary_starts
¶ Tuple 7x1, if this tuple is labeled b then direction i packs elements c_{b_i} to c_{b_{i+1}} where c is self.boundary cells.
-
comm
¶ Cartesian communicator used.
-
dim
¶ Dimensions of local domain plus halo regions.
-
exchange
(array)¶ Halo exchange the passed array using the setup scheme. :param array: Array size (n2, n1, n0, d) where (n2, n1, n0) is the tuple the halo exchange scheme was constructed with. d is the number of components at each point (automatically determined). Data type needs to be compatible with mpi4py (automatically determined).
- Returns
None, Passed array is modified.
-
halo_cells
¶ See self.boundary_starts, cells to unpack into.
-
halo_starts
¶ See self.bounadry_starts, same but for halo cells to unpack into.
-
recv_ranks
¶ Tuple 6x1, MPI ranks in self.comm this rank will recv from.
-
send_ranks
¶ Tuple 6x1, MPI ranks in self.comm this rank will send to.
-
-
ppmd.pygcl.halo_exchange_3d.
create_halo_pairs_slice_halo
(comm, cell_array, slicexyz, direction, width)¶ Automatically create the pairs of cells for halos. Slices through whole domain including halo cells.
-
ppmd.pygcl.halo_exchange_3d.
get_cart_rank_offset
(comm, offset)¶