Skip to content

cell_list

Periodic cell-list pair construction.

import mlx_atomistic.cell_list

class PairListStats
def __init__(pair_count: int, n_cells: tuple[int, int, int], cell_count: int, occupied_cell_count: int, search_radius: float, estimated_pair_bytes: int, estimated_cell_list_bytes: int, backend: str = 'periodic_cell_list', representation_kind: str = 'pairs', candidate_count: int | None = None, estimated_candidate_bytes: int = 0, compaction_backend: str | None = None, fallback_reason: str | None = None)

Diagnostics for a constructed periodic pair list.

Parameters

NameTypeDefaultDescription
pair_countint
n_cellstuple[int, int, int]
cell_countint
occupied_cell_countint
search_radiusfloat
estimated_pair_bytesint
estimated_cell_list_bytesint
backendstr'periodic_cell_list'
representation_kindstr'pairs'
candidate_countint | NoneNone
estimated_candidate_bytesint0
compaction_backendstr | NoneNone
fallback_reasonstr | NoneNone
class PeriodicCellList
def __init__(bins: dict[tuple[int, int, int], np.ndarray], n_cells: tuple[int, int, int], cell_lengths: np.ndarray, search_radius: float, n_particles: int, estimated_bytes: int)

Binned particles for orthorhombic periodic pair construction.

Parameters

NameTypeDefaultDescription
binsdict[tuple[int, int, int], np.ndarray]
n_cellstuple[int, int, int]
cell_lengthsnp.ndarray
search_radiusfloat
n_particlesint
estimated_bytesint

Properties

  • cell_count int — Total grid cell count.
  • occupied_cell_count int — Number of cells containing at least one particle.
def build_periodic_cell_list(positions, cell: Cell, *, search_radius: float) -> PeriodicCellList

Bin wrapped positions into a periodic orthorhombic grid.

Parameters

NameTypeDefaultDescription
positions
cellCell
search_radiusfloat

Returns

  • PeriodicCellList
def build_periodic_pair_list(positions, cell: Cell, *, search_radius: float, sort_pairs: bool = True, max_workers: int | None = None) -> tuple[np.ndarray, PairListStats]

Build deterministic unique i < j pairs within search_radius.

Parameters

NameTypeDefaultDescription
positions
cellCell
search_radiusfloat
sort_pairsboolTrue
max_workersint | NoneNone

Returns

  • tuple[np.ndarray, PairListStats]
def estimate_pair_list_bytes(pair_count: int) -> int

Return storage bytes for an int32 (pair_count, 2) pair array.

Parameters

NameTypeDefaultDescription
pair_countint

Returns

  • int