qimpy.dft.ions.Pseudopotential
- class Pseudopotential(filename)
Bases:
object
Specification of electron-ion interactions. Contains for local potential, nonlocal projectors and atomic orbitals. Currently supports norm-conserving pseudopotentials.
- Parameters:
filename (str) –
- __init__(filename)
Read pseudopotential from file.
- Parameters:
filename (str) – File to read pseudopotential from. Currently, only norm-conserving UPF files are supported.
- Return type:
None
Methods
Read pseudopotential from file.
Get Pulay correction dE/drho_basis, if available.
Number of orbitals per atom.
Update to support calculation of G upto Gmax.
Attributes
Number of projectors used to generate atomic orbitals.
Number of projectors per atom (including m quantum numbers).
Chemical symbol of element
Atomic number of element
Whether this is a PAW pseudopotential
Whether this is an ultrasoft pseudopotential
Pseudo-atomic number i.e. number of valence electrons / atom.
Maximum angular momentum quantum number
Radial grid
Radial grid spacings / integration weights
Atomic reference electron density
Partial core density
Local potential (short-ranged part)
Gaussian width to extract long-ranged part of Vloc
Nonlocal projectors
Atomic orbitals
Whether this is a relativistic pseudopotential
l+s of projectors (if relativistic)
l+s of atomic orbitals (if relativistic)
Energy eigenvalue of each atomic orbital
Descreened nonlocal pseudopotential matrix
Current reciprocal space extent of radial functions
quantum numbers for projectors
quantum numbers for orbitals
Pulay correction data for finite ke cutoff
- dE_drho_basis(ke_cutoff)
Get Pulay correction dE/drho_basis, if available. Here, rho_basis is defined as the number of plane-wave basis functions per unit cell volume.
- Parameters:
ke_cutoff (float) –
- Return type:
float
- n_atomic_orbitals(n_spinor)
Number of orbitals per atom.
- Parameters:
n_spinor (int) –
- Return type:
int
- update(Gmax, ion_width, comm)
Update to support calculation of G upto Gmax. Along with radial function transformations, also update the range separation of Vloc to be consistent with specified ion_width. Parallelize transformations of radial functions over comm.
- Parameters:
Gmax (float) –
ion_width (float) –
comm (Comm) –
- Return type:
None
- D: Tensor
Descreened nonlocal pseudopotential matrix
- Gmax: float
Current reciprocal space extent of radial functions
- Vloc: RadialFunction
Local potential (short-ranged part)
- Z: float
Pseudo-atomic number i.e. number of valence electrons / atom
- atomic_number: int
Atomic number of element
- beta: RadialFunction
Nonlocal projectors
- dr: Tensor
Radial grid spacings / integration weights
- eig_psi: ndarray
Energy eigenvalue of each atomic orbital
- element: str
Chemical symbol of element
- ion_width: float
Gaussian width to extract long-ranged part of Vloc
- is_paw: bool
Whether this is a PAW pseudopotential
- is_relativistic: bool
Whether this is a relativistic pseudopotential
- is_ultrasoft: bool
Whether this is an ultrasoft pseudopotential
- j_beta: Tensor | None
l+s of projectors (if relativistic)
- j_psi: Tensor | None
l+s of atomic orbitals (if relativistic)
- l_max: int
Maximum angular momentum quantum number
- n_core: RadialFunction
Partial core density
- property n_orbital_projectors: int
Number of projectors used to generate atomic orbitals. This is same as the number of atomic orbitals in non-spinorial mode, exactly half that for non-relativistic pseudopotentials in spinorial mode and smaller than the number of atomic orbitals by the number of l = 0 orbitals for relativistic pseudopotentials.
- property n_projectors: int
Number of projectors per atom (including m quantum numbers).
- pqn_beta: PseudoQuantumNumbers
quantum numbers for projectors
- pqn_psi: PseudoQuantumNumbers
quantum numbers for orbitals
- psi: RadialFunction
Atomic orbitals
- pulay_data: ndarray | None
Pulay correction data for finite ke cutoff
- r: Tensor
Radial grid
- rho_atom: RadialFunction
Atomic reference electron density