Skip to content

Model Method Electronic

Purpose: Electronic method subclasses branching from ModelMethodElectronic

In scope:

  • Electronic-method inheritance rooted at ModelMethodElectronic
  • Ground-state electronic methods (DFT, HartreeFock, coupled-cluster, CI, perturbative approaches)
  • Tight-binding family (TB, xTB, Wannier, SlaterKoster)
  • Excited-state methodology branch (ExcitedStateMethodology, Screening, GW, BSE, TDDFT)
  • Core-hole and many-body electronic methods (CoreHoleSpectra, DMFT)

Relationship map

Hold "Alt" / "Option" to enable pan & zoom
classDiagram
    class BSE
    class ConfigurationInteraction
    class CoreHoleSpectra
    class CoupledCluster
    class DFT
    class DMFT
    class ExcitedStateMethodology
    class GW
    class HartreeFock
    class ModelMethodElectronic
    class PerturbationMethod
    class Screening
    class SlaterKoster
    class TB
    class TDDFT
    class Wannier
    class xTB
    ExcitedStateMethodology <|-- BSE
    ModelMethodElectronic <|-- ConfigurationInteraction
    ModelMethodElectronic <|-- CoreHoleSpectra
    ModelMethodElectronic <|-- CoupledCluster
    ModelMethodElectronic <|-- DFT
    ModelMethodElectronic <|-- DMFT
    ModelMethodElectronic <|-- ExcitedStateMethodology
    ExcitedStateMethodology <|-- GW
    ModelMethodElectronic <|-- HartreeFock
    ModelMethodElectronic <|-- PerturbationMethod
    ExcitedStateMethodology <|-- Screening
    TB <|-- SlaterKoster
    ModelMethodElectronic <|-- TB
    ExcitedStateMethodology <|-- TDDFT
    TB <|-- Wannier
    TB <|-- xTB

Legend

Parent <|-- Child inheritance (Child extends Parent)

Key sections

Section Description MetaInfo
ModelMethodElectronic A base section used to define the parameters of a model Hamiltonian used in electronic structure calculations (TB, DFT, GW, BSE, DMFT, etc). Open in MetaInfo browser
DFT A base section used to define the parameters used in a density functional theory (DFT) calculation. Open in MetaInfo browser
TB A base section containing the parameters pertaining to a tight-binding (TB) model calculation. Open in MetaInfo browser
xTB A base section used to define the parameters used in an extended tight-binding (xTB) calculation. Open in MetaInfo browser
Wannier A base section used to define the parameters used in a Wannier tight-binding fitting. Open in MetaInfo browser
SlaterKoster A base section used to define the parameters used in a Slater-Koster tight-binding fitting. Open in MetaInfo browser
ExcitedStateMethodology A base section used to define the parameters typical of excited-state calculations. Open in MetaInfo browser
Screening A base section used to define the parameters that define the calculation of screening. Open in MetaInfo browser
GW A base section used to define the parameters of a GW calculation. Open in MetaInfo browser
BSE A base section used to define the parameters of a BSE calculation. Open in MetaInfo browser
TDDFT Time-dependent density functional theory settings. Open in MetaInfo browser
HartreeFock Defines a Hartree-Fock (HF) calculation. Open in MetaInfo browser
CoupledCluster A base section used to define the parameters of a Coupled Cluster calculation. Open in MetaInfo browser
ConfigurationInteraction Single-reference Configuration Interaction (CI) methods using atom-centered basis sets. Open in MetaInfo browser
PerturbationMethod Open in MetaInfo browser
CoreHoleSpectra A base section used to define the parameters used in a core-hole spectra calculation. Open in MetaInfo browser
DMFT A base section used to define the parameters of a DMFT calculation. Open in MetaInfo browser

Quantities by section

ModelMethodElectronic

Quantity Type Description
is_spin_polarized m_bool(bool) If the simulation is done considering the spin degrees of freedom (then there are two spin channels, 'down' and 'up') or not.
determinant Enum
The spin-coupling form of the determinant used for theThe spin-coupling form of the determinant used for the
self-consistent field (SCF) calculation.
- restricted (RHF/RKS): α and β electrons share the same spatial orbitals
- unrestricted (UHF/UKS): α and β orbitals are optimized independently
- restricted-open-shell (ROHF/ROKS): closed-shell core with spin-unpaired electrons
sharing spatial orbitals in the open-shell manifold

DFT

Quantity Type Description
jacobs_ladder Enum
Highest Jacob's ladder rung present among XC components.Highest Jacob's ladder rung present among XC components.
See:
- https://doi.org/10.1063/1.1390175 (original paper)
- https://doi.org/10.1103/PhysRevLett.91.146401 (meta-GGA)
- https://doi.org/10.1063/1.1904565 (hyper-GGA)

