Python API reference¶
- class vesin.NeighborList(cutoff: float, full_list: bool, sorted: bool = False)¶
A neighbor list calculator.
- Parameters:
cutoff – spherical cutoff for this neighbor list
full_list – should we return each pair twice (as
i-j
andj-i
) or only oncesorted – Should vesin sort the returned pairs in lexicographic order (sorting both
i
and thenj
at constanti
)?
- compute(points: numpy.typing.ArrayLike, box: numpy.typing.ArrayLike, periodic: bool, quantities: str = 'ij', copy=True) List[ndarray] ¶
Compute the neighbor list for the system defined by
positions
,box
, andperiodic
; returning the requestedquantities
.quantities
can contain any combination of the following values:"i"
to get the index of the first point in the pair"j"
to get the index of the second point in the pair"P"
to get the indexes of the two points in the pair simultaneously"S"
to get the periodic shift of the pair"d"
to get the distance between points in the pair"D"
to get the distance vector between points in the pair
- Parameters:
points – positions of all points in the system (this can be anything that can be converted to a numpy array)
box – bounding box of the system (this can be anything that can be converted to a numpy array)
periodic – should we use periodic boundary conditions?
quantities – quantities to return, defaults to “ij”
copy – should we copy the returned quantities, defaults to
True
. Setting this toFalse
might be a bit faster, but the returned arrays are view inside this class, and will be invalidated whenever this class is garbage collected or used to run a new calculation.
- Returns:
tuple of arrays as indicated by
quantities
.
- vesin.ase_neighbor_list(quantities, a, cutoff, self_interaction=False, max_nbins=0)¶
This is a thin wrapper around
NeighborList
, providing the same API asase.neighborlist.neighbor_list()
.It is intended as a drop-in replacement for the ASE function, but only supports a subset of the functionality. Notably, the following is not supported:
self_interaction=True
ase.Atoms
with mixed periodic boundary conditionsgiving
cutoff
as a dictionary
- Parameters:
quantities – quantities to output from the neighbor list. Supported are
"i"
,"j"
,"d"
,"D"
, and"S"
with the same meaning as in ASE.a –
ase.Atoms
instancecutoff – cutoff radius for the neighbor list
self_interaction – Should an atom be considered its own neighbor? Default: False
max_nbins – for ASE compatibility, ignored by this implementation