Density functional theory
Module containing the class for performing electronic structure calculations to compute the potential energy of atomistic systems
- class topsearch.potentials.dft.DensityFunctionalTheory(atom_labels: list, options: dict, force_field: type, calculator_type: str = 'psi4')
Description
Evaluate the energy and force of a molecular system using the Psi4 package via its ase calculators. The energy is computed using density functional theory
- atom_labels
Labels containing the species of each atom in the system
- Type:
list
- calculator_type
ase calculator to use for energy and force. Default is ‘psi4’
- Type:
string
- options
keyword arguments that will be passed to the ase calculator
- Type:
dict
- force_field
DFT calls can fail with significant atomic overlap so the force_field object is used in these cases to remove clashes without failure
- Type:
class
- function(position: NDArray[Any, Any]) float
Compute the electronic potential energy
- function_gradient(position: NDArray[Any, Any]) tuple
Compute the electronic potential energy and its forces
- gradient(position: NDArray[Any, Any]) NDArray[Any, Any]
Compute the analytical gradient from the ASE calculator
- hessian(position: NDArray[Any, Any], displacement: float = 0.0001) NDArray[Any, Any]
Override numerical hessian calculation with internal analytic version for DFT.
- reset_options(options: dict) None
Reset the input options to the ase calculator