def retrieve_bs(coeff_file, bs, ibands, cbm):
# sp=bs.bands.keys()[0]
engre, nwave, nsym, nstv, vec, vec2, out_vec2, br_dir = get_energy_args(coeff_file, ibands)
#you can use a for loop along a certain list of k-points.
for i, iband in enumerate(ibands):
en = []
sym_line_kpoints = [k.frac_coords for k in bs.kpoints]
for kpt in sym_line_kpoints:
e, v, m = get_energy(kpt, engre[i], nwave, nsym, nstv, vec, vec2=vec2, out_vec2=out_vec2, br_dir=br_dir, cbm=cbm)
en.append(e*13.605)
# plot(np.array(bs.bands[sp])[iband-1,:].T-bs.efermi) # from MP
# plot(np.array(bs.bands[sp])[iband-2,:].T-bs.efermi) # from MP
# plot(np.array(bs.bands[sp])[iband-3,:].T-bs.efermi) # from MP
plot(en, color='b') # interpolated by BoltzTraP
show()
评论列表
文章目录