Impurity RDM
The global unique interface to the all the available procedures
evaluating impurity RDM.
The correct function is called according to the value of ed_mode
.
Quick access
- Routines:
get_impurity_rdm()
,get_reduced_rdm()
,print_rdm()
,rdm_impurity()
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_eigenspace
: A class implementing a data structure to efficiently store the low part of the Fock space spectrum, automatically spreading and retrieving the eigenstates among/from MPI threads.ed_bath
: Contains routines for setting, accessing, manipulating and clearing the bath of the Impurity problem.ed_setup
: Contains procedures to set up the Exact Diagonalization calculation, executing all internal consistency checks and allocation of the global memory.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 Hamiltonian
Subroutines and functions
- interface ed_rdm/get_impurity_rdm(dm[, doprint])
- Parameters:
dm (•, •) [complex, inout,allocatable]
- Options:
doprint [logical, in]
- interface ed_rdm/get_reduced_rdm(rdm, orbital_mask[, doprint])
- Parameters:
rdm (•, •) [complex, inout,allocatable]
orbital_mask (norb) [logical, in]
- Options:
doprint [logical, in]
- interface ed_rdm/print_rdm(dm, orbital_mask, nrdm)
- Parameters:
dm (•, •) [complex, in]
orbital_mask (norb) [logical, in]
nrdm [integer, in]
- subroutine ed_rdm/rdm_impurity()
Calculate the impurity RDM calling the correct procedure according to the value of
ed_mode
. Write the resulting matrix to a plain-text file.normal
:imp_rdm_normal()
superc
:imp_rdm_superc()
nonsu2
:imp_rdm_nonsu2()