TB

Quantity Type Description
type Enum
Tight-binding model Hamiltonian type.Tight-binding model Hamiltonian type. The default is set to 'unavailable' in case none of the
standard types can be recognized. These can be:
| Value | Reference |
| --------- | ----------------------- |
| 'DFTB' | https://en.wikipedia.org/wiki/DFTB |
| 'xTB' | https://xtb-docs.readthedocs.io/en/latest/ |
| 'Wannier' | https://www.wanniertools.org/theory/tight-binding-model/ |
| 'SlaterKoster' | https://journals.aps.org/pr/abstract/10.1103/PhysRev.94.1498 |
| 'unavailable' | - |
n_orbitals_per_atom m_int32(int32) Number of orbitals per atom in the unit cell used as a basis to obtain the TB model. This quantity is resolved from orbitals_ref via normalization.
n_atoms_per_unit_cell m_int32(int32) Number of atoms per unit cell relevant for the TB model. This quantity is resolved from n_total_orbitals and n_orbitals_per_atom via normalization.
n_total_orbitals m_int32(int32) Total number of orbitals used as a basis to obtain the TB model. This quantity is parsed by the specific parsing code. This is related with n_orbitals_per_atom and n_atoms_per_unit_cell as: n_total_orbitals = n_orbitals_per_atom * n_atoms_per_unit_cell
orbitals_ref (shape: ['n_orbitals_per_atom'])
References to the ElectronicState that contain system's the orbitals (with a mapping to each atom) relevant for the TB model.References to the ElectronicState that contain system's the orbitals (with a mapping to each atom) relevant for the TB model. This quantity is resolved from normalization when the active atoms sub-systems model_system.model_system[*]
are populated.
The relevant orbitals for the TB model are the 'pz' ones for each 'C' atom. Then, we define:
orbitals_ref= [ElectronicState('pz'), ElectronicState('pz')]
The relevant atoms information can be accessed from the parent AtomsState sections:
<br>atom_state = orbitals_ref[i].m_parent<br>index = orbitals_ref[i].m_parent_index<br>atom_position = orbitals_ref[i].m_parent.m_parent.positions[index]<br>

xTB

This section has no direct quantities.

Wannier

Quantity Type Description
is_maximally_localized m_bool(bool) If the projected orbitals are maximally localized or just a single-shot projection.
localization_type Enum Localization type of the Wannier orbitals.
n_bloch_bands m_int32(int32) Number of input Bloch bands to calculate the projection matrix.
energy_window_outer m_float64(float64) (shape: [2]) Bottom and top of the outer energy window used for the projection.
energy_window_inner m_float64(float64) (shape: [2]) Bottom and top of the inner energy window used for the projection.

SlaterKoster

This section has no direct quantities.

ExcitedStateMethodology

Quantity Type Description
n_states m_int32(int32) Number of states used to calculate the excitations.
n_empty_states m_int32(int32) Number of empty states used to calculate the excitations. This quantity is complementary to n_states.
broadening m_float64(float64) Lifetime broadening applied to the spectra in full-width at half maximum for excited-state calculations.

Screening

Quantity Type Description
dielectric_infinity m_int32(int32) Value of the static dielectric constant at infinite q. For metals, this is infinite (or a very large value), while for insulators is finite.

GW

Quantity Type Description
type Enum
GW Hedin's self-consistency cycle:GW Hedin's self-consistency cycle:
| Name | Description | Reference |
| --------- | -------------------------------- | --------------------- |
| 'G0W0' | single-shot | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.74.035101 |
| 'scGW' | self-consistent G and W | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.75.235102 |
| 'scGW0' | self-consistent G with fixed W0 | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.54.8411 |
| 'scG0W' | self-consistent W with fixed G0 | - |
| 'ev-scGW0' | eigenvalues self-consistent G with fixed W0 | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.34.5390 |
| 'ev-scGW' | eigenvalues self-consistent G and W | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.74.045102 |
| 'qp-scGW0' | quasiparticle self-consistent G with fixed W0 | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.76.115109 |
| 'qp-scGW' | quasiparticle self-consistent G and W | https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.96.226402 |
analytical_continuation Enum
Analytical continuation approximations of the GW self-energy:Analytical continuation approximations of the GW self-energy:
| Name | Description | Reference |
| -------------- | ------------------- | -------------------------------- |
| 'pade' | Pade's approximant | https://link.springer.com/article/10.1007/BF00655090 |
| 'contour_deformation' | Contour deformation | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.67.155208 |
| 'ppm_GodbyNeeds' | Godby-Needs plasmon-pole model | https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.62.1169 |
| 'ppm_HybertsenLouie' | Hybertsen and Louie plasmon-pole model | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.34.5390 |
| 'ppm_vonderLindenHorsh' | von der Linden and P. Horsh plasmon-pole model | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.37.8351 |
| 'ppm_FaridEngel' | Farid and Engel plasmon-pole model | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.47.15931 |
| 'multi_pole' | Multi-pole fitting | https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.74.1827 |
interval_qp_corrections m_int32(int32) (shape: [2]) Band indices (in an interval) for which the GW quasiparticle corrections are calculated.
screening_ref Reference to the Screening section that the GW calculation used to obtain the screened Coulomb interactions.

