利用vaspkit可以在均匀取点的情况下,计算三维能带,这样可以与前面的计算极化率的程序相配合,这里先介绍这一功能。
首先,在自洽计算阶段和普通的能带计算相同,然后做非自洽生成数据的时候,一般的做法line-mode,沿着某一条线计算。
要算三维的能带,就需要在平面内均匀取点,这里用vaspkit 231功能生成。
提取对应的能带,可以用vaspkit 232功能生成, 然后用以下matlab程序处理数据。
clc
clear
kx_mesh=load('KX.grd');
ky_mesh=load('KY.grd');
CBM_mesh=load('BAND.LUMO.grd');
VBM_mesh=load('BAND.HOMO.grd');
surf(kx_mesh,ky_mesh,VBM_mesh);
hold on
surf(kx_mesh,ky_mesh,CBM_mesh);
contourf(kx_mesh,ky_mesh,CBM_mesh,4)
grid on
hold off
xlabel('$\it{k}_{x} (\textrm{1/\AA})$','Interpreter','latex','Fontname','TimesNewRoman')
ylabel('$\it{k}_{y} (\textrm{1/\AA})$','Interpreter','latex','Fontname','TimesNewRoman')
zlabel('Energy (eV)')
axis image
axis vis3d
shading interp;
colormap(hsv);
set(gca,'FontSize',18);
hold off
zlim([-6,6]);
实际上,此时就可以用这些数据算费米面和极化率