能带反折叠计算

做一下投影看看轨道成分

第一步:准备以下文件:

  1. POSCAR文件,必须是原胞结构(primitive cell)。以下是MoS2单层结构文件

    MoS2-H.POSCAR
      1.00000000000000000
    3.190406376    0.000000    0.0000000
    -1.59520318   2.7629729    0.0000000
    0.000000000    0.000000   17.6585355
      Mo   S
        1     2
    Direct
    0.33333334 0.66666668 0.50000000
    0.66666668 0.33333334 0.41170027
    0.66666668 0.33333334 0.58829969

     

  2. 包含原胞能带路径的KPATH.in文件,可通过vaspkit 302或303产生,也可手动调整能带路径。这里我们选择的MoS2能带路径是从M-K-Gamma。

    KPATH for MoS2
    20
    Line mode
    Rec
    0.0000000 0.5000000 0.0000000 # M
    0.3333333 0.3333333 0.0000000 # K
    
    0.3333333 0.3333333 0.0000000 # K
    0.0000000 0.0000000 0.0000000 # GAMMA
  3. 用于静态计算的INCAR文件,并设置LWAVE =.TRUE.,为了避免读取WAVECAR时出现'ERROR! Computed NPLANE= ** != input NPLANE= **'错误,可选择较低的截断能或令PREC=N。INCAR的典型参数为

    SYSTEM = MoS2
    ISTART = 1
    LREAL = F
    PREC = N
    LWAVE = .TRUE.
    LCHARG = F
    ISMEAR = 0
    SIGMA = 0.05
    NELM = 60
    NELMIN = 6
    EDIFF = 1E-08

     

  4. 用于产生超胞的变化矩阵TRANSMAT.in文件(可选文件)。我们先看看TRANSMAT.in的格式

    Read transformation matrix from the TRANSMAT.in file if it exists. 第一行是注释行
    2 0 0   # must be three integers
    0 3 0   # must be three integers
    0 0 3   # must be three integers

第二行至第四行的整数构成3*3变换矩阵M,超胞晶格基矢A和原胞晶格基矢a满足以下的变换关系:

如果M中非对角元素都为0,则产生的超胞晶格基矢与原胞的平行,这种超胞也是最常见的,也可通过vaspkit-401命令产生。

 

MoS2原胞属于六角结构,这里我们想产生一个矩形超胞,我们可以通过vaspkit-400命令实现。注意如果TRANSMAT.in不存在时,运行vaspkit-400后变换矩阵M每个元素通过对话框输入,如下图命令所示。否则,直接从TRANSMAT.in文件中读取换矩阵M,这样更方便快捷。

vaspkit -task 400
+---------------------------------------------------------------+
|           VASPKIT Version: 1.00.RC (17 Jun. 2019)             |
|       A Pre- and Post-Processing Program for VASP Code       |
|           Running VASPKIT Under Command-Line Mode           |
+---------------------------------------------------------------+
-->> (01) Reading Structural Parameters from POSCAR File...
Enter the new lattice verctor a in terms of old:
(MUST be three integers, e.g., 1 2 3)
  4   0   0
Enter the new lattice verctor b in terms of old:
  2   4   0
Enter the new lattice verctor c in terms of old:
  0   0   1
+-------------------------- Summary ----------------------------+
The Transformation Matrix P is:
  4   0   0
  2   4   0
  0   0   1
Lattice Constants in New Cell: 12.762 11.052 17.659
Lattice Angles in New Cell:   90.00   90.00   90.00
Total Atoms in New Cell: 48
Volume of New Cell is 16 times of the Old Cell
+---------------------------------------------------------------+
-->> (02) Written SUPERCELL.vasp File

第三步:cp SUPERCELL.vasp POSCAR和cp TRANSMAT TRANSMAT.in(当TRANSMAT.in文件不存在时), 并运行vaspkit-281生成KPOINTS文件;

------------>>
28
+-------------------------- Warm Tips --------------------------+
      See some examples in vaspkit/examples/band_unfolding.
        Only Support KPOINTS file Generated by VASPKIT.
          Please Set LWAVE= .TRUE. in the INCAR file.
+---------------------------------------------------------------+
================== Band-Unfolding ==============================
281) Generate KPOINTS File for Band-Unfolding Calculation
282) Calculate Effective Band Structure

0)   Quit
9)   Back
------------>>
281

-->> (01) Reading Structural Parameters from POSCAR File...
+---------------------------------------------------------------+
|               Selective Dynamics is Activated!               |
+---------------------------------------------------------------+
======================= K-Mesh Scheme ==========================
1) Monkhorst-Pack Scheme
2) Gamma Scheme

