Skip to content

Commit ef1b4d2

Browse files
committed
use S when computing density matrix
1 parent 2b05e68 commit ef1b4d2

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

TB2J/green.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -225,12 +225,22 @@ def get_Sk(self, ik):
225225

226226
def get_density_matrix(self):
227227
rho = np.zeros((self.nbasis, self.nbasis), dtype=complex)
228-
for ik, _ in enumerate(self.kpts):
229-
rho += (
230-
(self.get_evecs(ik) * fermi(self.evals[ik], self.efermi))
231-
@ self.get_evecs(ik).T.conj()
232-
* self.kweights[ik]
233-
)
228+
if self.is_orthogonal:
229+
for ik, _ in enumerate(self.kpts):
230+
rho += (
231+
(self.get_evecs(ik) * fermi(self.evals[ik], self.efermi))
232+
@ self.get_evecs(ik).T.conj()
233+
* self.kweights[ik]
234+
)
235+
else:
236+
for ik, _ in enumerate(self.kpts):
237+
rho += (
238+
(self.get_evecs(ik) * fermi(self.evals[ik], self.efermi))
239+
@ self.get_evecs(ik).T.conj()
240+
@ self.get_Sk(ik)
241+
* self.kweights[ik]
242+
)
243+
234244
return rho
235245

236246
def get_rho_R(self, Rlist):

0 commit comments

Comments
 (0)