grogupy._core.parse_magnetic_entity

grogupy._core.parse_magnetic_entity(dh: Hamiltonian, atom: None | int | list[int] = None, l: None | int | list[int] | list[list[int]] = None, orb: None | int | list[int] | list[list[int]] = None) tuple[list[int], list[list[int]], list[int], list[str]][source]

Function to get the orbital indices of a given magnetic entity.

There are four possible input types: 1. Cluster: a list of atoms 2. AtomShell: one atom and a list of shells indexed in the atom or a list of atoms and a list of lists containing the shells 3. AtomOrbital: one atom and a list of orbitals indexed in the atom or a list of atoms and a list of lists containing the orbitals 4. Orbitals: a list of orbitals indexed in the Hamiltonian

Parameters

dh: sisl.physics.Hamiltonian

The Hamiltonian object from sisl

atom: Union[None, int, list[int]], optional

Defining atom (or atoms) in the unit cell forming the magnetic entity, by default None

l: Union[None, int, list[int], list[list[int]]], optional

Defining the angular momentum channel, by default None

orb: Union[None, int, list[int], list[list[int]]], optional

Defining the orbital index in the Hamiltonian or on the atom, by default None

Returns

atom: list[int]

List of atoms in the magnetic entity

l: list[list[int]]

List of angular momentum channels, if unknown, all of them are None

orbital_indices: list[int]

The orbital indices of the given magnetic entity indexed by the total Hamiltonian

tag: list[str]

The list of tags from the atoms