Пример #1
0
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(
Пример #2
0
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))
Пример #3
0
# 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]