mirror of
https://github.com/triqs/dft_tools
synced 2024-08-30 15:53:41 +02:00
remove some bugs in the SrVO3 tutorial
This commit is contained in:
parent
d70b74831a
commit
ba47c6a206
@ -166,6 +166,13 @@ For other choices of the interaction matrices (e.g Slater representation) or
|
|||||||
Hamiltonians, we refer to the reference manual of the :ref:`TRIQS <triqslibs:welcome>`
|
Hamiltonians, we refer to the reference manual of the :ref:`TRIQS <triqslibs:welcome>`
|
||||||
library.
|
library.
|
||||||
|
|
||||||
|
As a last step, we initialize the subgroup in the hdf5 archive to store the results::
|
||||||
|
|
||||||
|
if mpi.is_master_node():
|
||||||
|
with HDFArchive(dft_filename+'.h5') as ar:
|
||||||
|
if (not ar.is_group('dmft_output')):
|
||||||
|
ar.create_group('dmft_output')
|
||||||
|
|
||||||
DMFT cycle
|
DMFT cycle
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@ -182,8 +189,8 @@ some additional refinements::
|
|||||||
S.G_iw << SK.extract_G_loc()[0] # calc the local Green function
|
S.G_iw << SK.extract_G_loc()[0] # calc the local Green function
|
||||||
mpi.report("Total charge of Gloc : %.6f"%S.G_iw.total_density())
|
mpi.report("Total charge of Gloc : %.6f"%S.G_iw.total_density())
|
||||||
|
|
||||||
# Init the DC term and the real part of Sigma, if no previous runs found:
|
# In the first loop, init the DC term and the real part of Sigma:
|
||||||
if (iteration_number==1 and previous_present==False):
|
if (iteration_number==1):
|
||||||
dm = S.G_iw.density()
|
dm = S.G_iw.density()
|
||||||
SK.calc_dc(dm, U_interact = U, J_hund = J, orb = 0, use_dc_formula = dc_type)
|
SK.calc_dc(dm, U_interact = U, J_hund = J, orb = 0, use_dc_formula = dc_type)
|
||||||
S.Sigma_iw << SK.dc_imp[0]['up'][0,0]
|
S.Sigma_iw << SK.dc_imp[0]['up'][0,0]
|
||||||
@ -199,7 +206,7 @@ some additional refinements::
|
|||||||
mpi.report("Total charge of impurity problem : %.6f"%S.G_iw.total_density())
|
mpi.report("Total charge of impurity problem : %.6f"%S.G_iw.total_density())
|
||||||
|
|
||||||
# Now mix Sigma and G with factor mix, if wanted:
|
# Now mix Sigma and G with factor mix, if wanted:
|
||||||
if (iteration_number>1 or previous_present):
|
if (iteration_number>1):
|
||||||
if mpi.is_master_node():
|
if mpi.is_master_node():
|
||||||
with HDFArchive(dft_filename+'.h5','r') as ar:
|
with HDFArchive(dft_filename+'.h5','r') as ar:
|
||||||
mpi.report("Mixing Sigma and G with factor %s"%mix)
|
mpi.report("Mixing Sigma and G with factor %s"%mix)
|
||||||
@ -210,7 +217,7 @@ some additional refinements::
|
|||||||
|
|
||||||
# Write the final Sigma and G to the hdf5 archive:
|
# Write the final Sigma and G to the hdf5 archive:
|
||||||
if mpi.is_master_node():
|
if mpi.is_master_node():
|
||||||
with HDFArchive(dft_filename+'.h5','a') as ar:
|
with HDFArchive(dft_filename+'.h5') as ar:
|
||||||
ar['dmft_output']['iterations'] = iteration_number
|
ar['dmft_output']['iterations'] = iteration_number
|
||||||
ar['dmft_output']['G_0'] = S.G0_iw
|
ar['dmft_output']['G_0'] = S.G0_iw
|
||||||
ar['dmft_output']['G_tau'] = S.G_tau
|
ar['dmft_output']['G_tau'] = S.G_tau
|
||||||
|
Loading…
Reference in New Issue
Block a user