def remove_indexes(self, rm_idx_list, rearranged_props):
"""
The k-points with velocity < 1 cm/s (either in valence or conduction band) are taken out as those are
troublesome later with extreme values (e.g. too high elastic scattering rates)
:param rm_idx_list ([int]): the kpoint indexes that need to be removed for each property
:param rearranged_props ([str]): list of properties for which some indexes need to be removed
:return:
"""
for i, tp in enumerate(["n", "p"]):
for ib in range(self.cbm_vbm[tp]["included"]):
rm_idx_list_ib = list(set(rm_idx_list[tp][ib]))
rm_idx_list_ib.sort(reverse=True)
rm_idx_list[tp][ib] = rm_idx_list_ib
logging.debug("# of {}-type kpoints indexes with low velocity or off-energy: {}".format(tp,len(rm_idx_list_ib)))
for prop in rearranged_props:
self.kgrid[tp][prop] = np.array([np.delete(self.kgrid[tp][prop][ib], rm_idx_list[tp][ib], axis=0) \
for ib in range(self.cbm_vbm[tp]["included"])])
评论列表
文章目录