Bath data structure

In ED_VARS_GLOBAL we implemented a suitable data structure to encapsulate the effective bath of the quantum impurity problem.

Description

Contains all variables, arrays and derived types instances shared throughout the code. Specifically, it contains definitions of the effective_bath, the gfmatrix and the sector data structures.

Quick access

Types:

effective_bath_component, effective_bath

Variables:

dmft_bath

Used modules

  • sf_constants

  • sf_iotools

  • ed_sparse_matrix: This class defines a data structure to efficiently store sparse matrices into dedicated CSR matrices, featuring support to MPI parallel storage, so that each matrix is spread across the threads.

  • ed_input_vars: Contains all global input variables which can be set by the user through the input file. A specific preocedure ed_read_input() should be called to read the input file using parse_input_variable() procedure from SciFortran. All variables are automatically set to a default, looked for and updated by reading into the file and, sequentially looked for and updated from command line (std.input) using the notation variable_name=variable_value(s) (case independent).

  • mpi

  • sf_mpi

Types

  • type  ed_vars_global/effective_bath_component

    Effective bath component for the replica/general bath. Each istance of this type defines the parameters \(\vec{\lambda}\) and the amplitudes \(\vec{V}\). The first is used to decompose the Hamiltonian of each element of the bath \(H_p=\sum_{i=1}^{N_{basis}} \lambda_i(p) O_i\), the latter describes the hopping from/to the impurity.

    Type fields:
    • lambda (•) [real, allocatable] – [nsym]

    • v [real]

    • vg (•) [real, allocatable]

  • type  ed_vars_global/effective_bath

    This structure describes the (effective) discretized bath used in the contruct the Hamiltonian of the quantum impurity system. Each element of this structure is allocated and used according the value of ed_mode = normal,superc,nonsu2 and bath_type = normal,hybrid,replica,general.

    Type fields:
    • d (•, •, •) [real, allocatable] – SC amplitues [ nspin ][ norb ][ nbath ]/[ norb ][ 1 ][ norb ]

    • e (•, •, •) [real, allocatable] – local energies [ nspin ][ norb ][ bath ]/[ nspin ][ 1 ][ nspin ]

    • item (•) [effective_bath_component, allocatable] – [ nbath ] Replica/General bath components, V included

    • nbasis [integer] – The replica/general Matrix basis dimension

    • status [logical, optional/default=.false.]

    • u (•, •, •) [real, allocatable] – spin-flip hyb. [ nspin ][ norb ][ nbath ] for ed_mode = nonsu2

    • v (•, •, •) [real, allocatable] – spin-keep hyb. [ nspin ][ norb ][ nbath ]

Variables