pele.utils.neighbor_list.NeighborListSubsetBuild#

class pele.utils.neighbor_list.NeighborListSubsetBuild(natoms, rcut, Alist, Blist=None, rskin=0.5, boxl=None)[source]#

The same as NeighborListSubset except only do the building.

This class will build the neighbor lists, but can’t check whether they need to be rebuilt. This is meant to be used in situations where multiple neighbor lists are being maintained and we don’t want to do repetative checks for whether the lists should be rebuilt

It has the added benefit that no copy of coords is saved, so it takes up less memory.

Parameters:
natoms

number of atoms

rcut

the cutoff distance for the potential

rskin

the skin distance. atoms are listed as neighbors if they are closer then rlist = rcut + rskin. A larger rskin will have more interaction pairs, but will need to be updated less frequently

Alist

The list of atoms that are interacting

Blistthe list of atoms that are interacting with Alist

if Blist is None or Blist is Alist then the atoms in Alist will be assumed to be interacting with each other. Duplicate interactions will be avoided.

boxl

if not None, then the system is in a periodic box of size boxl

Methods

NumericalDerivative(coords[, eps])

return the gradient calculated numerically

NumericalHessian(coords[, eps])

return the Hessian matrix of second derivatives computed numerically

buildList(coords)

getEnergy(coords)

return the energy at the given coordinates

getEnergyGradient(coords)

return the energy and gradient at the given coordinates

getEnergyGradientHessian(coords)

return the energy, gradient, and Hessian at the given coordinates

getEnergyGradientNumerical(coords)

getGradient(coords)

return the gradient at the given coordinates

getHessian(coords)

return the hessian

test_potential(coords[, eps])

print some information testing whether the analytical gradients are correct

Attributes