1from DNDSR
import DNDS, Geom
7 self, rs: int, local_shape: tuple[int, int], mpi:
DNDS.MPIInfo, rs_dyn=
None
13 local_size = np.array(local_shape, dtype=np.int64).prod()
19 arrPair.father.Resize(local_size)
24 return self.
pair.father
32 return self.
pair.trans
40 main_mem = np.array(dist_field.main.data(), copy=
False)
41 main_mem.flat = data.flat
43 assert (np.array(dist_field.main.data()) == data.flat).all()
48 main_mem = np.array(dist_field.main.data(), copy=
False)
49 main_mem.flat = data[cr[0][0] : cr[0][1], cr[1][0] : cr[1][1]].flat
52 np.array(dist_field.main.data())
53 == data[cr[0][0] : cr[0][1], cr[1][0] : cr[1][1]].flat
57 self.
pair.trans.createFatherGlobalMapping()
58 self.
pair.trans.createGhostMapping(pullIdx)
59 self.
pair.trans.createMPITypes()
60 self.
pair.trans.initPersistentPull()
65 core_range_in_expanded,
66 grid_point_expanded_idxs_g_ijks_local,
72 grid_point_expanded_idxs_g_ijks_local
81 data_expanded[cr[0][0] : cr[0][1], cr[1][0] : cr[1][1]] = self.
mdata
83 data_expanded[ghost_is, ghost_js] = np.array(self.
ghost.data()).reshape(
ParArray<real, N> whose operator[] returns an Eigen::Map<Vector>.
_grid_point_expanded_idxs_g_ijks_local
set_ghost_info(self, expanded_shape, core_range_in_expanded, grid_point_expanded_idxs_g_ijks_local)
set_main_data(self, data)
__init__(self, int rs, tuple[int, int] local_shape, DNDS.MPIInfo mpi, rs_dyn=None)
set_ghost_global_pull(self, pullIdx)
set_main_data_from_expanded(self, data)
Convenience bundle of a father, son, and attached ArrayTransformer.
Lightweight bundle of an MPI communicator and the calling rank's coordinates.