matscipy.calculators.mcfm.neighbour_list_mcfm.neighbour_list_mcfm
Classes
|
Neighbor list object. |
- class matscipy.calculators.mcfm.neighbour_list_mcfm.neighbour_list_mcfm.NeighbourListMCFM(atoms, cutoffs, skin=0.3, hysteretic_break_factor=1)
Bases:
NeighbourListBase
Neighbor list object. Wrapper aroud matscipy.neighbour_list
- atoms: ase.Atoms
Atomic configuration.
- cutoffs: float or dict
Cutoff for neighbour search. If single float is given, a global cutoff is used for all elements. A dictionary specifies cutoff for element pairs. Specification accepts element numbers of symbols. Example: {(1, 6): 1.1, (1, 1): 1.0, (‘C’, ‘C’): 1.85}
- skin: float
If no atom has moved more than the skin-distance since the last call to the
update()
method, then the neighbor list can be reused. This will save some expensive rebuilds of the list, but extra neighbors outside the cutoff will be returned.- hysteretic_break_factor: float
If atoms are connected, the link will break only of they move apart further than cutoff * hysteretic_break_factor
Methods
do_update
(atoms)Build the neighbour list based on pairwise distances.
Return neighbors of atom number a.
update
(atoms)Make sure the list is up to date.
- __init__(atoms, cutoffs, skin=0.3, hysteretic_break_factor=1)
- update(atoms)
Make sure the list is up to date. If clled for the first time, build the list
- Parameters:
atoms (ase.Atoms) – atoms to initialize the list from
- Returns:
True of the update was sucesfull
- Return type:
bool
- do_update(atoms)
Build the neighbour list based on pairwise distances.
- Parameters:
atoms (ase.Atoms) – atoms to initialize the list from
- Raises:
ValueError – Must specify cutoff radii for all atoms
- get_neighbours(a)
Return neighbors of atom number a.
A list of indices to neighboring atoms is returned.
- Parameters:
a (int) – atomic index
- Returns:
array of neighbouring indices
- Return type:
np.array
- Raises:
RuntimeError – Must update the list at least once!