#print options print "U = %2.3f, mu = %2.3f, B = %2.3f, Nitt = %d, Mstep = %2.1f ,mixr = %2.2f" %(U,mu,beta,Nitt,Mstep,mixr) print '# mesh_omega = ', len(oms_f) #For Delta tail, Coeff_Delta = integrate.simps(emesh**2*dos,emesh) print "Coeff for Delta tail = ",Coeff_Delta Dlimit = 300 oms_cut = 2*pi/beta*Dlimit print "For Delta calculation, oms is cut by %2.2f and replaced by Coeff/iw_n." %(oms_cut) #sys.exit() ############# initial-DMFT ############################### ctqmc = IMP(nom,beta) fileDelta = 'Delta.dat' if (os.path.exists(fileDelta)): print "Old state exists!" print #New Delta Dfile = loadtxt(fileDelta) Delta = zeros( (len(oms_ind), shape(Dfile)[1]), dtype=float ) for i in range(len(oms_ind)): Delta[i,:] = Dfile[oms_ind[i],:] else: print "No old file." print Delt = 0.5 *1j*(oms_f_log-sqrt(oms_f_log**2+1)) #1/4*G Delta = ftn_to_array(oms_f_log,Delt)
print for isite in range(Nsite): if isite < Nsite / 2: Sigs_site[isite] = Sig_met # half with metallic sols else: Sigs_site[isite] = Sig_ins # half with insulating sols Delta_site = Cmp_Delta_site(Sigs_site) # savetxt('Delta_1.dat',Delta_site[0]) # savetxt('Delta_2.dat',Delta_site[1]) ##check point 8/10/2015## # sys.exit() ###############self-consistent loop################ ctqmc = IMP(nom, Nsite, beta) p_ener = 0.0 for itt in range(Nitt): for isite in range(Nsite): Delta = Delta_site[isite] (Sigs, Sigs_regular, n_imp, TrSigmaG) = ctqmc.Run(U, mu, oms_f, oms_ind, isite, Delta, Mstep) ctqmc.copyfiles(isite, itt) Sigs_site[isite] = Sigs EU = TrSigmaG # = 1/2*Tr(Sigma*G) print print "index= ", itt, isite print "EU= %2.7f" % EU print "nf= %2.7f" % (n_imp / 2) print