Atomic
Module to store interatomic potentials that can be used for atomistic systems. Contains the classes to compute the energy of atomic clusters within the Lennard-Jones and Gupta potentials
- class topsearch.potentials.atomic.BinaryGupta(species: list)
Description
Evaluate energy of binary metal clusters with the Gupta potential. Here only contains the parameters for Au and Ag.
- atom_labels
Denotes the species of atoms, can be ‘Au’ or ‘Ag’
- Type:
array
- a_repulsive
Repulsive coefficient
- Type:
array
- zeta
Attractive coefficient
- Type:
array
- p_range
Range of interaction
- Type:
array
- q_range
Range of interaction
- Type:
array
- r_eq
Equilibrium bond lengths
- Type:
array
- function(position: NDArray[Any, Any]) float
Return the potential energy of the system at position
- class topsearch.potentials.atomic.LennardJones(epsilon: float = 1.0, sigma: float = 1.0)
Description
The Lennard-Jones pair potential to evaluate the energy for a set of atoms. Simple but fast representation of interatomic potentials
- epsilon
The well depth of the pair potential
- Type:
float
- sigma
The length scale of the pair potential
- Type:
float
- function(position: NDArray[Any, Any]) float
Return the potential energy of a set of atoms evaluated using the Lennard Jones potential
- function_gradient(position: NDArray[Any, Any]) tuple
Return both the function and gradient at point position
- get_atom(position: NDArray[Any, Any], atom_ind: int) NDArray[Any, Any]
Get the Cartesian position of the atom given index atom_ind
- gradient(position: NDArray[Any, Any]) NDArray[Any, Any]
Return the gradient vector at configuration position
- pair_potential(atom1: NDArray[Any, Any], atom2: NDArray[Any, Any]) tuple
Return the value of the pair potential and terms needed for the gradient
- squared_distance(atom1: NDArray[Any, Any], atom2: NDArray[Any, Any]) float
Return the squared distance between two atoms