BSE

Quantity Type Description
type Enum
Type of the BSE Hamiltonian solved:Type of the BSE Hamiltonian solved:
H_BSE = H_diagonal + 2 * gx * Hx - gc * Hc
Online resources for the theory:
- http://exciting.wikidot.com/carbon-excited-states-from-bse#toc1
- https://www.vasp.at/wiki/index.php/Bethe-Salpeter-equations_calculations
- https://docs.abinit.org/theory/bse/
- https://www.yambo-code.eu/wiki/index.php/Bethe-Salpeter_kernel
| Name | Description |
| --------- | ----------------------- |
| 'Singlet' | gx = 1, gc = 1 |
| 'Triplet' | gx = 0, gc = 1 |
| 'IP' | Independent-particle approach |
| 'RPA' | Random Phase Approximation |
solver Enum
Solver algotithm used to diagonalize the BSE Hamiltonian.Solver algotithm used to diagonalize the BSE Hamiltonian.
| Name | Description | Reference |
| --------- | ----------------------- | ----------- |
| 'Full-diagonalization' | Full diagonalization of the BSE Hamiltonian | - |
| 'Lanczos-Haydock' | Subspace iterative Lanczos-Haydock algorithm | https://doi.org/10.1103/PhysRevB.59.5441 |
| 'GMRES' | Generalized minimal residual method | https://doi.org/10.1137/0907058 |
| 'SLEPc' | Scalable Library for Eigenvalue Problem Computations | https://slepc.upv.es/ |
| 'TDA' | Tamm-Dancoff approximation | https://doi.org/10.1016/S0009-2614(99)01149-5 |
screening_ref Reference to the Screening section that the BSE calculation used to obtain the screened Coulomb interactions.

TDDFT

Quantity Type Description
type Enum TDDFT flavour: - linear_response: frequency-domain response (Casida/Sternheimer/Liouv.-Lanczos) - real_time: explicit time propagation under a perturbation
solver Enum Numerical formulation / driver: - Casida, Sternheimer, Liouville-Lanczos: linear-response formulations - propagation: real-time propagation formulation
approximation Enum Approximation level of the TDDFT equations. - full: full linear-response TDDFT (includes coupling terms) - TDA : Tamm-Dancoff approximation (linear-response only)
field_polarization_ref External field / polarization used to drive the response or propagation.
target_property Enum Intended spectral/response target of the TDDFT input.

HartreeFock

Quantity Type Description
type Enum The type of HF determinant.

CoupledCluster

Quantity Type Description
type m_str(str)
String labeling the Coupled Cluster flavor (e.g., CC2, CC3, CCD, CCSD, CCSDT, etc.).String labeling the Coupled Cluster flavor (e.g., CC2, CC3, CCD, CCSD, CCSDT, etc.).
If a known standard approach, it might match these examples:
- CC2, CC3 : approximate CC models (commonly used for excited-state calculations)
- CCD : Coupled Cluster Doubles
- CCSD : Singles and Doubles
- CCSDT : Singles, Doubles, and Triples
- CCSDTQ : Singles, Doubles, Triples, and Quadruples
By default, the "perturbative corrections" like (T) are not included in this string.
excitation_order m_int32(int32) (shape: ['*'])
The excitation orders explicitly included in the cluster operator, e.g.The excitation orders explicitly included in the cluster operator, e.g. [1,2]
for CCSD.
- 1 = singles
- 2 = doubles
- 3 = triples
- 4 = quadruples, etc.
Example: CCSDT => [1, 2, 3].
perturbative_correction_order m_int32(int32) (shape: ['*']) The excitation orders included only in a perturbative manner. For instance, in CCSD(T), singles and doubles are solved iteratively, while triples appear as a perturbative correction => [3].
perturbative_correction Enum
Label for the perturbative corrections:Label for the perturbative corrections:
- '(T)' : standard perturbative triples
- '[T]' : Brueckner-based or other variant
- '(T0)' : approximate version of (T)
- '[T0]' : approximate, typically for Brueckner references
- '(Q)' : perturbative quadruples, e.g., CCSDT(Q)
explicit_correlation Enum
Explicit correlation treatment.Explicit correlation treatment.
These methods introduce the interelectronic distance coordinate
directly into the wavefunction to treat dynamical electron correlation.
It can be added linearly (R12) or exponentially (F12).

