本文为华算科技撰写的《VASP实用教程》第51篇,全系列约60篇,将在近期陆续更新。
随后朱老师将推出《VASP入门手册》,约200篇,旨在帮助完全没有基础的同学,从最简单的内容开始,快速入门VASP计算,少走弯路。
VASP视频学习资料,可以关注朱老师B站:https://space.bilibili.com/1690382481
注:这个例子需要最新版本的pw2wannier90接口。
-
概要:绘制铁磁bcc铁的自旋轨道耦合带。绘制布里渊区平面上的费米表面轮廓图。
-
-
– Fe.scf 用于基态计算的PWSCF输入文件
– Fe.nscf 在统一网格上获得Bloch状态的PWSCF输入文件
– Fe.pw2wan pw2wannier90的输入文件
– Fe.win wannier90和postw90的输入文件
注意,在Fe.win中,num_wann = 18,但只提供了9个初猜轨道。下面这行命令
告诉wannier90在下面的第3步中,在上旋和下旋通道上使用指定的初猜轨道,有效地将其数量增加一倍。
【2】运行PWSCF获得统一k点网格上的Bloch状态。
【3】运行wannier90来生成所需的重叠列表(写入Fe.nnkp文件)。
– 自旋子布洛赫状态之间的重叠〈unk|umk+b〉(写在Fe.mmn文件中)。
– 自旋矩阵元素〈ψnk|σi|ψmk〉,i = x, y, z(写在Fe.spn文件中)
pw2wannier90.x pw2wan.out
【6】运行postw90计算能量特征值和自旋期望值。
mpirun -np 8 postw90.x Fe(8个MPI进程并行执行的例子)
在这个例子中,我们使用kpath模块来绘制沿[001]的自旋期望值着色的能带:
kpath_bands_colour = spin
使用gnuplot(4.2或更高版本)来绘制带状图
gnuplot> load ‘Fe-bands.gnu’
myshell> python Fe-bands.py
接下来我们利用kslice模块,在ky=0的(010)平面上绘制费米曲面轮廓。在Fe.win中设置kpath = false并取消下面的指令。
kslice_task = fermi_lines
fermi_energy = [insert your value here]
kslice_corner = 0.0 0.0 0.0
kslice_b1 = 0.5 -0.5 -0.5
在scf.out文件中获取费米能级的值。能量特征值是在覆盖BZ切片的200×200 k点网格上计算出来的。费米面和(010)平面之间的交线可以用运行时生成的gnuplot或python脚本进行可视化。
gnuplot> load ‘Fe-kslice-fermi_lines.gnu’
myshell> python Fe-kslice-fermi_lines.py
费米线可以通过费米表面状态的自旋期望值〈Sz〉进行颜色编码。在Fe.win中添加以下命令
kslice_fermi_lines_colour = spin
并重新运行postw90。运行时生成的gnuplot和python脚本的名称没有变化。(然而,在这种情况下,绘图算法是不同的,线条不像之前那么平滑。可能需要增加kslice_2dkmesh的值)。
-
从没有自旋轨道耦合的计算开始在(010)平面上重新绘制费米表面轮廓,在例8中的输入文件iron_{up,down}.win中加入以下几行。
kslice_task = fermi_lines
fermi_energy = [insert your value here]
kslice_corner = 0.0 0.0 0.0
kslice_b1 = 0.5 -0.5 -0.5
运行时生成的python脚本将上旋和下旋的费米线分别画在不同的图上。如果要把它们画在一起,请使用例17提供的脚本iron_updn-kslee-fermi_lines.py(或者合并两个生成的脚本)。比较有自旋轨道和无自旋轨道的费米线,并注意自旋轨道引起的避免交叉。
-
在例8中,我们分别获得了bcc Fe的上旋和下旋通道的无自旋轨道的MLWFs。因此,Wannier-interpolated的DOS被自动分离为少数和多数贡献。对于自旋子的计算,我们仍然可以对DOS进行自旋分解,通过如下命令实现:
在postw90创建的Fe-dos.dat数据文件的第三和第四列中包含了上旋和下旋的贡献。
gnuplot> plot ’Fe-dos.dat’ u (-$3):($1-12.6285) w l,’Fe-dos.dat’ u ($4):($1-12.6285)
(应该用费米能级的值代替12.6285)。另一种方法是将DOS分别投射到上旋和下旋的WF上。如果需要找到投射到上旋(奇数)WF上的DOS,需要将spin_decomp = true改为
dos_project = 1,3,5,7,9,11,13,15,17
并重新运行postw90。这种方法的优点是不需要Fe.spn文件。
声明:如需转载请注明出处(华算科技旗下资讯学习网站-学术资讯),并附有原文链接,谢谢!