VASP实用教程:硅-用于自动MLWF的密度矩阵算法的选定列

242 篇文章 11 订阅
142 篇文章 2 订阅

本文为由小强撰写的《VASP实用教程》第57篇,全系列约60篇,将在近期陆续更新。

1.硅-用于自动MLWF的密度矩阵算法的选定列

注:这个例子需要Quantum ESPRESSO的pw2wannier90.x后处理代码的最新版本(6.4版或以上)。

  • 概要:对于块状晶体硅,通过选定的密度矩阵列(SCDM)算法生成Amn矩阵,以及1)价带2)价带和4个低位导带3)仅有导带的相应的MLWF。为了更好地理解这些计算的输入文件和结果,熟悉文献[1]中的概念和方法是至关重要的。与SCDM相关的关键词的信息方法的更多信息可以在用户指南中找到。

  • 目录:examples/example27/

  • 输入文件:input_files,以及三个子文件夹isolated、erfc和gaussian中。input_files文件夹包含以下内容:

– si.scf  用于基态计算的PWSCF输入文件

– si_4bands.nscf  PWSCF输入文件,用于在统一网格上获得4个带的Bloch状态

– si_12bands.nscf  PWSCF输入文件,用于在统一网格上获得12个带的Bloch状态

  • 而三个子文件夹isolated、erfc和gaussian包含wannier90输入文件si.win和pw2wannier90输入文件si.pw2wan,分别对应于大纲中列出的一种情况。

1.价带:在这种情况下,我们将计算4个局域化的WF,对应于硅的4个价带。这4个带构成一个流形,在能量上与其他带分开。在这种情况下,密度矩阵的列已经在实空间中被定位了,不需要额外的参数。

【1】将输入文件si.scf和si_4bands.nscf从input_files目录中复制到孤立的文件夹中。

【2】运行PWSCF以获得体硅的基态电荷。

pw.x < si.scf > scf.out

【3】运行PWSCF,在4×4×4的统一k点网格上获得4个带的Bloch状态。

pw.x < si_4bands.nscf > nscf.out

【4】检查输入文件si.win,确保已经将auto_projections设置为.true.。另外,要确保没有设置投影模块。

【5】运行wannier90,生成所需的重叠列表,同时生成SCDM方法的信息(写入si.nnkp文件)。

wannier90.x -pp si

【6】检查si.nnkp文件,确保找到auto_projections块,并确保在projections块中没有设置投影。

【7】检查.pw2wan输入文件。我们会发现两个新的关键词,即scdm_proj和scdm_entanglement。前者将指示pw2wannier90.x在生成Amn矩阵时使用SCDM方法。后者定义了函数f(εnk)采用的公式(见参考文献[18]和下面的观点)。

【8】运行pw2wannier90来计算Bloch状态和通过SCDM方法得到的投影之间的重叠(分别写在si.mmn和si.amn里)。

pw2wannier90.x < si.pw2wan > pw2wan.out

【9】运行wannier90来计算MLWF

wannier90.x si

此时应该已经得到了4个Wannier函数和硅的插值价带。检查输出文件si.wout。特别是每个WF的几何中心,它们是否像从用户定义的初始s-like投影中计算出来的MLWF那样位于Si-Si键的中心(见例11)?使用Vesta绘制这些WF。它们是否显示了人们从化学论证中所期望的特征?

2.价带+导带:在这种情况下,我们将计算对应于4个价带和4个低位传导带的8个局域化的WF。此时,没有形成一个单独的流形,因为导带与其他高能带纠缠在一起,密度矩阵的列在结构上不是指数级的局域化。在这种情况下,需要一个修正的密度矩阵[18],它被定义为:

eaa042f6dcdd4ce80cbc799e1489ba8d.jpeg

其中和分别是第一原理计算的能量特征和特征值。函数包含两个自由参数,µσ,并被定义为一个互补的误差函数。

7396aa8339915b884919b0c09d556baa.jpeg

【1】将input_files文件夹中的输入文件si.scf和si_12bands.nscf复制到erfc文件夹中。

【2】运行PWSCF以获得体硅的基态电荷。

pw.x < si.scf > scf.out

【3】运行PWSCF,在4×4×4的统一k点网格上获得12个带的Bloch状态。

pw.x < si_12bands.nscf > nscf.out

【4】检查输入文件si.win,确保已经将auto_projections设置为.true.。另外,要确保没有设置投影模块。

【5】运行wannier90,生成所需的重叠列表,同时生成SCDM方法的信息(写入si.nnkp文件)。

wannier90.x -pp si

【6】检查si.nnkp文件,确保找到auto_projections块,并确保在projections块中没有设置投影。

