aiida_quantumespresso.data.hubbard_structure#

Data plugin that represents a crystal structure with Hubbard parameters.

Module Contents#

Classes#

HubbardStructureData

Structure data containing code agnostic info on Hubbard parameters.

class aiida_quantumespresso.data.hubbard_structure.HubbardStructureData(cell: List[List[float]], sites: List[Tuple[str, str, Tuple[float, float, float]]], pbc: Tuple[bool, bool, bool] = (True, True, True), hubbard: aiida_quantumespresso.common.hubbard.Hubbard = None, **kwargs)[source]#

Bases: aiida.orm.StructureData

Structure data containing code agnostic info on Hubbard parameters.

property sites[source]#

Return the sites.

property hubbard: aiida_quantumespresso.common.hubbard.Hubbard[source]#

Get the Hubbard instance.

Returns:

a Hubbard instance.

_hubbard_filename = 'hubbard.json'[source]#
static from_structure(structure: aiida.orm.StructureData, hubbard: aiida_quantumespresso.common.hubbard.Hubbard | None = None)[source]#

Return an instance of HubbardStructureData from a StructureData node.

Parameters:
Returns:

HubbardStructureData instance

append_hubbard_parameter(atom_index: int, atom_manifold: str, neighbour_index: int, neighbour_manifold: str, value: float, translation: Tuple[int, int, int] = None, hubbard_type: str = 'Ueff')[source]#

Append a HubbardParameters.

Parameters:
  • atom_index – atom index in unitcell

  • atom_manifold – atomic manifold (e.g. 3d, 3d-2p)

  • neighbour_index – neighbouring atom index in unitcell

  • neighbour_manifold – neighbour manifold (e.g. 3d, 3d-2p)

  • value – value of the Hubbard parameter, in eV

  • translation – (3,) list of ints, describing the translation vector associated with the neighbour atom, defaults to None

  • hubbard_type – hubbard type (U, V, J, …), defaults to ‘Ueff’ (see Hubbard for full allowed values)

pop_hubbard_parameters(index: int)[source]#

Pop Hubbard parameters in the list.

Parameters:

index – index of the Hubbard parameters to pop

clear_hubbard_parameters()[source]#

Clear all the Hubbard parameters.

initialize_intersites_hubbard(atom_name: str, atom_manifold: str, neighbour_name: str, neighbour_manifold: str, value: float = 1e-08, hubbard_type: str = 'V', use_kinds: bool = True)[source]#

Initialize and append intersite Hubbard values between an atom and its neighbour(s).

Note

this only initialize the value between the first neighbour. In case use_kinds is False, all the possible combination of couples having kind name equal to symbol are initialized.

Parameters:
  • atom_name – atom name in unitcell

  • atom_manifold – atomic manifold (e.g. 3d, 3d-2p)

  • neighbour_index – neighbouring atom name in unitcell

  • neighbour_manifold – neighbour manifold (e.g. 3d, 3d-2p)

  • value – value of the Hubbard parameter, in eV

  • hubbard_type – hubbard type (U, V, J, …), defaults to ‘V’ (see Hubbard for full allowed values)

  • use_kinds – whether to use kinds for initializing the parameters; when False, it initializes all the Kinds matching the atom_name

initialize_onsites_hubbard(atom_name: str, atom_manifold: str, value: float = 1e-08, hubbard_type: str = 'Ueff', use_kinds: bool = True)[source]#

Initialize and append onsite Hubbard values of atoms with specific name.

Parameters:
  • atom_name – atom name in unitcell

  • atom_manifold – atomic manifold (e.g. 3d, 3d-2p)

  • value – value of the Hubbard parameter, in eV

  • hubbard_type – hubbard type (U, J, …), defaults to ‘Ueff’ (see Hubbard for full allowed values)

  • use_kinds – whether to use kinds for initializing the parameters; when False, it initializes all the Kinds matching the atom_name

_get_one_kind_index(kind_name: str) List[int][source]#

Return the first site index matching with kind_name.

_get_symbol_indices(symbol: str) List[int][source]#

Return one site index for each kind name matching symbol.