#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