Skip to content

Commit

Permalink
use S when computing density matrix
Browse files Browse the repository at this point in the history
  • Loading branch information
mailhexu committed Apr 9, 2024
1 parent 2b05e68 commit ef1b4d2
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions TB2J/green.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,12 +225,22 @@ def get_Sk(self, ik):

def get_density_matrix(self):
rho = np.zeros((self.nbasis, self.nbasis), dtype=complex)
for ik, _ in enumerate(self.kpts):
rho += (
(self.get_evecs(ik) * fermi(self.evals[ik], self.efermi))
@ self.get_evecs(ik).T.conj()
* self.kweights[ik]
)
if self.is_orthogonal:
for ik, _ in enumerate(self.kpts):
rho += (
(self.get_evecs(ik) * fermi(self.evals[ik], self.efermi))
@ self.get_evecs(ik).T.conj()
* self.kweights[ik]
)
else:
for ik, _ in enumerate(self.kpts):
rho += (
(self.get_evecs(ik) * fermi(self.evals[ik], self.efermi))
@ self.get_evecs(ik).T.conj()
@ self.get_Sk(ik)
* self.kweights[ik]
)

return rho

def get_rho_R(self, Rlist):
Expand Down

0 comments on commit ef1b4d2

Please sign in to comment.