Electronic Structure Properties¶
Purpose: Electronic eigenvalues, band structures, DOS, band gaps, molecular orbitals, occupancies, and Fermi surfaces
Relationship map¶
Hold "Alt" / "Option" to enable pan & zoom
classDiagram
class BaseElectronicEigenvalues
class DOSProfile
class ElectronicBandGap
class ElectronicBandStructure
class ElectronicDensityOfStates
class ElectronicEigenvalues
class Energy2
class FermiSurface
class MolecularOrbitals
class Occupancy
ElectronicEigenvalues <|-- ElectronicBandStructure
DOSProfile <|-- ElectronicDensityOfStates
BaseElectronicEigenvalues <|-- ElectronicEigenvalues
DOSProfile *-- Energy2 : energies
ElectronicDensityOfStates *-- DOSProfile : projected_dos
ElectronicDensityOfStates *-- Energy2 : energies
ElectronicEigenvalues *-- BaseElectronicEigenvalues : contributions
Legend
inheritance (is-a)
composition (has-a)
Quantities by Key Sections¶
BaseElectronicEigenvalues¶
| Section | Description | MetaInfo |
|---|---|---|
BaseElectronicEigenvalues |
A base section used to define basic quantities for the ElectronicEigenvalues and ElectronicBandStructure properties. |
Open in MetaInfo browser |
| Quantity | Type | Description |
|---|---|---|
n_levels |
m_int32(int32) | Number of energy levels per sampling point.Number of energy levels per sampling point.In periodic systems these correspond to electronic bands; in molecular calculations they correspond to (spin-resolved) molecular orbitals or similar one-particle states. |
value |
m_float64(float64) (shape: ['', '']) | Value of the electronic eigenvalues. |
ElectronicEigenvalues¶
| Section | Description | MetaInfo |
|---|---|---|
ElectronicEigenvalues |
Open in MetaInfo browser |
| Quantity | Type | Description |
|---|---|---|
spin_channel |
m_int32(int32) | Spin channel of the corresponding electronic eigenvalues. It can take values of 0 or 1. |
occupation |
m_float64(float64) (shape: ['*', 'n_levels']) | Occupation of the electronic eigenvalues.Occupation of the electronic eigenvalues. This is a number depending whether thespin_channel has been set or not.If spin_channel is set, then this number is between 0 and 1, where 0 means that the state is unoccupied and 1 meansthat the state is fully occupied; if spin_channel is not set, then this number is between 0 and 2. The shape ofthis quantity is defined as [K.n_points, K.dimensionality, n_levels], where K is a variable which canbe KMesh or KLinePath, depending whether the simulation mapped the whole Brillouin zone or just a specificpath. |
highest_occupied |
m_float64(float64) | Highest occupied electronic eigenvalue. Together with lowest_unoccupied, it defines the electronic band gap. |
lowest_unoccupied |
m_float64(float64) | Lowest unoccupied electronic eigenvalue. Together with highest_occupied, it defines the electronic band gap. |
ElectronicBandStructure¶
| Section | Description | MetaInfo |
|---|---|---|
ElectronicBandStructure |
Accessible energies by the charges (electrons and holes) in the reciprocal space. | Open in MetaInfo browser |
| Quantity | Type | Description |
|---|---|---|
reciprocal_cell |
QuantityReference | Reciprocal lattice vectors associated with the k-space sampling used for these eigenvalues, taken from the corresponding KSpace numerical settings. |
MolecularOrbitals¶
| Section | Description | MetaInfo |
|---|---|---|
MolecularOrbitals |
Molecular-orbital eigenstates in an atom-centered AO basis. | Open in MetaInfo browser |
| Quantity | Type | Description |
|---|---|---|
n_mo |
m_int_bounded(int) | Number of molecular orbitals. |
value |
m_float64(float64) (shape: ['n_mo']) | Orbital energies (eigenvalues) for each molecular orbital, mirroring ElectronicEigenvalues.value. Defined only for kind=canonical; may be absent for natural/localized orbitals. |
occupations |
m_float_bounded(float64) (shape: ['n_mo']) | Occupation number for each molecular orbital.Occupation number for each molecular orbital. Expected in [0, 2] (spin-summed;[0, 1] for spin orbitals). Occupation numbers from approximate methods (e.g. MP2/CC natural orbitals) can fall slightly outside; values beyond the mo_occupation_slack tolerance are logged, and out-of-[0, 2] values are clampedinto [0, 2]. |
spin_channel |
m_int32(int32) | Spin channel of the molecular orbitals: 0 for α-spin, 1 for β-spin. |
n_ao |
m_int_bounded(int) | Number of atomic orbitals (size of the AO basis). |
basis_set_ref |
Reference | Reference to the atom-centered basis set used to expand these orbitals. |
coefficients |
HDF5Dataset | The AO→MO coefficient matrix C, such thatThe AO→MO coefficient matrix C, such thatψ_i(r) = ∑_μ C[i,μ] φ_μ(r). Row index i runs over MOs ( n_mo), column index μ runs over AOs (n_ao).Expected dataset shape: [ n_mo, n_ao]. |
coefficients_im |
HDF5Dataset | Imaginary component of the AO→MO coefficient matrix.Imaginary component of the AO→MO coefficient matrix.Combine with coefficients to obtain the full complex matrix:C_complex = coefficients + 1j * coefficients_im Omit for strictly real wave functions (non-relativistic calculations without complex basis functions). Expected dataset shape: [ n_mo, n_ao]. |
role |
Enum (shape: ['n_mo']) | Role of each MO within a correlated calculation or active-space protocol:Role of each MO within a correlated calculation or active-space protocol:core: fully occupied, energy-frozen, excluded from correlation. inactive: fully occupied, variationally optimized, outside the active space. active: in the active space. virtual: unoccupied correlated orbital. * deleted: pruned for technical reasons (e.g. linear dependence). role is the active-space/correlation classification, orthogonal to occupations. |
symmetry |
m_str(str) (shape: ['n_mo']) | Symmetry label of each MO in the molecule's point group (e.g. a₁, b₂u, π_g). Leave empty for systems with no detected symmetry. |
kind |
Enum | Classification of the orbital set by the transformation that defines it:Classification of the orbital set by the transformation that defines it:canonical : standard SCF eigenfunctions (Fock/Kohn-Sham diagonal) natural : eigenfunctions of the 1-RDM * localized : after a localization transform (Boys, Pipek-Mezey, …) For MCSCF/CASSCF outputs, tag the reported set as canonical or natural(whichever it is); the active-space partition is captured by role. |
homo_parsed |
m_float64(float64) | Highest occupied molecular orbital (HOMO) energy as reported by the code. |
lumo_parsed |
m_float64(float64) | Lowest unoccupied molecular orbital (LUMO) energy as reported by the code. |
homo_lumo_gap_parsed |
m_float64(float64) | HOMO-LUMO gap as directly reported by the code. Strictly a parsed value, not derived from homo_parsed/lumo_parsed. Leave unset if the code reports no gap directly. |
homo_normalized |
m_float64(float64) | Highest occupied molecular orbital (HOMO) energy, derived purely from value and occupations for kind=canonical. Left unset when the occupied/unoccupied boundary cannot be resolved; does not fall back to homo_parsed. |
lumo_normalized |
m_float64(float64) | Lowest unoccupied molecular orbital (LUMO) energy, derived purely from value and occupations for kind=canonical. Left unset when the occupied/unoccupied boundary cannot be resolved; does not fall back to lumo_parsed. |
homo_lumo_gap_normalized |
m_float64(float64) | HOMO-LUMO gap of the derived frontier pair, taken as lumo_normalized - homo_normalized. Left unset when that pair is unavailable; does not fall back to homo_lumo_gap_parsed. |
ElectronicBandGap¶
| Section | Description | MetaInfo |
|---|---|---|
ElectronicBandGap |
Energy difference between the highest occupied electronic state and the lowest unoccupied electronic state. | Open in MetaInfo browser |
| Quantity | Type | Description |
|---|---|---|
type |
Enum | Type categorization of the electronic band gap. This quantity is directly related with momentum_transfer as by definition, the electronic band gap is 'direct' for zero momentum transfer (or if momentum_transfer is None) and 'indirect' for finite momentum transfer. |
momentum_transfer |
m_float64(float64) (shape: [2, 3]) | If the electronic band gap is If the electronic band gap is |
spin_channel |
m_int32(int32) | Spin channel of the corresponding electronic band gap. It can take values of 0 or 1. |
value |
m_float_bounded(float) | The value of the electronic band gap. This value must be positive. |
DOSProfile¶
| Section | Description | MetaInfo |
|---|---|---|
DOSProfile |
A base section used to define the value of the ElectronicDensityOfState property. |
Open in MetaInfo browser |
| Quantity | Type | Description |
|---|---|---|
value |
m_float_bounded(float) (shape: ['*']) | The value of the electronic DOS. Must be positive. |
ElectronicDensityOfStates¶
| Section | Description | MetaInfo |
|---|---|---|
ElectronicDensityOfStates |
Number of electronic states accessible for the charges per energy and per volume. | Open in MetaInfo browser |
| Quantity | Type | Description |
|---|---|---|
spin_channel |
m_int32(int32) | Spin channel of the corresponding electronic DOS. It can take values of 0 or 1. |
energies_origin |
m_float64(float64) | Energy level denoting the origin along the energy axis, used for comparison and visualization.Energy level denoting the origin along the energy axis, used for comparison and visualization.This value is fully derived during normalization from the sibling ElectronicEigenvalues.highest_occupied (when a resolvable reference is available), so parsersare recommended NOT to populate it directly: any manually set value is recomputed and overwritten on normalization without any logging. Provide ElectronicEigenvalues.highest_occupied instead. |
normalization_factor |
m_float64(float64) | Normalization factor for electronic DOS to get a cell-independent intensive DOS. The cell-independent intensive DOS is as the integral from the lowest (most negative) energy to the Fermi level for a neutrally charged system (i.e., the sum of AtomsState.charge is zero). |
Occupancy¶
| Section | Description | MetaInfo |
|---|---|---|
Occupancy |
Electrons occupancy of an atom per orbital and spin. | Open in MetaInfo browser |
| Quantity | Type | Description |
|---|---|---|
orbitals_state_ref |
Reference | Reference to the ElectronicState section in which the occupancy is calculated. This can reference individual orbitals, orbital manifolds, or hybrid/molecular orbitals. The parent AtomsState can be accessed via orbitals_state_ref.get_parent_entity(). |
spin_channel |
m_int32(int32) | Spin channel of the corresponding electronic property. It can take values of 0 and 1. |
value |
m_float64(float64) | Value of the electronic occupancy for the orbital defined by Value of the electronic occupancy for the orbital defined by |
FermiSurface¶
| Section | Description | MetaInfo |
|---|---|---|
FermiSurface |
Energy boundary in reciprocal space that separates the filled and empty electronic states in a metal. | Open in MetaInfo browser |
| Quantity | Type | Description |
|---|---|---|
n_bands |
m_int32(int32) | Number of bands / eigenvalues. |