pele.utils.neighbor_list.NeighborListPotentialMulti#

class pele.utils.neighbor_list.NeighborListPotentialMulti(potentials, natoms, rcut, rskin=0.5, boxl=None)[source]#

A wrapper for multiple NeighborListPotentialBuild

This will wrap multiple instances of NeighborListPotentialBuild. This class will the check the coords and control when the neighbor lists are rebuilt.

Parameters:
potentials

a list of neighbor list potential objects. Each potential must have attribute

potential.buildList(coords)

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

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

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

needNewList(coords)

test_potential(coords[, eps])

print some information testing whether the analytical gradients are correct

update(coords)

Attributes