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
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
- j_beta: Optional[Tensor]
l+s of projectors (if relativistic)
- j_psi: Optional[Tensor]
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: Optional[ndarray]
Pulay correction data for finite ke cutoff
- r: Tensor
Radial grid
- rho_atom: RadialFunction
Atomic reference electron density