DMFT Krauth's program
Home page
This describes the "as is" fortran code written by Antoine Georges et al, disponible au laboratoire de physique statistique: page web, en France.
Expand   Collapse

Notes:
  • LISA is at Rutgers
  • File names
    • File names and routines coincide.
  • The version as given has no loops once the Green's function is constructed; "call search" is commented, look for Nitermax=4000 in file lisalanc.f
  • Makefile:
    • FC = ifort
      LIBS =
      CFLAG =

      .SUFFIXES : .o .f
      .f.o :
      (TAB SPACE)$(FC) $(CFLAG) -c $<

      MAIN = lisalanc.o

      OBJCT = adag.o a.o amultv.o buildbasis.o calcg0.o computegreen.o convert.o diag.o findgroundstate.o findgroundstatel.o initial.o lanczos.o lisalanc.o minimize.o pythag.o rheader.o setup.o tql2.o verif.o wheader.o


      ./runDMFT: $(OBJCT) $(MAIN)
      (TAB SPACE)$(FC) $(CFLAG) -o ./runDMFT $(MAIN) $(OBJCT) $(LIBS)

      clean:
      (TAB SPACE)rm -f *.o

      cleanall:
      (TAB SPACE)rm -f *.o runDMFT

      lisalanc.o:

lisalanc.f90 ('lisalanc.dat')
  • initial ('lisalanc.dat') [Reads Epsk(i) and V(i) from file lisalanc.andpar]
    • rheader (skip the 8 first lines)
  • calcg0 ('lisalanc.dat') [Formula (142) RMP 68, 13 (1996). That is the Weiss function]
  • diag ('lisalanc.dat')
    • setup ('lisalanc.dat') [sets up the Hilbert space: Hstate is the Hamiltonian, Nconnect, Nhstate are global variables, see equation (113).]
      • buildbasis [constructs the Hilbert space in the sector (nup,ndo)]
      • a ('lisalanc.dat') [Ivec(1,i)==0], Ivec()= i'th vector of sector (nup,ndo)
      • adag ('lisalanc.dat') [Ivec(1,i)==0]
      • a ('lisalanc.dat') [Ivec(Ns+1,i)==0]
      • adag ('lisalanc.dat') [Ivec(Ns+1,i)==0]
    • findgroundstatel ('lisalanc.dat') [input vvinit= 1/sqrt(nstates), set in diag.f]
      • lanczos ('lisalanc.dat') [determine eigenvalues]
        • amultv ('lisalanc.dat')
      • tql2 [eigenvalues are then stored in "diag"]
        • pythag (function)
      • lanczos ('lisalanc.dat') [find the eigenvectors, vvinit()]
        • amultv ('lisalanc.dat')
    • findgroundstate ('lisalanc.dat') [not studied]
      • amultv ('lisalanc.dat')
    • setup ('lisalanc.dat') [a+|gs>, with adag]
      • buildbasis
      • a ('lisalanc.dat')
      • adag ('lisalanc.dat')
      • a ('lisalanc.dat')
      • adag ('lisalanc.dat')
    • adag ('lisalanc.dat') [a+|gs>, with adag]
    • setup ('lisalanc.dat') [a+|gs>, with adag]
      • buildbasis
      • a ('lisalanc.dat')
      • adag ('lisalanc.dat')
      • a ('lisalanc.dat')
      • adag ('lisalanc.dat')
    • lanczos ('lisalanc.dat') [a+|gs>, with adag]
      • amultv ('lisalanc.dat')
    • computegreen ('lisalanc.dat') [a+|gs>, with adag]
    • setup ('lisalanc.dat') [a|gs>, with a]
      • buildbasis
      • a ('lisalanc.dat')
      • adag ('lisalanc.dat')
      • a ('lisalanc.dat')
      • adag ('lisalanc.dat')
    • a ('lisalanc.dat') [a|gs>, with a]
    • setup ('lisalanc.dat') [a|gs>, with a]
      • buildbasis
      • a ('lisalanc.dat')
      • adag ('lisalanc.dat')
      • a ('lisalanc.dat')
      • adag ('lisalanc.dat')
    • lanczos ('lisalanc.dat') [a|gs>, with a]
      • amultv ('lisalanc.dat')
    • computegreen ('lisalanc.dat') [a|gs>, with a]
  • search ('lisalanc.dat') [Now search
  • wheader ('lisalanc.dat')

  • This web page is regularly updated Summer 2009. This web page is for personal use; I don't see how this web page could be useful to anyone besides myself.