0)   Quit
9)   Back
------------->>
2
+-------------------------- Warm Tips --------------------------+
Input Resolution Value to Determine K-Mesh for SCF Calculation:
(Typical Value: 0.02-0.03 is Generally Precise Enough)
------------>>
0.03
Input Resolution Value along K-Path for Band Calculation:
(Typical Value: 0.02-0.04 for DFT and 0.04-0.06 for hybrid DFT)
------------>>
0.03
+---------------------------------------------------------------+
-->> (02) Readin Transformation Matrix from TRANSMAT.in file...
-->> (03) Reading K-Paths From KPATH.in File...
+-------------------------- Summary ----------------------------+
K-Mesh for SCF Calculation:   3   3   1   # 注意这部分根据超胞的倒格矢长度产生
The Number of K-Point along K-Path 1: 21     # 注意这部分根据原胞的倒格矢长度产生
The Number of K-Point along K-Path 2: 43     # 注意这部分根据原胞的倒格矢长度产生
+---------------------------------------------------------------+

第四步:提交vasp作业;

第五步:运行vaspkit-282;

------------>>
282
+-------------------------- Warm Tips --------------------------+
  Current Version Only Support the Stardard Version of VASP code.
+---------------------------------------------------------------+
-->> (01) Reading the header information in WAVECAR file...
+--------------------- WAVECAR Header --------------------------+
SPIN =   1
NKPTS =   68
NBANDS = 252
ENCUT =   280.00
Coefficients Precision: Complex*8
Maximum number of G values: GX =   18, GY =   16, GZ =   25
Estimated maximum number of plane-waves:   30159
+---------------------------------------------------------------+
-->> (02) Start to read WAVECAR file, take your time ^.^
          Percentage complete: 25.0%
          Percentage complete: 50.0%
          Percentage complete: 75.0%
          Percentage complete: 100.0%
-->> (03) Readin Transformation Matrix from TRANSMAT.in file...
-->> (04) Reading Fermi-Energy from DOSCAR File...
ooooooooo The Fermi Energy will be set to zero eV ooooooooooooooo
-->> (05) Reading KPOINTS_MAPPING_TABLE.in file...
-->> (06) Reading K-Paths From KPATH.in File...
-->> (07) Start to Calculate Effective Band Structure...
          Percentage complete: 25.0%
          Percentage complete: 50.0%
          Percentage complete: 75.0%
          Percentage complete: 100.0%
-->> (08) Written EBS.dat File!
-->> (09) Written KLABELS File!

第六步:最后,可以利用vaspkit/examples/band_unfolding/eps_plot.py脚本画图

 

注意,这个过程只需进行一次静态自洽计算,不需要非自洽取点

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
实现HTML折叠菜单栏可以使用HTML、CSS和JavaScript。下面是一个简单的示例代码: HTML: ```html <nav class="nav"> <ul> <li> <a href="#">菜单项1</a> <ul> <li><a href="#">子菜单项1</a></li> <li><a href="#">子菜单项2</a></li> <li><a href="#">子菜单项3</a></li> </ul> </li> <li><a href="#">菜单项2</a></li> <li><a href="#">菜单项3</a></li> </ul> </nav> ``` CSS: ```css .nav ul { margin: 0; padding: 0; list-style: none; } .nav li { position: relative; margin: 0; padding: 0; } .nav a { display: block; padding: 10px; background-color: #f7f7f7; color: #333; text-decoration: none; } .nav a:hover { background-color: #ddd; } .nav ul ul { display: none; position: absolute; top: 100%; left: 0; background-color: #f7f7f7; z-index: 999; } .nav ul ul li { display: block; width: 100%; } .nav ul ul a { padding: 10px; color: #333; } .nav ul ul a:hover { background-color: #ddd; } ``` JavaScript: ```javascript var nav = document.querySelector('.nav'); var navItems = nav.querySelectorAll('li'); for (var i = 0; i < navItems.length; i++) { var navItem = navItems[i]; var subNav = navItem.querySelector('ul'); if (subNav) { navItem.classList.add('has-subnav'); navItem.addEventListener('click', function(event) { event.preventDefault(); if (this.classList.contains('active')) { this.classList.remove('active'); } else { var activeNavItem = nav.querySelector('.active'); if (activeNavItem) { activeNavItem.classList.remove('active'); } this.classList.add('active'); } }); } } ``` 以上代码实现了一个具有折叠效果的菜单栏,点击菜单项时可以展开或折叠其子菜单。需要注意的是,CSS中的绝对定位和JavaScript中的类名操作都是用来控制菜单项的展开和折叠的。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值