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

__init__

Read pseudopotential from file.

dE_drho_basis

Get Pulay correction dE/drho_basis, if available.

n_atomic_orbitals

Number of orbitals per atom.

update

Update to support calculation of G upto Gmax.

Attributes

n_orbital_projectors

Number of projectors used to generate atomic orbitals.

n_projectors

Number of projectors per atom (including m quantum numbers).

element

Chemical symbol of element

atomic_number

Atomic number of element

is_paw

Whether this is a PAW pseudopotential

is_ultrasoft

Whether this is an ultrasoft pseudopotential

Z

Pseudo-atomic number i.e. number of valence electrons / atom.

l_max

Maximum angular momentum quantum number

r

Radial grid

dr

Radial grid spacings / integration weights

rho_atom

Atomic reference electron density

n_core

Partial core density

Vloc

Local potential (short-ranged part)

ion_width

Gaussian width to extract long-ranged part of Vloc

beta

Nonlocal projectors

psi

Atomic orbitals

is_relativistic

Whether this is a relativistic pseudopotential

j_beta

l+s of projectors (if relativistic)

j_psi

l+s of atomic orbitals (if relativistic)

eig_psi

Energy eigenvalue of each atomic orbital

D

Descreened nonlocal pseudopotential matrix

Gmax

Current reciprocal space extent of radial functions

pqn_beta

quantum numbers for projectors

pqn_psi

quantum numbers for orbitals

pulay_data

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