class PairPotential(element_pair, distances, values)

Input class for setting the repulsive pair potential between two elements in the HuckelCalculator.

  • element_pair (tuple of PeriodicTableElement) – The two elements to set the pair potential for.
  • distances (PhysicalQuantity of type length) – A list of distances for the pair potential. The length of this vector should be len(values).
  • values (PhysicalQuantity of type energy) – The values of the pair potential at the given distances. The length of this vector should be len(distances).
Returns:The distances of the pair potential.
Return type:PhysicalQuantity of type length
Returns:The element pair of the pair potential.
Return type:tuple of PeriodicTableElement
Returns:The values of the pair potential.
Return type:PhysicalQuantity of type energy

Usage Examples

Make a repulsive exponential pair potential between two carbon atoms

# Define a cutoff distance
rc = 4.

# Define a list of distances
distances = numpy.linspace(0.0,rc,401)

# Evaluate an exponential function at the distance
# (subtract the value in the endpoint to make it go to 0)
values = 50.*(numpy.exp(-3.*distances)-numpy.exp(-3.*rc))

# Setup the pair potential object
pair_potential = PairPotential(
    element_pair = (Carbon, Carbon),
    distances = distances * Bohr,
    values = values * eV,


The PairPotential is used to define a pair wise interaction between two elements. It is used to define the repulsive term for HuckelCalculator, DeviceHuckelCalculator, SlaterKosterCalculator and DeviceSlaterKosterCalculator.