aiida_quantumespresso.common.hubbard#

Utility class and functions for HubbardStructureData.

Module Contents#

Classes#

HubbardParameters

Class for describing onsite and intersite Hubbard interaction parameters.

Hubbard

Class for complete description of Hubbard interactions.

class aiida_quantumespresso.common.hubbard.HubbardParameters(/, **data: Any)[source]#

Bases: pydantic.BaseModel

Class for describing onsite and intersite Hubbard interaction parameters.

atom_index: conint(strict=True, ge=0)[source]#

Atom index in the abstract structure.

atom_manifold: constr(strip_whitespace=True, to_lower=True, min_length=2, max_length=5)[source]#

Atom manifold (syntax is 3d, 3d-2p).

neighbour_index: conint(strict=True, ge=0)[source]#

Neighbour index in the abstract structure.

neighbour_manifold: constr(strip_whitespace=True, to_lower=True, min_length=2, max_length=5)[source]#

Atom manifold (syntax is 3d, 3d-2p).

translation: Tuple[conint(strict=True), conint(strict=True), conint(strict=True)][source]#

Translation vector referring to the neighbour atom, (3,) shape list of ints.

value: float[source]#

Value of the Hubbard parameter, expessed in eV.

hubbard_type: Literal[Ueff, U, V, J, B, E2, E3][source]#

Type of the Hubbard parameters used (Ueff, U, V, J, B, E2, E3).

check_manifolds(value)[source]#

Check the validity of the manifold input.

Allowed formats are:
  • {N}{L} (2 characters)

  • {N1}{L1}-{N2}{L2} (5 characters)

N = quantum number (1,2,3,…); L = orbital letter (s,p,d,f,g,h)

to_tuple() Tuple[int, str, int, str, float, Tuple[int, int, int], str][source]#

Return the parameters as a tuple.

The parameters have the following order:
  • atom_index

  • atom_manifold

  • neighbour_index

  • neighbour_manifold

  • value

  • translationr

  • hubbard_type

static from_tuple(hubbard_parameters: Tuple[int, str, int, str, float, Tuple[int, int, int], str])[source]#

Return a HubbardParameters instance from a list.

The parameters within the list must have the following order:
  • atom_index

  • atom_manifold

  • neighbour_index

  • neighbour_manifold

  • value

  • translation

  • hubbard_type

class aiida_quantumespresso.common.hubbard.Hubbard(/, **data: Any)[source]#

Bases: pydantic.BaseModel

Class for complete description of Hubbard interactions.

parameters: List[HubbardParameters][source]#

List of HubbardParameters.

projectors: Literal[atomic, ortho-atomic, norm-atomic, wannier-functions, pseudo-potentials] = 'ortho-atomic'[source]#

Name of the projectors used. Allowed values are: ‘atomic’, ‘ortho-atomic’, ‘norm-atomic’, ‘wannier-functions’, ‘pseudo-potentials’.

formulation: Literal[dudarev, liechtenstein] = 'dudarev'[source]#

Hubbard formulation used. Allowed values are: ‘dudarev’, liechtenstein.

to_list() List[Tuple[int, str, int, str, float, Tuple[int, int, int], str]][source]#

Return the Hubbard parameters as a list of lists.

The parameters have the following order within each list:
  • atom_index

  • atom_manifold

  • neighbour_index

  • neighbour_manifold

  • value

  • translation

  • hubbard_type

static from_list(parameters: List[Tuple[int, str, int, str, float, Tuple[int, int, int], str]], projectors: str = 'ortho-atomic', formulation: str = 'dudarev')[source]#

Return a Hubbard() instance from a list of tuples.

Each list must contain the hubbard parameters in the following order:
  • atom_index

  • atom_manifold

  • neighbour_index

  • neighbour_manifold

  • value

  • translation

  • hubbard_type