本文为由小强撰写的《VASP实用教程》第51篇,全系列约60篇,将在近期陆续更新。
注:这个例子需要最新版本的pw2wannier90接口。
- 概要:绘制铁磁bcc铁的自旋轨道耦合带。绘制布里渊区平面上的费米表面轮廓图。
- 目录:examples/example17/
- 输入文件
– Fe.nscf 在统一网格上获得Bloch状态的PWSCF输入文件
– Fe.pw2wan pw2wannier90的输入文件
– Fe.win wannier90和postw90的输入文件
注意,在Fe.win中,num_wann = 18,但只提供了9个初猜轨道。下面这行命令
spinors = true
告诉wannier90在下面的第3步中,在上旋和下旋通道上使用指定的初猜轨道,有效地将其数量增加一倍。
【1】运行PWSCF获得铁的铁磁基态。
pw.x < Fe.scf > scf.out
【2】运行PWSCF获得统一k点网格上的Bloch状态。
pw.x < Fe.nscf > nscf.out
【3】运行wannier90来生成所需的重叠列表(写入Fe.nnkp文件)。
wannier90.x -pp Fe
【4】运行pw2wannier90进行计算:
– 自旋子布洛赫状态之间的重叠〈unk|umk+b〉(写在Fe.mmn文件中)。
– 初猜的投影(写在Fe.amn文件中)。
– 自旋矩阵元素〈ψnk|σi|ψmk〉,i = x, y, z(写在Fe.spn文件中)
pw2wannier90.x < Fe.pw2wan > pw2wan.out
【5】运行wannier90计算MLWFs
wannier90.x Fe
【
6】运行postw90计算能量特征值和自旋期望值
postw90.x Fe (串行执行)
mpirun -np 8 postw90.x Fe(8个MPI进程并行执行的例子)
在这个例子中,我们使用kpath模块来绘制沿[001]的自旋期望值着色的能带:
kpath = true
kpath_task = bands
kpath_bands_colour = spin
kpath_num_points=500
使用gnuplot(4.2或更高版本)来绘制带状图
myshell> gnuplot
gnuplot> load ‘Fe-bands.gnu’
或者使用python
myshell> python Fe-bands.py
接下来我们利用kslice模块,在ky=0的(010)平面上绘制费米曲面轮廓。在Fe.win中设置kpath = false并取消下面的指令。
kslice = true
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
kslice_b2 = 0.5 0.5 0.5
kslice_2dkmesh = 200 200
在scf.out文件中获取费米能级的值。能量特征值是在覆盖BZ切片的200×200 k点网格上计算出来的。费米面和(010)平面之间的交线可以用运行时生成的gnuplot或python脚本进行可视化。
myshell> gnuplot
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中加入以下几行。
- 在例8中,我们分别获得了bcc Fe的上旋和下旋通道的无自旋轨道的MLWFs。因此,Wannier-interpolated的DOS被自动分离为少数和多数贡献。对于自旋子的计算,我们仍然可以对DOS进行自旋分解,通过如下命令实现: