ddm.blocking_data_exchanger#

Classes#

Inheritance diagram of psydac.ddm.blocking_data_exchanger

BlockingCartDataExchanger(cart, dtype, *[, ...])

Type that takes care of updating the ghost regions (padding) of a multi-dimensional array distributed according to the given Cartesian decomposition of a tensor-product grid of coefficients.

Details#

class BlockingCartDataExchanger(cart, dtype, *, coeff_shape=(), assembly=False, axis=None, shape=None)[source]#

Bases: CartDataExchanger

Type that takes care of updating the ghost regions (padding) of a multi-dimensional array distributed according to the given Cartesian decomposition of a tensor-product grid of coefficients.

Each coefficient in the decomposed grid may have multiple components, contiguous in memory.

Parameters:
cartpsydac.ddm.CartDecomposition

Object that contains all information about the Cartesian decomposition of a tensor-product grid of coefficients.

dtype[type | str | numpy.dtype | mpi4py.MPI.Datatype]

Datatype of single coefficient (if scalar) or of each of its components (if vector).

coeff_shape[tuple(int) | list(int)]

Shape of a single coefficient, if this is multi-dimensional (optional: by default, we assume scalar coefficients).

get_send_type(*args)[source]#
get_recv_type(*args)[source]#
get_assembly_send_type(*args)[source]#
get_assembly_recv_type(*args)[source]#
prepare_communications(u)[source]#
start_update_ghost_regions(array, requests)[source]#

Update ghost regions in a numpy array with dimensions compatible with CartDecomposition (and coeff_shape) provided at initialization.

Parameters:
arraynumpy.ndarray

Multidimensional array corresponding to local subdomain in decomposed tensor grid, including padding.

requeststuple|None

The requests of the communications.

end_update_ghost_regions(array, requests)[source]#
start_exchange_assembly_data(array)[source]#

Update ghost regions after the assembly algorithm in a numpy array with dimensions compatible with CartDecomposition (and coeff_shape) provided at initialization.

Parameters:
arraynumpy.ndarray

Multidimensional array corresponding to local subdomain in decomposed tensor grid, including padding.

end_exchange_assembly_data(array)[source]#