Input / Output Functions
Description
Contains a set of routines that retrieve quantities such as Green's functions, self-energies (see ed_greens_functions ) and observables (from ed_observables ) and pass them to the user, as well ass routines to read and store Green's function and self-energies.
Quick access
- Routines:
ed_get_argphi(),ed_get_dens(),ed_get_denschi(),ed_get_dimp(),ed_get_docc(),ed_get_doubles(),ed_get_dph(),ed_get_dse(),ed_get_dund(),ed_get_dust(),ed_get_ehartree(),ed_get_eimp(),ed_get_eint(),ed_get_eknot(),ed_get_epot(),ed_get_exct(),ed_get_exctchi(),ed_get_g0imp(),ed_get_gimp(),ed_get_mag(),ed_get_pairchi(),ed_get_phi(),ed_get_sigma(),ed_get_spinchi()
Used modules
edipack: EDIpack library frontende2i_vars_global: Global variables, inequivalent sites versione2i_aux_funx: Assortment of auxiliary procedures, inequivalent sites version
External modules
Subroutines and functions
- interface e2i_io/ed_get_gimp(self, nlat[, axis, type, z])
This subroutine gets from the EDIpack library the value of the impurity Green's function calculated on the Matsubara or real-frequency axis, with number of frequencies
lmatsorlreal.The impurity Green's function is an array having the following possible dimensions:
- Parameters:
self (various shapes) [complex, inout] – [Nlso,Nlso,:]
nlat [integer, in] – Number of inequivalent impurity sites for real-space DMFT
- Options:
axis [character(len=*)] – Can be
"m"for Matsubara (default),"r"for realtype [character(len=*)] – Can be
"n"for Normal (default),"a"for anomalousz (•) [complex] – User provided array of complex frequency where to evaluate Self
- interface e2i_io/ed_get_dimp(self, nlat[, axis, z])
This subroutine gets from the EDIpack library the value of the impurity phonon's Green's function calculated on the Matsubara or real-frequency axis, with number of frequencies
lmatsorlreal.The impurity phonon's Green's function is an array having the following possible dimensions:
- Parameters:
self (•, •) [complex, inout] – [Nlso,Nlso,:]
nlat [integer, in] – Number of inequivalent impurity sites for real-space DMFT
- Options:
axis [character(len=*)] – Can be
"m"for Matsubara (default),"r"for realz (•) [complex] – User provided array of complex frequency where to evaluate Self
- interface e2i_io/ed_get_sigma(self, nlat[, axis, type, z])
- This subrotine gets from the EDIpack library the value of the self-energy calculated on the Matsubara or real-frequency axis, with number of frequencies
lmatsorlreal.The self-energy is an array having the following possible dimensions:- Parameters:
self (various shapes) [complex, inout] – [Nlso,Nlso,:]
nlat [integer, in] – Number of inequivalent impurity sites for real-space DMFT
- Options:
axis [character(len=*)] – Can be
"m"for Matsubara (default),"r"for realtype [character(len=*)] – Can be
"n"for Normal (default),"a"for anomalousz (•) [complex] – User provided array of complex frequency where to evaluate Self
- interface e2i_io/ed_get_g0imp(self, bath[, axis, type, z])
- This subroutine gets from the EDIpack library the value of the impurity non-interacting Green's function calculated on the Matsubara or real-frequency axis, with number of frequencies
lmatsorlreal.It autonomously decides whether the system is single-impurity or real-space DMFT based on thebathshapeThe impurity non-interacting Green's function is an array having the following possible dimensions:
The bath is an array having the following possible dimensions:
[
nlat,nb] for real-space DMFT, withnlatthe number of inequivalent impurity sites
Where
nbis the length of thebatharray.- Parameters:
self (various shapes) [complex, inout] – [Nlso,Nlso,:]
bath (•, •) [real]
- Options:
axis [character(len=*)] – Can be
"m"for Matsubara (default),"r"for realtype [character(len=*)] – Can be
"n"for Normal (default),"a"for anomalousz (•) [complex] – User provided array of complex frequency where to evaluate Self
- interface e2i_io/ed_get_spinchi(self, nlat[, axis, z])
This subroutine gets from the EDIpack library the value of the impurity spin susceptibility function calculated on the Matsubara or real-frequency axis, with number of frequencies
lmatsorlreal.The impurity spin susceptibility function is an array having the following possible dimensions:
- Parameters:
self (•, •, •, •) [complex, inout] – [Nlat,Norb,Norb,:]
nlat [integer, in] – Number of inequivalent impurity sites for real-space DMFT
- Options:
axis [character(len=*)] – Can be
"m"for Matsubara (default),"r"for realz (•) [complex] – User provided array of complex frequency where to evaluate Self
- interface e2i_io/ed_get_denschi(self, nlat[, axis, z])
This subroutine gets from the EDIpack library the value of the impurity dens susceptibility function calculated on the Matsubara or real-frequency axis, with number of frequencies
lmatsorlreal.The impurity dens susceptibility function is an array having the following possible dimensions:
- Parameters:
self (•, •, •, •) [complex, inout] – [Nlat,Norb,Norb,:]
nlat [integer, in] – Number of inequivalent impurity sites for real-space DMFT
- Options:
axis [character(len=*)] – Can be
"m"for Matsubara (default),"r"for realz (•) [complex] – User provided array of complex frequency where to evaluate Self
- interface e2i_io/ed_get_pairchi(self, nlat[, axis, z])
This subroutine gets from the EDIpack library the value of the impurity pair susceptibility function calculated on the Matsubara or real-frequency axis, with number of frequencies
lmatsorlreal.The impurity pair susceptibility function is an array having the following possible dimensions:
- Parameters:
self (•, •, •, •) [complex, inout] – [Nlat,Norb,Norb,:]
nlat [integer, in] – Number of inequivalent impurity sites for real-space DMFT
- Options:
axis [character(len=*)] – Can be
"m"for Matsubara (default),"r"for realz (•) [complex] – User provided array of complex frequency where to evaluate Self
- interface e2i_io/ed_get_exctchi(self, nlat[, axis, z])
This subroutine gets from the EDIpack library the value of the impurity exct susceptibility function calculated on the Matsubara or real-frequency axis, with number of frequencies
lmatsorlreal.The impurity exct susceptibility function is an array having the following possible dimensions:
- Parameters:
self (•, •, •, •, •) [complex, inout] – [Nlat,3,Norb,Norb,:]
nlat [integer, in] – Number of inequivalent impurity sites for real-space DMFT
- Options:
axis [character(len=*)] – Can be
"m"for Matsubara (default),"r"for realz (•) [complex] – User provided array of complex frequency where to evaluate Self
- interface e2i_io/ed_get_dens(self, nlat)
This subroutine gets from the EDIpack library the value of the charge density and passes it to the user.
The
selfvariable can have the following dimensions:scalar: if
iorbis provided for single-impurity DMFT, density for that orbital[
nlat]: ifiorb(default = 1) is provided for real-space DMFT withnlatimpurities, density for that orbital for all impurity sites[
nlat,norb]: ifnlatis provided for real-space DMFT, density for all impurity sites and orbitals
- Parameters:
self (various shapes) [real]
nlat [integer]
- interface e2i_io/ed_get_mag(self, nlat[, component])
This subroutine gets from the EDIpack library the value of the magnetization and passes it to the user.
The
selfvariable can have the following dimensions:scalar: if
componentandiorbare provided for single-impurity DMFT, given magnetization component for that orbital[
nlat]: for real-space DMFT withnlatimpurities, magnetization for that orbital for all impurity sites[
nlat,norb]: ifnlatis provided for real-space DMFT, one magnetization component for all orbitals and impurity sites[
nlat,3,norb]: ifnlatis provided for real-space DMFT, all magnetization components for all orbitals and sites
- Parameters:
self (various shapes) [real]
nlat [integer]
- Options:
component [character(len=1)]
- interface e2i_io/ed_get_docc(self, nlat)
This subroutine gets from the EDIpack library the value of the double occupation and passes it to the user.
The
selfvariable can have the following dimensions:scalar: if
iorbis provided for single-impurity DMFT, dobule-occupation for that orbital[
nlat]: ifiorb(default = 1) is provided for real-space DMFT withnlatimpurities, double-occupation for that orbital for all impurity sites[
nlat,norb]: ifnlatis provided for real-space DMFT, double-occupation for all impurity sites and orbitals
- Parameters:
self (various shapes) [real]
nlat [integer]
- interface e2i_io/ed_get_phi(self, nlat[, arg])
This subroutine gets from the EDIpack library the modulus value of the superconducting order parameter \(\phi\) (
ed_mode=superc) and passes it to the user.The
selfvariable can have the following dimensions:[
nlat]: \(\phi\) for the specifiediorborbital and all impurity sites[
nlat,norb]: \(\phi\) for all impurity sites and orbitals
- Parameters:
self (various shapes) [real]
nlat [integer]
- Options:
arg (various shapes) [real]
- interface e2i_io/ed_get_argphi(self, nlat)
This subroutine gets from the EDIpack library the argument value of the superconducting order parameter \(\theta=tan^{-1}(Im\phi/Re\phi)\) (
ed_mode=superc) and passes it to the user.The
selfvariable can have the following dimensions:[
nlat]: \(\theta\) for the specifiediorborbital and all impurity sites[
nlat,norb]: \(\theta\) for all impurity sites and orbitals
- Parameters:
self (various shapes) [real]
nlat [integer]
- interface e2i_io/ed_get_exct(self, nlat[, iorb, jorb])
This subroutine gets from the EDIpack library the value of the excitonic order parameters \(X^a\) (
ed_mode=normal,:code:nonsu2 ) and passes it to the user.The
selfvariable can have the following dimensions:- Parameters:
self (various shapes) [real] – \([S_0,T_x,T_y,T_z]\) array
nlat [integer]
- Options:
iorb [integer] – first orbital index
jorb [integer] – second orbital index
- interface e2i_io/ed_get_eimp(self, nlat)
This subroutine gets from the EDIpack library and passes to the user the array [
ed_epot,ed_eint,ed_ehartree,ed_eknot]. These are the expectation values various contribution to the internal energyed_epot= energy contribution from the interaction terms, including the Hartree termed_eint= energy contribution from the interaction terms, excluding the Hartree termed_ehartree= \(-\frac{U}{2} \sum_{i} \langle n_{i\uparrow} + n_{i\downarrow} \rangle -\frac{2U^{'}-J_{H}}{2} \sum_{i < j} \langle n_{i\uparrow}+n_{i\downarrow} + n_{i\downarrow}+n_{j\downarrow} \rangle +\frac{U}{4} + \frac{2U^{'}-J_{H}}{2}\) for \(i,j\) orbitalsed_eknot= kinetic term from the local 1-body Hamiltonian
The returned array can have the following dimensions:
[
nlat,4]: for real-space DMFT withnlatimpurities
- Parameters:
self (•, •) [real]
nlat [integer] – number of inequivalent impurity sites for real-space DMFT
- interface e2i_io/ed_get_epot(self, nlat)
This subroutine gets from the EDIpack library and passes to the user the value of
ed_epot, the energy contribution from the interaction terms, including the Hartree term. The returned array can have the following dimensions:[
nlat]: for real-space DMFT withnlatimpurities
- Parameters:
self (•) [real]
nlat [integer] – number of inequivalent impurity sites for real-space DM
- interface e2i_io/ed_get_eint(self, nlat)
This subroutine gets from the EDIpack library and passes to the user the value of
ed_int, the energy contribution from the interaction terms, excluding the Hartree term. The returned array can have the following dimensions:[
nlat]: for real-space DMFT withnlatimpurities
- Parameters:
self (•) [real]
nlat [integer] – number of inequivalent impurity sites for real-space DM
- interface e2i_io/ed_get_ehartree(self, nlat)
This subroutine gets from the EDIpack library and passes to the user the value of the Hartree potential
ed_ehartree. The returned array can have the following dimensions:[
nlat]: for real-space DMFT withnlatimpurities
- Parameters:
self (•) [real]
nlat [integer] – number of inequivalent impurity sites for real-space DM
- interface e2i_io/ed_get_eknot(self, nlat)
This subroutine gets from the EDIpack library and passes to the user the value
ed_eknot, the kinetic term from the local 1-body Hamiltonian The returned array can have the following dimensions:[
nlat]: for real-space DMFT withnlatimpurities
- Parameters:
self (•) [real]
nlat [integer] – number of inequivalent impurity sites for real-space DM
- interface e2i_io/ed_get_doubles(self, nlat)
This subroutine gets from the EDIpack library and passes to the user the array [
ed_dust,ed_dund,ed_dse,ed_dph]. These are the expectation values of the two-body operators associated with the density-density inter-orbital interaction (with opposite and parallel spins), spin-exchange and pair-hopping.ed_dust= \(\sum_{i < j} n_{i\uparrow}n_{j\downarrow} + n_{i\downarrow}n_{j\uparrow}\) for \(i,j\) orbitalsed_dund= \(\sum_{i < j} n_{i\uparrow}n_{j\uparrow} + n_{i\downarrow}n_{j\downarrow}\) for \(i,j\) orbitalsed_dse= \(\sum_{i < j} c^{\dagger}_{i\uparrow}c^{\dagger}_{j\uparrow}c_{i\downarrow}c_{j\uparrow}\) for \(i,j\) orbitalsed_dph= \(\sum_{i < j} c^{\dagger}_{i\uparrow}c^{\dagger}_{i\downarrow}c_{j\downarrow}c_{j\uparrow}\) for \(i,j\) orbitals
The returned array can have the following dimensions:
[
nlat,4]: for real-space DMFT withnlatimpurities
- Parameters:
self (•, •) [real]
nlat [integer] – number of inequivalent impurity sites for real-space DMFT
- interface e2i_io/ed_get_dust(self, nlat)
This subroutine gets from the EDIpack library and passes to the user the value of
ed_dust= \(\sum_{i < j} n_{i\uparrow}n_{j\downarrow} + n_{i\downarrow}n_{j\uparrow}\) for \(i,j\) orbitals The returned array can have the following dimensions:[
nlat]: for real-space DMFT withnlatimpurities
- Parameters:
self (•) [real]
nlat [integer] – number of inequivalent impurity sites for real-space DMFT
- interface e2i_io/ed_get_dund(self, nlat)
This subroutine gets from the EDIpack library and passes to the user the value of
ed_dund= \(\sum_{i < j} n_{i\uparrow}n_{j\uparrow} + n_{i\downarrow}n_{j\downarrow}\) for \(i,j\) orbitals The returned array can have the following dimensions:[
nlat]: for real-space DMFT withnlatimpurities
- Parameters:
self (•) [real]
nlat [integer] – number of inequivalent impurity sites for real-space DMFT
- interface e2i_io/ed_get_dse(self, nlat)
This subroutine gets from the EDIpack library and passes to the user the value of
ed_dse= \(\sum_{i < j} c^{\dagger}_{i\uparrow}c^{\dagger}_{j\uparrow}c_{i\downarrow}c_{j\uparrow}\) for \(i,j\) orbitals The returned array can have the following dimensions:[
nlat]: for real-space DMFT withnlatimpurities
- Parameters:
self (•) [real]
nlat [integer] – number of inequivalent impurity sites for real-space DMFT
- interface e2i_io/ed_get_dph(self, nlat)
This subroutine gets from the EDIpack library and passes to the user the value of
ed_dph= \(\sum_{i < j} c^{\dagger}_{i\uparrow}c^{\dagger}_{i\downarrow}c_{j\downarrow}c_{j\uparrow}\) for \(i,j\) orbitals The returned array can have the following dimensions:[
nlat]: for real-space DMFT withnlatimpurities
- Parameters:
self (•) [real]
nlat [integer] – number of inequivalent impurity sites for real-space DMFT