def set_tbmodels(self, tbmodels): """ only difference is a colinear tag. """ self.tbmodel_up, self.tbmodel_dn = tbmodels self.Gup = TBGreen(self.tbmodel_up, self.kmesh, self.efermi, use_cache=self._use_cache, cache_path='TB2J_results/cache/spinup') self.Gdn = TBGreen(self.tbmodel_dn, self.kmesh, self.efermi, use_cache=self._use_cache, cache_path='TB2J_results/cache/spindn') self.norb = self.Gup.norb self.nbasis = self.Gup.nbasis + self.Gdn.nbasis self.rho_up = np.zeros((self.norb, self.norb), dtype=float) self.rho_dn = np.zeros((self.norb, self.norb), dtype=float) self.JJ = defaultdict(lambda: 0.0j) self.Jorb = defaultdict(lambda: 0.0j) self.HR0_up = self.Gup.H0 self.HR0_dn = self.Gdn.H0 self.Delta = self.HR0_up - self.HR0_dn if self.Gup.is_orthogonal and self.Gdn.is_orthogonal: self.is_orthogonal = True else: self.is_orthogonal = False #self.S0=self.Gup.S0 self._is_colinear = True self.exchange_Jdict = {} self.exchange_Jdict_orb = {} self.biquadratic = False
def set_tbmodels(self, tbmodels): """ tbmodels should be in spinor form. The basis should be orb1_up, orb2_up,...orbn_up, orb1_dn, orb2_dn.... """ self.tbmodel = tbmodels # TODO: check if tbmodels are really a tbmodel with SOC. self.G = TBGreen(self.tbmodel, self.kmesh, self.efermi) self.norb = self.G.norb self.nbasis = self.G.nbasis self.rho = np.zeros((self.nbasis, self.nbasis), dtype=float) self.A_ijR = defaultdict(lambda: np.zeros((4, 4), dtype=complex)) #self.HR0 = self.tbmodel.ham_R0 self.HR0 = self.G.H0 if not self.G.is_orthogonal: self.S0 = self.G.S0 self._is_collinear = False self.Pdict = {}
def set_tbmodels(self, tbmodels): """ tbmodels should be in spinor form. The basis should be orb1_up, orb2_up,...orbn_up, orb1_dn, orb2_dn.... """ self.tbmodel = tbmodels # TODO: check if tbmodels are really a tbmodel with SOC. self.G = TBGreen(self.tbmodel, self.kmesh, self.efermi, use_cache=self._use_cache, nproc=self.np) self.norb = self.G.norb self.nbasis = self.G.nbasis self.rho = np.zeros((self.nbasis, self.nbasis), dtype=complex) self.A_ijR_list = defaultdict(lambda: []) self.A_ijR = defaultdict(lambda: np.zeros((4, 4), dtype=complex)) self.HR0 = self.G.H0 self._is_collinear = False self.Pdict = {}