Bath data structure
Description
A class for the the effective_bath
data structure describing the effective bath in the code.
Quick access
- Routines:
allocate_dmft_bath()
,deallocate_dmft_bath()
,init_dmft_bath()
,read_dmft_bath()
,write_dmft_bath()
,save_dmft_bath()
,set_dmft_bath()
,get_dmft_bath()
Used modules
-
-
-
-
-
ed_input_vars
: Contains all global input variables which can be set by the user through the input file. A specific preocedureed_read_input()
should be called to read the input file usingparse_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).ed_vars_global
: Contains all variables, arrays and derived types instances shared throughout the code. Specifically, it contains definitions of theeffective_bath
, thegfmatrix
and thesector
data structures.ed_aux_funx
: Hosts a number of auxiliary procedures required in different parts of the code. Specifically, it implements: creation/annihilation fermionic operators, binary decomposition of integer representation of Fock states and setup the local impurity Hamiltonianed_bath_aux
: Implements a number of auxiliary procedures used to construct replica/general bathed_bath_dim
: Returns or check the dimensions to which the user should allocate the bath array.
Subroutines and functions
- subroutine ed_bath_dmft/allocate_dmft_bath(dmft_bath_)
Allocate the
effective_bath
inputdmft_bath_
according to the values of the global input parametersnspin
,norb
,nbath
,ed_mode
andbath_type
.The correct components of the
effective_bath
data structure are allocated.allocated components of dmft_bath_
normal
superc
nonsu2
normal
e
,v
e
,v
,d
e
,v
,u
hybrid
e
,v
e
,v
,d
e
,v
,u
replica
nbasis
,item
,item
%lambda
nbasis
,item
,item
%lambda
nbasis
,item
,item
%lambda
general
nbasis
,item
,item
%lambda
,item
%vg
nbasis
,item
,item
%lambda
,item
%vg
nbasis
,item
,item
%lambda
,item
%vg
- Parameters:
dmft_bath [effective_bath] – local energies of the bath
- subroutine ed_bath_dmft/deallocate_dmft_bath(dmft_bath_)
Deallocate the
effective_bath
inputdmft_bath_
- Parameters:
dmft_bath [effective_bath]
- subroutine ed_bath_dmft/init_dmft_bath(dmft_bath_[, used])
- Parameters:
dmft_bath [effective_bath] – x ed_vsf_ratio
- Options:
used [logical]
- Use :
ed_input_vars
(nspin
,norb
,nbath
)
- subroutine ed_bath_dmft/read_dmft_bath(dmft_bath_[, file, used])
- Parameters:
dmft_bath [effective_bath]
- Options:
file [character(len=*)]
used [logical]
- Use :
ed_input_vars
(nspin
,norb
,nbath
)
- subroutine ed_bath_dmft/write_dmft_bath(dmft_bath_[, unit])
- Parameters:
dmft_bath [effective_bath]
- Options:
unit [integer]
- Use :
ed_input_vars
(nspin
,norb
,nbath
)
- subroutine ed_bath_dmft/save_dmft_bath(dmft_bath_[, file, used])
Save the
effective_bath
to a file with .used or .restart extension according to input.- Parameters:
dmft_bath [effective_bath]
- Options:
file [character(len=*)]
used [logical]
- subroutine ed_bath_dmft/set_dmft_bath(bath_, dmft_bath_)
Set the
effective_bath
components from the input user bathbath_
, i.e. it dumps the user bath to the internal data structure.- Parameters:
bath_ (•) [real]
dmft_bath [effective_bath]
- subroutine ed_bath_dmft/get_dmft_bath(dmft_bath_, bath_)
- Parameters:
dmft_bath [effective_bath]
bath_ (•) [real]
- Use :
ed_input_vars
(nspin
,norb
,nbath
)