SK = SumkLDA(hdf_file=LDAFilename + '.h5', use_lda_blocks=False) Norb = SK.corr_shells[0][3] l = SK.corr_shells[0][2] # Init the Solver: S = Solver(beta=Beta, l=l) if (previous_present): # load previous data: mpi.report("Using stored data for initialisation") if (mpi.is_master_node()): ar = HDFArchive(HDFfilename, 'a') S.Sigma <<= ar['SigmaF'] del ar S.Sigma = mpi.bcast(S.Sigma) SK.load() # DMFT loop: for Iteration_Number in range(1, Loops + 1): itn = Iteration_Number + previous_runs # put Sigma into the SumK class: SK.put_Sigma(Sigma_imp=[S.Sigma]) # Compute the SumK, possibly fixing mu by dichotomy if SK.density_required and (Iteration_Number > 0): Chemical_potential = SK.find_mu(precision=0.01) else: mpi.report(
SK=SumkLDA(hdf_file=lda_filename+'.h5',use_lda_blocks=False) Norb = SK.corr_shells[0][3] l = SK.corr_shells[0][2] # Init the Solver: S = Solver(beta = beta, l = l) if (previous_present): # load previous data: mpi.report("Using stored data for initialisation") if (mpi.is_master_node()): ar = HDFArchive(HDFfilename,'a') S.Sigma <<= ar['SigmaF'] del ar S.Sigma = mpi.bcast(S.Sigma) SK.load() # DMFT loop: for Iteration_Number in range(1,Loops+1): itn = Iteration_Number + previous_runs # put Sigma into the SumK class: SK.put_Sigma(Sigma_imp = [ S.Sigma ]) # Compute the SumK, possibly fixing mu by dichotomy if SK.density_required and (Iteration_Number > 0): Chemical_potential = SK.find_mu( precision = 0.01 ) else: mpi.report("No adjustment of chemical potential\nTotal density = %.3f"%SK.total_density(mu=Chemical_potential))
# Init the Solver: S = Solver(beta=beta, l=l, use_spin_orbit=True) spinmat, orbmat = CF_tools.spin_orb_matrix(l) if (previous_present): # load previous data: mpi.report("Using stored data for initialisation") if (mpi.is_master_node()): ar = HDFArchive(HDFfilename, 'a') if run_dmft: S.Sigma <<= ar['SigmaF'] del ar SK.chemical_potential, SK.dc_imp, SK.dc_energ = SK.load( ['chemical_potential', 'dc_imp', 'dc_energ']) if run_dmft: S.Sigma = mpi.bcast(S.Sigma) SK.chemical_potential = mpi.bcast(SK.chemical_potential) SK.dc_imp = mpi.bcast(SK.dc_imp) SK.dc_energ = mpi.bcast(SK.dc_energ) # set DC (with nominal atomic occupancy if run_dmft: dc_value = U_int * (Natomic - 0.5) - J_hund * (Natomic * 0.5 - 0.5) dm = S.G.density() SK.calc_dc(dm, U_interact=U_int, J_hund=J_hund, orb=0, use_dc_formula=DC_type, use_dc_value=dc_value) if (mpi.is_master_node()): print 'DC : ', SK.dc_imp[0]