1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
Building neighbor-lists
=======================
A neighbor list is a collision detector for spheres: Given
a number of spheres of different radius located at different points,
it calculates the pairs of spheres that overlap.
ASE provides two implementations of neighbor lists. The newer
linearly scaling function
:func:`~ase.neighborlist.neighbor_list` and
the older quadratically scaling class
:class:`~ase.neighborlist.PrimitiveNeighborList`. The latter will likely
use the former as a backend in the future for linear scaling.
For flexibility, both implementations provide a “primitive”
interface which accepts arrays as arguments rather than the
more complex :class:`~ase.atoms.Atoms` objects.
Both implementations can be used via the :class:`~ase.neighborlist.NeighborList`
class. It also provides easy access to the two implementations methods and functions.
Constructing such an object can be done manually or with the :func:`~ase.neighborlist.build_neighbor_list` function.
Further functions provide access to some derived results like graph-analysis etc.:
* :meth:`~ase.neighborlist.natural_cutoffs`
* :meth:`~ase.neighborlist.get_connectivity_matrix`
* :meth:`~ase.neighborlist.get_distance_matrix`
* :meth:`~ase.neighborlist.get_distance_indices`
API
___
.. automodule:: ase.neighborlist
:members:
.. _GPAW: http://gpaw.readthedocs.io
|