本文为由小强撰写的《VASP实用教程》第51篇,全系列约60篇,将在近期陆续更新。
注:建议先看例8(bcc Fe无自旋轨道)。
注:这个例子需要最新版本的pw2wannier90接口。
- 概要:绘制铁磁bcc铁的自旋轨道耦合带。绘制布里渊区平面上的费米表面轮廓图。
- 目录:examples/example17/
- 输入文件
– Fe.scf 用于基态计算的PWSCF输入文件– 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计算MLWFswannier90.x Fe【6】运行postw90计算能量特征值和自旋期望值postw90.x Fe (串行执行)mpirun -np 8 postw90.x Fe(8个MPI进程并行执行的例子)在这个例子中,我们使用kpath模块来绘制沿[001]的自旋期望值着色的能带:kpath = truekpath_task = bandskpath_bands_colour = spinkpath_num_points=500使用gnuplot(4.2或更高版本)来绘制带状图myshell> gnuplotgnuplot> load ‘Fe-bands.gnu’或者使用pythonmyshell> python Fe-bands.py接下来我们利用kslice模块,在ky=0的(010)平面上绘制费米曲面轮廓。在Fe.win中设置kpath = false并取消下面的指令。kslice = truekslice_task = fermi_linesfermi_energy = [insert your value here]kslice_corner = 0.0 0.0 0.0kslice_b1 = 0.5 -0.5 -0.5kslice_b2 = 0.5 0.5 0.5kslice_2dkmesh = 200 200在scf.out文件中获取费米能级的值。能量特征值是在覆盖BZ切片的200×200 k点网格上计算出来的。费米面和(010)平面之间的交线可以用运行时生成的gnuplot或python脚本进行可视化。myshell> gnuplotgnuplot> 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 = truekslice_task = fermi_linesfermi_energy = [insert your value here]kslice_corner = 0.0 0.0 0.0kslice_b1 = 0.5 -0.5 -0.5kslice_b2 = 0.5 0.5 0.5kslice_2dkmesh = 200 200运行postw90之前,postw90.x iron_uppostw90.x iron_dn运行时生成的python脚本将上旋和下旋的费米线分别画在不同的图上。如果要把它们画在一起,请使用例17提供的脚本iron_updn-kslee-fermi_lines.py(或者合并两个生成的脚本)。比较有自旋轨道和无自旋轨道的费米线,并注意自旋轨道引起的避免交叉。
- 在例8中,我们分别获得了bcc Fe的上旋和下旋通道的无自旋轨道的MLWFs。因此,Wannier-interpolated的DOS被自动分离为少数和多数贡献。对于自旋子的计算,我们仍然可以对DOS进行自旋分解,通过如下命令实现:
dos = truespin_decomp = truedos_kmesh = 25 25 25在postw90创建的Fe-dos.dat数据文件的第三和第四列中包含了上旋和下旋的贡献。myshell> gnuplotgnuplot> plot ’Fe-dos.dat’ u (-$3):($1-12.6285) w l,’Fe-dos.dat’ u ($4):($1-12.6285)w l(应该用费米能级的值代替12.6285)。另一种方法是将DOS分别投射到上旋和下旋的WF上。如果需要找到投射到上旋(奇数)WF上的DOS,需要将spin_decomp = true改为dos_project = 1,3,5,7,9,11,13,15,17并重新运行postw90。这种方法的优点是不需要Fe.spn文件。