diff --git a/python/converters/vasp_converter.py b/python/converters/vasp_converter.py index 1cc1b821..e8eb7a8a 100644 --- a/python/converters/vasp_converter.py +++ b/python/converters/vasp_converter.py @@ -197,6 +197,7 @@ class VaspConverter(ConverterTools): n_corr_shells = len(corr_shells) n_orbs = sum([sh['dim'] for sh in shells]) + # FIXME: atomic sorts in Wien2K are not the same as in VASP. # A symmetry analysis from OUTCAR or symmetry file should be used # to define equivalence classes of sites. @@ -260,7 +261,7 @@ class VaspConverter(ConverterTools): rf_hk = self.read_data(f_hk) for isp in xrange(n_spin_blocs): for ik in xrange(n_k): - + n_orbitals[ik, isp] = n_orbs for ib in xrange(n_orbs): for jb in xrange(n_orbs): hopping[ik, isp, ib, jb] = rf_hk.next() diff --git a/python/sumk_dft.py b/python/sumk_dft.py index 0a8f3af0..e227dad1 100644 --- a/python/sumk_dft.py +++ b/python/sumk_dft.py @@ -562,7 +562,9 @@ class SumkDFT(object): idmat = [numpy.identity( self.n_orbitals[ik, ntoi[sp]], numpy.complex_) for sp in spn] M = copy.deepcopy(idmat) + for ibl in range(self.n_spin_blocks[self.SO]): + ind = ntoi[spn[ibl]] n_orb = self.n_orbitals[ik, ind] M[ibl] = self.hopping[ik, ind, 0:n_orb, 0:n_orb] - \