diff --git a/python/sumk_dft.py b/python/sumk_dft.py index 72736154..b12c8c34 100644 --- a/python/sumk_dft.py +++ b/python/sumk_dft.py @@ -255,12 +255,15 @@ class SumkDFT: broadening = 0.01 else: # broadening = 2 * \Delta omega, where \Delta omega is the spacing of omega points broadening = 2.0 * ( (mesh[1]-mesh[0])/(mesh[2]-1) ) + n_iw = 1025 # Default number of Matsubara frequencies # Are we including Sigma? if with_Sigma: if with_dc: sigma_minus_dc = self.add_dc(iw_or_w) Sigma_imp = getattr(self,"Sigma_imp_"+iw_or_w) - if iw_or_w == "iw": beta = Sigma_imp[0].mesh.beta # override beta if Sigma_iw is present + if iw_or_w == "iw": + beta = Sigma_imp[0].mesh.beta # override beta if Sigma_iw is present + n_iw = len(Sigma_imp[0].mesh) else: if (iw_or_w == "w") and (mesh is None): raise ValueError, "lattice_gf: Give the mesh=(om_min,om_max,n_points) for the lattice GfReFreq." @@ -282,7 +285,7 @@ class SumkDFT: gf_struct = [ (spn[isp], block_structure[isp]) for isp in range(self.n_spin_blocks[self.SO]) ] block_ind_list = [block for block,inner in gf_struct] if iw_or_w == "iw": - glist = lambda : [ GfImFreq(indices=inner,beta=beta) for block,inner in gf_struct] + glist = lambda : [ GfImFreq(indices=inner,beta=beta,n_points=n_iw) for block,inner in gf_struct] elif iw_or_w == "w": if with_Sigma: glist = lambda : [ GfReFreq(indices=inner,mesh=Sigma_imp[0].mesh) for block,inner in gf_struct]