All routines mentioned in THEORY section one can find here.
Below we provide input and output description of the routines.
All routines use the following parameters file: (param.dat)
IMPLICIT REAL*8 (A-H,O-Z)
parameter(L= 64, Iwmax=2**13, Nom=Iwmax+1)
parameter(Nlm=3,Nd=2*Nlm,Nf=Nlm*(Nd-1),Ns=1)
complex*16 ci
parameter (ci=(0.d0,1.d0))
parameter (pi=3.1415926535898d0)
common/global/Beta,Zero,One,Two
Explanation of parameters:
L | # of time slices |
Iwmax | # of Matsubara frequencies |
Nom | # of Matsubara frequencies + 1 (zero point) |
Nlm | # of bands (orbitals) |
Nd | # Number of spin-orbitals |
Nf | # of auxiliary Ising fields (used only in QMC code but not in FT) |
Ns | # of spins (1 is for paramagnetic case) |
SUBROUTINE nfourier1(FD1,FD2,rindata,coutdata)
Input:
DIMENSION rindata(L)
|
G(tau_i), i=1,L
|
REAL*8 FD1,FD2
|
G'(0+), G'(\beta-)
|
Output:
COMPLEX*16 coutdata(0:Iwmax)
|
G(omega_n), n=0,Iwmax
|
USES info from:
SUBROUTINE FDeS( eft,G0,G,FM_DOS,U,zef,nn, FDA1,FDA2 )
Input:
REAL*8 eft
|
the chemical potential
|
COMPLEX*16 G(nlm,nom,ns)
|
Green function (G)
|
COMPLEX*16 G0(nlm,nom,ns)
|
Weiss function (G0)
|
REAL FM_DOS(nlm,ns)
|
Array of first moments of non-interaction DOS
|
REAL*8 U(Nd,Nd)
|
Coulomb repulsion matrix
|
REAL*8
|
zef(nlm,2) is occupancies matrix
|
REAL*8
|
nn(Nd,Nd) is double occupancies matrix
|
Output:
REAL*8 FDA1(Nd), FDA2(Nd)
|
Arrays of derivatives G'(0+), G'(\beta-)
|
SCHEME N2:
SUBROUTINE nfourier2(disc, xmom2, xmom3, RIndata,COutdata)
Input:
REAL*8 rindata(L)
|
G(tau_i), i=1,L
|
REAL*8 xmom2, xmom3, disc
|
disc =1, M2 & M3 are the moments
|
Output:
COMPLEX*16 coutdata(0:Iwmax)
|
G(omega_n), n=0,Iwmax
|
USES info from:
SUBROUTINE moments(U, ef, zef, nn, FM_DOS, Vk2, FMA, SMA)
Input:
REAL*8 U(Nd,Nd)
|
Coulomb repulsion matrix |
REAL*8 ef
|
the chemical potential
|
REAL*8 zef(nlm,2)
|
occupancies matrix
|
REAL*8 nn(Nd,Nd)
|
double occupancies matrix
|
REAL FM_DOS(nlm,ns)
|
Array of first moments of non-interaction DOS
|
REAL*8 Vk2(nlm,ns) | Sum of Vk^2 (see Eq.(13)) |
Output:
REAL*8 FMA(Nd), SMA(Nd)
|
First and Second
Moments Arrays
|
SCHEME N3:
SUBROUTINE nfourier(rindata,coutdata)
Input:
REAL*8 rindata(L)
|
G(tau_i), i=1,L
|
Output:
COMPLEX*16 coutdata(0:Iwmax)
|
G(omega_n), n=0,Iwmax
|
SCHEME N1 & 2:
SUBROUTINE InvFourierNew(xmur,cindata,routdata)
Input:
COMPLEX*16 cindata(0:Iwmax)
|
G(omega_n), n=0,Iwmax
|
REAL*8 xmur
|
the chemical potential
|
Output:
REAL*8 routdata(L)
|
G(tau_i), i=1,L
|
SCHEME N3:
SUBROUTINE invfourier(cindata,routdata)
Input:
COMPLEX*16 cindata(0:Iwmax)
|
G(omega_n), n=0,Iwmax
|
Output:
REAL*8 routdata(L)
|
G(tau_i), i=1,L
|