笔记:QE计算BN的能带 |
您所在的位置:网站首页 › bn的结构 › 笔记:QE计算BN的能带 |
第一步,优化晶格常数 查阅文献,可知六方BN的结构见Fig1,所有原子都在一个平面内。 Fig1. BN的结构(c轴)relax.in &CONTROL calculation='vc-relax', disk_io='low', prefix='pwscf', pseudo_dir='./', outdir='./tmp', verbosity='high' tprnfor=.true., tstress=.true., forc_conv_thr=1.0d-5, etot_conv_thr=1.0d-5, nstep=100, / &SYSTEM ibrav= 0, celldm(1)=1.8897261328856432, nat= 2, ntyp= 2, occupations = 'smearing', smearing = 'gaussian' degauss = 0.02 ecutwfc= 50, ecutrho = 600, / &ELECTRONS electron_maxstep = 100, conv_thr = 1.0d-9, mixing_mode = 'plain' mixing_beta = 0.7d0, diagonalization = 'david' / &IONS ion_dynamics='bfgs' / &CELL press = 0.00 , press_conv_thr=0.1 cell_dynamics = 'bfgs' , cell_dofree = '2Dxy', !二维 / ATOMIC_SPECIES B 10.811 B.UPF N 14.0037 N.UPF CELL_PARAMETERS (alat= 1.889726877) 2.507313 0.000000000 0.000000000 1.253656 2.1713967 0.000000000 0.000000000 0.000000000 20 ATOMIC_POSITIONS (crystal) B 0.00000000 0.00000000 0.50000000 N 0.33333333 0.33333333 0.50000000 K_POINTS {automatic} 12 12 1 0 0 0 赝势版本为SSSP_1.1.2_PBE_efficiency,改为B.UPF和N.UPF,需要与relax.in在同一目录下。 执行:pw.x < relax.in > relax.out 计算完成之后,可以通过下面的指令来查看结果: grep '!' relax.out >> result.out grep 'Fermi' relax.out >> result.out awk '/Begin final coordinates/,/End final coordinates/{print $0}' relax.out >> result.out 输出的分别是:每一步的总能量;每一步的费米能级;优化后的晶格常数。 vc-relax结束后会自动进行一次scf,可以不用再进行scf运算。(我不是很清楚这里计算scf用的结构,是优化前的还是优化后的,不放心的话可以修改输入文件中的结构部分,重新再跑一次scf) 第二步,计算能带 bands.in &CONTROL calculation='bands', disk_io='low', prefix='pwscf', pseudo_dir='./', outdir='./tmp', verbosity='high' tprnfor=.true., tstress=.true., forc_conv_thr=1.0d-5 / &SYSTEM ibrav= 0, celldm(1)=1.8897261328856432, nat= 2, ntyp= 2, occupations = 'smearing', smearing = 'gauss', degauss = 1.0d-9 ecutwfc= 50, ecutrho = 600, / &ELECTRONS electron_maxstep = 100 conv_thr = 1.0d-9 mixing_mode = 'plain' mixing_beta = 0.8d0 diagonalization = 'david' / &IONS ion_dynamics='bfgs' / &CELL press = 0.00 , press_conv_thr=0.1 cell_dynamics = 'bfgs' , cell_dofree = '2Dxy', / ATOMIC_SPECIES B 10.811 B.UPF N 14.0037 N.UPF CELL_PARAMETERS (alat= 1.88972613) 2.508819263 0.000000000 0.000000000 1.254409132 2.172701162 0.000000000 0.000000000 0.000000000 20.000000000 ATOMIC_POSITIONS (crystal) B -0.000000000 0.000000000 0.500000000 N 0.333333330 0.333333330 0.500000000 K_POINTS {crystal_b} 4 0.000 0.000 0.000 30 0.000 0.500 0.000 30 -0.333 0.333 0.000 30 0.000 0.000 0.000 30 bands.in文件就与relax.in文件放在同一目录即可,因为需要读取第一步算完的结果,不然还需要修改outdir的路径,放一起就很省事。 执行指令: pw.x < bands.in >bands.out 第三步, 数据处理绘图 可以使用QE自带的bands.x对能带结构进行初步的处理。 draw_bands.in &bands prefix='pwscf', outdir='tmp' filband='bd.dat' lp=.true. / 执行指令:bands.x < draw_bands.in > draw_bands.out 输出的能带结构在bd.dat中,当然也有更方便画图的数据存放在bd.dat.gnu中。 这里用QE自带的plotband.x来进行绘图。 plotband.in bd.dat -8 5 !能量上下限 plotband.xmgr !数据输出 plotband.eps ! 图像输出 -0.8728 !费米能级,绘图时会将费米能级平移到0 1.0 0 !纵坐标刻度 整体偏移 执行指令: plotband.x < plotband.in >plotband.out 就可以查看输出的能带图啦! Fig2. BN的能带图 plotband.x当然也可以自己绘图,这里把VBM设成了费米能级。 Fig3. BN的能带图 QE再放一张用VASP跑出来的结果: Fig4. BN的能带图 VASP可以看到整体的能带走向基本上是一致的,不过VASP默认的是将费米能级设为0。 QE计算出来的能带数据bd.dat里面的结果都是相对的,可以通过将费米能级设为0或者将VBM设为0来绘图,但是我用VASP也测试了,发现不同的软件的费米能级似乎是不一样的,不是很懂,放上一张网上别人的解释。 Fig5. 关于费米能级新手上路,敬请指正! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |