ppmd.domain module

class ppmd.domain.BaseDomainHalo(extent=None, periods=(1, 1, 1), comm=<mpi4py.MPI.Intracomm object>, boundary_condition=None)

Bases: object

A cell based domain for mpi/private memory. Creates a shell of halos cells around each processes internal cells as halos.

property boundary

Return local domain boundary

property boundary_outer

Return local domain boundary

property cell_array

Return cell array.

property cell_count

Return cell count for domain.

cell_decompose(cell_width=None)
property cell_edge_lengths

Return cell edge lengths.

property dims
property extent

Returns list of domain extents.

property extent_internal

Returns list of domain extents.

get_boundary_cells()

Return a host.Array containing the boundary cell indices of the domain.

get_shift()
property halos
mpi_decompose(mpi_grid=None)
set_extent(new_extent=array([1.0, 1.0, 1.0]))

Set domain extents

Parameters

new_extent (np.array(3,1)) – New extents.

property volume

Return domain volume.

class ppmd.domain.BoundaryTypePeriodic(state_in=None)

Bases: object

Class to hold and perform periodic boundary conditions.

Parameters

state_in – State on which to apply periodic boundaries to.

apply()

Enforce the boundary conditions on the held state.

set_state(state_in=None)
ppmd.domain.factor(n)
ppmd.domain.get_domain_decomp(nproc)
ppmd.domain.pfactor(n)