【7】检查.pw2wan输入文件。会发现另外两个新的关键词,即scdm_mu和scdm_sigma。它们分别是以eV为单位的µ和以为单位的σ的值。

【8】运行pw2wannier90来计算Bloch状态和通过SCDM方法得到的投影之间的重叠(分别写在si.mmn和si.amn里)。

pw2wannier90.x < si.pw2wan > pw2wan.out

【9】运行wannier90来计算MLWF

wannier90.x si

此时应该已经得到了8个局域化的Wannier函数以及硅的内插值价带和导带。再次,将几何中心和单个扩散的结果与例11的结果进行比较。最后的总扩散值是比例11中的大还是小?看一下Vesta的WF。解释一下观察到的现象?在这种情况下,sp3-like的WFs的主要波瓣指向哪里?

3.只计算导带:在这种情况下,我们将计算4个局域化的WF,只对应4个低位导带。对于前一点,我们需要定义一个修正的密度矩阵[1]。由于我们只对有界能量区域内的导带的一个子集进行计算,对的一个好的选择是:

8d2a69707c7a38354638e24e899f2713.jpeg

【1】将input_files文件夹中的输入文件si.scf和si_12bands.nscf复制到erfc文件夹中。

【2】运行PWSCF以获得体硅的基态电荷。

pw.x < si.scf > scf.out

【3】运行PWSCF,在4×4×4的统一k点网格上获得12个带的Bloch状态。

pw.x < si_12bands.nscf > nscf.out

【4】检查输入文件si.win,确保已经将auto_projections设置为.true.。另外,要确保没有设置投影模块。

【5】运行wannier90,生成所需的重叠列表,同时生成SCDM方法的信息(写入si.nnkp文件)。

wannier90.x -pp si

【6】检查si.nnkp文件,确保找到auto_projections块,并确保在projections块中没有设置投影。

【7】运行pw2wannier90来计算Bloch状态之间的重叠,通过SCDM方法形成的初猜的投影(分别写在si.mmn和si.amn中)。

pw2wannier90.x < si.pw2wan > pw2wan.out

【8】运行wannier90来计算MLWF

wannier90.x si

此时应该已经得到了4个局域化的Wannier函数和硅的插值导带。根据化学直觉,我们认为这些函数类似于四面体对称分子的反键轨道。绘制WF并检查是否正确。

2.钻石--使用高斯立方体格式和VESTA绘制MLWFs的图形

  • 概要:获得钻石价带的MLWF并以高斯立方体格式输出

  • 目录:examples/example28/ &nbsp;这个例子的输入文件与example05中的文件相同

  • 输入文件

– diamond.scf &nbsp;用于基态计算的PWSCF输入文件

– diamond.nscf &nbsp;在统一网格上获得Bloch状态的PWSCF输入文件

– diamond.pw2wan &nbsp;pw2wannier90的输入文件

– diamond.win &nbsp;wannier90的输入文件

【1】运行PWSCF获得钻石的基态

pw.x < diamond.scf > scf.out

【2】运行PWSCF以获得统一k点网格上的Bloch状态

pw.x < diamond.nscf > nscf.out

【3】运行wannier90,生成所需的重叠列表(写入diamond.nnkp文件)。

wannier90.x -pp diamond

【4】运行pw2wannier90来计算Bloch状态和初猜的投影之间的重叠(写在diamond.mmn和diamond.amn文件中)。

pw2wannier90.x < diamond.pw2wan > pw2wan.out

【5】当晶格矢量为非正交时,并非所有的可视化程序都能以高斯立方体的格式绘制体积数据。一个可以读取这些系统的体积数据的程序是VESTA。为了指示wannier90以高斯立方体格式输出MLWF数据,需要在.win文件中加入以下几行内容

wannier_plot = .true.

wannier_plot_supercell = 3

wannier_plot_format = cube

wannier_plot_mode = crystal

wannier_plot_radius = 2.5

wannier_plot_scale = 1.0

运行wannier90以计算MLWF并将其输出到高斯立方体文件中。

wannier90.x diamond

【6】用VESTA vesta diamond_00001.cube绘制第一个MLWF图。

此外:不要使用wannier_plot_mode = crystal,而是尝试使用wannier_plot_mode = molecule的分子模式(关于这个关键词的定义,请参见用户指南)。在.win文件中添加以下一行

restart = plot

并重新运行wannier90。使用VESTA来绘制所得到的MLWF,比较与晶体模式情况下的不同之处,并试着将超胞的大小从3改为5,查看结果。(提示:当使用高斯立方体格式时,代码在一个比超胞小的网格上输出WF。网格的大小由wannier_plot_scale和wannier_plot_radius指定)。

参考文献:

[1] A. Damle and L. Lin, ArXiv e-prints (2017), 1703.06958.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值