Python API reference

class vesin.NeighborList(cutoff: float, full_list: bool)

A neighbor list calculator.

Parameters:
  • cutoff – spherical cutoff for this neighbor list

  • full_list – should we return each pair twice (as i-j and j-i) or only once

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, and periodic; returning the requested quantities.

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 to False 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)

This is a thin wrapper around NeighborList, providing the same API as ase.neighborlist.neighbor_list().

It is intended as a drop-in replacement for the ASE function.