aiida_atomistic.data.structure.hubbard_mixin#
Utility class and functions for HubbardStructureData. Borrowed and adapted from aiida-quantumespresso
Classes#
Module Contents#
- class aiida_atomistic.data.structure.hubbard_mixin.HubbardSetterMixin[source]#
- set_hubbard_from_list(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
- 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 = -1)[source]#
Pop Hubbard parameters in the list.
- Parameters:
index – index of the Hubbard parameters to pop
- 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 theatom_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 theatom_name