diff --git a/doc/Ce-gamma.py b/doc/Ce-gamma.py index 03c56b5c..a60a999e 100644 --- a/doc/Ce-gamma.py +++ b/doc/Ce-gamma.py @@ -130,7 +130,7 @@ for Iteration_Number in range(1,Loops+1): #Save stuff: - SK.save() + SK.save(['chemical_potential','dc_imp','dc_energ']) if (mpi.is_master_node()): print 'DC after solver: ',SK.dc_imp[SK.invshellmap[0]] diff --git a/doc/DFTDMFTmain.rst b/doc/DFTDMFTmain.rst index 738879db..4727a2ca 100644 --- a/doc/DFTDMFTmain.rst +++ b/doc/DFTDMFTmain.rst @@ -100,9 +100,9 @@ set up the loop over DMFT iterations and the self-consistency condition:: l=2,T=None, dim_reps=None, irep=None, n_cycles =10000, length_cycle=200,n_warmup_cycles=1000) - dm = S.G.density() # density matrix of the impurity problem + dm = S.G.density() # Density matrix of the impurity problem SK.set_dc( dm, U_interact = U, J_hund = J, use_dc_formula = 0) # Set the double counting term - SK.save() # save everything to the hdf5 arxive + SK.save(['chemical_potential','dc_imp','dc_energ']) # Save data in the hdf5 archive These basic steps are enough to set up the basic DMFT Loop. For a detailed description of the :class:`SumkDFT` routines, see the reference manual. After the self-consistency steps, the solution of the Anderson impurity problem is calculation by CTQMC. diff --git a/doc/advanced.rst b/doc/advanced.rst index 9dc6eff2..10725193 100644 --- a/doc/advanced.rst +++ b/doc/advanced.rst @@ -144,7 +144,7 @@ previous section, with some additional refinement:: SK.set_dc( dm, U_interact = U, J_hund = J, orb = 0, use_dc_formula = dc_type) #Save stuff: - SK.save() + SK.save(['chemical_potential','dc_imp','dc_energ']) This is all we need for the DFT+DMFT calculation. At the end, all results are stored in the hdf5 output file. diff --git a/doc/selfcons.rst b/doc/selfcons.rst index 6904f0c4..255399fb 100644 --- a/doc/selfcons.rst +++ b/doc/selfcons.rst @@ -36,7 +36,7 @@ Now we calculate the modified charge density:: SK.put_Sigma(Sigma_imp = [ S.Sigma ]) chemical_potential = SK.find_mu( precision = 0.000001 ) dN, d = SK.calc_density_correction(filename = dft_filename+'.qdmft') - SK.save() + SK.save(['chemical_potential','dc_imp','dc_energ']) First we find the chemical potential with high precision, and after that the routine ``SK.calc_density_correction(filename)`` calculates the density matrix including correlation effects. The result diff --git a/lda_dmft_cthyb.py b/lda_dmft_cthyb.py index 66dd5461..9ca48c0b 100644 --- a/lda_dmft_cthyb.py +++ b/lda_dmft_cthyb.py @@ -131,8 +131,8 @@ for iteration_number in range(1,loops+1): # Set the double counting SK.set_dc( dm, U_interact = U, J_hund = J, orb = 0, use_dc_formula = dc_type) - # Save stuff into the hdf5 archive: - SK.save() + # Save stuff into the dft_output group of hdf5 archive in case of rerun: + SK.save(['chemical_potential','dc_imp','dc_energ']) if mpi.is_master_node(): ar = HDFArchive("dftdmft.h5",'w') diff --git a/python/sumk_dft.py b/python/sumk_dft.py index 92fff5f8..72e336f2 100644 --- a/python/sumk_dft.py +++ b/python/sumk_dft.py @@ -114,11 +114,6 @@ class SumkDFT: # Analyse the block structure and determine the smallest blocks, if desired if use_dft_blocks: dm = self.analyse_block_structure() - # Now save new things to HDF5: - # FIXME WHAT HAPPENS TO h_field? INPUT TO __INIT__? ADD TO OPTIONAL_THINGS? - things_to_save = ['chemical_potential','dc_imp','dc_energ','h_field'] - self.save(things_to_save) - ################ # HDF5 FUNCTIONS ################ @@ -171,7 +166,7 @@ class SumkDFT: def save(self,things_to_save): - """Saves some quantities into an HDF5 archive""" + """Saves given quantities into the 'dft_output' subgroup of the HDF5 archive""" if not (mpi.is_master_node()): return # do nothing on nodes ar = HDFArchive(self.hdf_file,'a')