ConfigurationInteraction

Quantity Type Description
type Enum CI variant to employ
excitation_order m_int32(int32) (shape: ['*']) List of excitation orders included in the CI expansion (1=singles, 2=doubles, 3=triples, 4=quadruples, …).

PerturbationMethod

Quantity Type Description
type Enum
Perturbation approach.Perturbation approach. The abbreviations stand for:
| Abbreviation | Description |
| ------------ | ----------- |
| 'MP' | Møller-Plesset |
| 'RS' | Rayleigh-Schrödinger |
| 'BW' | Brillouin-Wigner |
order m_int32(int32) Order up to which the perturbation is expanded.
density Enum unrelaxed density: no orbital-response terms. relaxed density : incorporates orbital relaxation.
spin_component_scaling Enum
Spin-component scaling approach for perturbation methods:Spin-component scaling approach for perturbation methods:
- SCS : spin-component scaled (Grimme's approach, https://doi.org/10.1002/wcms.1110)
- SOS : spin-opposite scaled
- custom: user-defined scaling factors
Typically used for MP2; SCS/SOS variants also exist for some approximate CC models.

CoreHoleSpectra

Quantity Type Description
type Enum Type of the CoreHole excitation spectra calculated, either "absorption" or "emission".
edge Enum Edge label of the excited core-hole. This is obtained by normalization by using core_hole_ref.
core_hole_ref Reference to the CoreHole section that contains the information of the edge of the excited core-hole.
excited_state_method_ref Reference to the ModelMethodElectronic section (e.g., DFT or BSE) that was used to obtain the core-hole spectra.

DMFT

Quantity Type Description
impurity_solver Enum
Impurity solver method used in the DMFT loop:Impurity solver method used in the DMFT loop:
| Name | Reference |
| ----------------- | ------------------------------------ |
| 'CT-INT' | https://link.springer.com/article/10.1134/1.1800216 |
| 'CT-HYB' | https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.97.076405 |
| 'CT-AUX' | https://iopscience.iop.org/article/10.1209/0295-5075/82/57003 |
| 'ED' | https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.72.1545 |
| 'NRG' | https://journals.aps.org/rmp/abstract/10.1103/RevModPhys.80.395 |
| 'MPS' | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.90.045144 |
| 'IPT' | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.45.6479 |
| 'NCA' | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.47.3553 |
| 'OCA' | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.47.3553 |
| 'slave_bosons' | https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.57.1362 |
| 'hubbard_I' | https://iopscience.iop.org/article/10.1088/0953-8984/24/7/075604 |
n_impurities m_int32(int32) Number of impurities mapped from the correlated atoms in the unit cell. This defines whether the DMFT calculation is done in a single-impurity or multi-impurity run.
n_orbitals m_int32(int32) (shape: ['n_impurities']) Number of correlated orbitals per impurity.
orbitals_ref (shape: ['n_orbitals'])
References to the ElectronicState sections that contain the orbitals informati...References to the ElectronicState sections that contain the orbitals information which are
relevant for the DMFT calculation.
Example: hydrogenated graphene with 3 atoms in the unit cell. The full list of AtomsState would
be
[
AtomsState(chemical_symbol='C', electronic_state=ElectronicState(basis_orbitals=[SphericalSymmetryState('s'), SphericalSymmetryState('px'), SphericalSymmetryState('py'), SphericalSymmetryState('pz')])),
AtomsState(chemical_symbol='C', electronic_state=ElectronicState(basis_orbitals=[SphericalSymmetryState('s'), SphericalSymmetryState('px'), SphericalSymmetryState('py'), SphericalSymmetryState('pz')])),
AtomsState(chemical_symbol='H', electronic_state=ElectronicState(basis_orbitals=[SphericalSymmetryState('s')])),
]
The relevant orbitals for the TB model are the 'pz' ones for each 'C' atom. Then, we define:
orbitals_ref = [ElectronicState('pz'), ElectronicState('pz')]
The relevant impurities information can be accesed from the parent AtomsState sections:
impurity_state = orbitals_ref[i].m_parent
index = orbitals_ref[i].m_parent_index
impurity_position = orbitals_ref[i].m_parent.m_parent.positions[index]
n_electrons m_float64(float64) (shape: ['n_impurities']) Initial number of valence electrons per impurity.
inverse_temperature m_float64(float64) Inverse temperature = 1/(kB*T).
magnetic_state Enum Magnetic state in which the DMFT calculation is done. This quantity can be obtained from orbitals_ref and their spin state.