| 查看: 16339 | 回复: 9 | ||||
[交流]
VASP计算极化强度 已有8人参与
|
|
在网上看到的,就复制下来了 Born有效电荷可以通过移动体系原子,然后计算极化强度差,然后除以位移乘以体积得到,或者通过加电场,计算体系原子受力得到;可以用你写的公式计算体系的极化强度,但是前提是你要先找一个参考相,就是所谓的中心对称相,通过比较获得原子位移,然后计算极化,而一般来讲,参考相的选取不是唯一的,不同的参考相会使你计算得到的polarization略有差别,但是差别应该不会很大,假如你选的参考相不太离谱,这是因为born电荷有个求和规则制约,也就是说角标相同的分量加和到一起应该为零。 berry phase的计算同样要选参考相,因为berry phase的计算结果中含有一个任意相,这会使得假如你计算中心对称的体系,都可能计算出电极化,所以如果你用berry phase,你要扣除体系中的量子数,严格的方法也是要找参考相,从参考相变化到铁电相,一点一点变,然后把每个变化的电极化都计算了,扣除量子数,得到铁电相极化! Berryphase 计算出的单位是e.A,这是电偶极矩的单位,极化强度得用这个值除以体积,注意量纲的转化,经过简化后,你就用Berryphase计算的数值乘以16再除以体积得到单位是C/m2。如果想用uC/cm2,自己可以在转化,这很简单了。 如何用vasp计算Born有效电荷 VASP是采用的Berry phase方法来计算半导体和绝缘体材料的Born有效电荷。这种方法的介绍可以参考VASP手册上提到的文献。 如VASP手册上的介绍,在采用Berry phase方法来计算某个原子某个方向的Born有效电荷时,有两大步: 1) 计算离子未移动时(即平衡状态时)的极化(polarization); 2)手动移动所要计算的原子的位置,计算由原子偏离平衡态时的极化。每一大步中有包括了四个小步骤: i)自恰计算体系以得到收敛的电荷密度(CHG, CHGCAR文件)和波函数(WAVECAR); ii)计算G1方向上的电子极化; iii)计算G2方向上的电子极化; iv)计算G3方向上的电子极化。 最后从每一小步中的OUTCAR文件中找出极化各个部分的贡献: ev (电子项), bp (Berry phase项), ion (离子项),进行简单的数值加减计算,按差分方法计算得到Born有效电荷。 对每类原子的各个方向按同样的步骤进行计算处理,在计算时可根据晶体的对称性,只需要计算Born有效电荷张量的某些分量即可。 下面以计算AlAs的As原子的Born有效电荷为例来介绍具体操作步骤。 1、计算AlAs平衡态时的极化: i)自恰计算平衡态时的AlAs,主要的输入文件: INCAR: SYSTEM = AlAs ENCUT = 300 ISTART = 0 ICHARG = 2 ISMEAR = 0; SIGMA = 0.002 EDIFF = 1E-5 PREC = Accurate (注 释: 这里采用ISMEAR=0; SIGMA=0.002,是因为所计算的体系是半导体或绝缘体,电子的占有数实际上固定的,非0就是2或1了,通过将ISMAR=0(即Gaussian 方法来确定电子占有数)且SIGMA设置为一个很小的值来达到一种类似PWSCF程序中的occupation-fixed 方法的效果。如果参看VASP的源代码,可以看到:代码里面会根据INCAR中设置了LBERRY = .TRUE.而自动将ISMEAR和SIGMA进行调整为默认的值:ISMEAR = 0; SIGMA = 0.00)。 KPOINTS: 4x4x4 0 Monma 4 4 4 0 0 0 POSCAR: AlAs 5.57223 0.0 0.5 0.5 0.5 0.0 0.5 0.5 0.5 0.0 1 1 Direct 0.000 0.0000 0.0000 0.250 0.2500 0.2500 POTCAR,采用的是LDA的ultrasoft pseudopotential。 自恰计算完之后将得到的CHGCAR, CHG和WAVECAR保存。 ii)计算沿着G1方向上的电子极化: 输入文件如下: INCAR: SYSTEM = AlAs ENCUT = 300 #ISTART = 0 #ICHARG = 2 ISMEAR = 0; SIGMA = 0.002 EDIFF = 1E-5 PREC = Accurate LBERRY = .TRUE. IGPAR = 1 NPPSTR = 8 DIPOL = 0.5 0.5 0.5 (注 释:要采用Berry phase方法来计算电子极化时,需在INCAR中设置LBERRY=.TRUE.,另外设置所要计算的方向即设置IGPAR (可赋的值为1,2,3分别表示G1, G2和G3方向), 沿着IGPAR方向上的一串k点的个数 即设置NPPSTR(注意的是,在平衡态时的计算和原子移动之后的计算中,它值应该是一样的),最后设置在计算离子的dipole时的参考点即设置 DIPOL(注意的是,它的设置需要使得原子移动前后的原子都在这个参考点的一侧。比如这个例子中 Al处于(0,0,0),As处于(0.25, 0.25, 0.25)位置,而将DIPOL设置为(0.5, 0.5, 0.5)和(0.125, 0.125, 0.125)都是可以的,但是在考虑移动Al原子时,不要将原子移动原胞之外即偏移量为负数;另外也不要将DIPOL设置在所要移动的原子上,如果是这样的话,则会导致移动该原子后,该原子不在DIPOL的同一侧,使得原子移动之后的极化的Berry-phase项要比平衡态时的大很多。) POSCAR和KPOINTS同i)中的。 将第i)计算得到的CHGCAR, CHG, WAVECAR拷贝过来,进行计算。 计算完后保存OUTCAR,从OUTCAR文件中找出极化的各个项的贡献,可以采用下面的命令: grep '' OUTCAR 如下面的数据 Expectation value term: 《R》ev 《R》 = ( -0.00022, -0.00117, 0.00074 ) electrons Angst Berry-Phase term: 《R》bp 《R》 = ( 0.00000, -0.00455, -0.00455 ) electrons Angst ionic term: 《R》ion 《R》 = ( 15.32363, 15.32363, 15.32363 ) electrons Angst (注释:后面的三列数据分别表示的是x, y, z方向的。) iii)和iv)步同ii)类似,只是分别将IGPAR = 1改为IGPAR = 2和IGPAR = 3。 下面是计算G2方向时(即IGPAR=2)得到的数据: Expectation value term: 《R》ev 《R》 = ( -0.00117, -0.00022, 0.00074 ) electrons Angst Berry-Phase term: 《R》bp 《R》 = ( -0.00455, 0.00000, -0.00455 ) electrons Angst ionic term: 《R》ion 《R》 = ( 15.32363, 15.32363, 15.32363 ) electrons Angst 下面是计算G3方向时(即IGPAR=3)得到的数据: Expectation value term: 《R》ev 《R》 = ( -0.00117, 0.00074, -0.00022 ) electrons Angst Berry-Phase term: 《R》bp 《R》 = ( -0.00455, -0.00455, 0.00000 ) electrons Angst ionic term: 《R》ion 《R》 = ( 15.32363, 15.32363, 15.32363 ) electrons Angst 下面按公式计算计平衡态时《R》ev在G1、G2和G3方向上的平均值: 《R》 ev, undistorted, average = [( -0.00022, -0.00117, 0.00074 )+ ( -0.00117, -0.00022, 0.00074 )+ ( -0.00117, 0.00074, -0.00022 ) ]/3.0 = ( -0.00022-0.00117-0.00117, -0.00117-0.00022+0.00074, 0.00074+0.00074-0.00022 ) /3.0 =(-0.000853333, -0.000216667, 0.00042) 把平衡态时各个方向计算时得到《R》bp项求和: 《R》bp, undistorted, all = ( 0.00000, -0.00455, -0.00455 ) + ( -0.00455, 0.00000, -0.00455 ) + ( -0.00455, -0.00455, 0.00000 ) = ( -0.00455*2, -0.00455*2, -0.00455*2 ) = ( -0.0091, -0.0091, -0.0091) 那么平衡态时电子极化项 《R》el, undistorted就是: 《R》 el, undistorted =《R》 ev, undistorted, average + 《R》bp, undistorted, all =(-0.000853333, -0.000216667, 0.00042) +( -0.0091, -0.0091, -0.0091) =(-0.000853333 -0.0091, -0.000216667 -0.0091, 0.00042 -0.0091) =(-0.00995333, -0.00931667, -0.00868) 平衡态时离子极化项《R》ion, undistorted,在任意一个方向计算时得到的数据,即: 《R》ion, undistorted = ( 15.32363, 15.32363, 15.32363 ) 2. 计算Al原子偏离平衡位置时的极化: i)其中的INCAR, KPOINTS同第1 i)步中的,只是将POSCAR中 As原子的位置沿着某个方向略移动一个小量,如下: POSCAR AlAs 5.57223 0.0 0.5 0.5 0.5 0.0 0.5 0.5 0.5 0.0 1 1 Direct 0.000 0.0000 0.0000 0.250 0.2500 0.2300 (注释:这种设置是导致As在x和y方向上都移动了0.05572 angstrom,这个可以自己算出来,或者直接从移动前后两次计算的OUTCAR中的原子cartesian坐标进行简单的加减计算之后得到。) 然后作自恰计算,计算之后保存得到CHGCAR, CHG, WAVECAR。 ii)、计算原子移动之后,体系沿着G1方向的极化: INCAR和KPOINTS的输入文件同第1 ii)步中的,将上一步保存下来的CHG, CHCAR和WAVECAR拷贝过来,然后计算得到OUTCAR,在保存后,从中可以找到相关的极化计算数据,通过下面的命令来查找: grep '' OUTCAR 此例子的计算数据: Expectation value term: 《R》ev 《R》 = ( -0.00091, -0.00100, -0.00030 ) electrons Angst Berry-Phase term: 《R》bp 《R》 = ( 0.00000, -0.00475, -0.00475 ) electrons Angst ionic term: 《R》ion 《R》= ( 15.60224, 15.60224, 15.32363 ) electrons Angst iii)& iv).计算原子移动后体系沿着G2和G3方向的极化: INCAR和KPOINTS中的分别与第1 iii)&iv)步中的一样。 此例子计算得到的数据: 沿着G2方向的: Expectation value term: 《R》ev 《R》 = ( -0.00100, -0.00091, -0.00030 ) electrons Angst Berry-Phase term: 《R》bp 《R》= ( -0.00475, 0.00000, -0.00475 ) electrons Angst ionic term: 《R》ion 《R》 = ( 15.60224, 15.60224, 15.32363 ) electrons Angst 沿着G3方向的: Expectation value term: 《R》ev 《R》 = ( -0.00233, 0.00032, -0.00029 ) electrons Angst Berry-Phase term: 《R》bp 《R》 = ( -0.40026, -0.40026, 0.00000 ) electrons Angst ionic term: 《R》ion 《R》 = ( 15.60224, 15.60224, 15.32363 ) electrons Angst 同样按公式计算出原子移动之后的极化: 将G1, G2, G3各个方向计算得到《R》ev项进行平均: 《R》ev, distorted, average = [ ( -0.00091, -0.00100, -0.00030 ) + ( -0.00100, -0.00091, -0.00030 ) + ( -0.00233, 0.00032, -0.00029 )]/3.0 = ( -0.00091-0.00100-0.00233, -0.00100-0.00091+0.00032, -0.00030-0.00030--0.00029)/3.0 =(-0.00141333, -0.00053, -0.000103333) 将G1, G2, G3各个方向计算时得到《R》bp项求和: 《R》bp, distorted, all = ( 0.00000, -0.00475, -0.00475 )+ ( -0.00475, 0.00000, -0.00475 )+ ( -0.40026, -0.40026, 0.00000 ) =(0.00000-0.00475-0.40026, -0.00475+0.00000-0.40026, -0.00475 -0.00475+0.00000) =(-0.40501, -0.40501, -0.0095) 由此得到原子移动之后电子极化项 《R》el, distorted: 《R》el, distorted= 《R》ev, distorted, average + 《R》bp, distorted, all =(-0.00141333, -0.00053, -0.000103333)+(-0.40501, -0.40501, -0.0095) =(-0.00141333-0.40501, -0.00053-0.40501, -0.000103333-0.0095) =(-0.406423, -0.40554, -0.00960333) 原子移动后离子极化项《R》ion, distorted取任意一个方向上计算得到的数据《R》ion: 《R》ion, distorted = ( 15.60224, 15.60224, 15.32363 ) 由此得到由于As原子的移动引起的极化变化为: Delta 《R》= 《R》ion, distorted + 《R》el, distorted - 《R》ion, undistorted - 《R》el, undistorted = ( 15.60224, 15.60224, 15.32363 )+(-0.406423, -0.40554, -0.00960333) - ( 15.32363, 15.32363, 15.32363 )-(-0.00995333, -0.00931667, -0.00868) =( 15.60224-0.406423-15.32363+0.00995333, 15.60224-0.40554-15.32363+0.00931667, 15.32363-0.00960333-15.32363+0.00868) =(-0.11786, -0.117613, -0.00092333) 在前面已经提到了这个是在As分别在沿着x, y方向上移动了0.05572 angstrom时的计算结果。那么由此可计算出As原子的沿着x,y方向上的Born有效电荷(实际上由于AlAs是立方晶体,As原子的Born有效电荷沿着xx, yy, zz方向的都相等,xz, yz, xy方向上的都为0)按差分公式可以计算得到: Z*_As = Delta《R》/ Delta x_As =-0.11786/0.05572 =-2.11522 由于原胞所有原子的Born有效电荷各个方向的加起来要满足电荷中性的条件,AlAs中只有Al和As两类(也只有2个原子)原子,因此也可以得到Al的Born有效电荷为2.11522,这与ABINIT中的教程中计算的数据很接近。 实际上面两大步的4个小步骤,可采下面的脚本来连续计算完成。 要注意的就是DIPOL 的设置,以及原子移动的选取:不要将DIPOL设置在某个原子位置上,原子移动的选取要保证原子在移动前后都是DIPOL的同一侧。 |
» 收录本帖的淘帖专辑推荐
计算 |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
国自然申请面上模板最新2026版出了吗?
已经有14人回复
计算机、0854电子信息(085401-058412)调剂
已经有5人回复
基金委咋了?2026年的指南还没有出来?
已经有3人回复
Materials Today Chemistry审稿周期
已经有5人回复
溴的反应液脱色
已经有7人回复
推荐一本书
已经有12人回复
基金申报
已经有4人回复
纳米粒子粒径的测量
已经有7人回复
常年博士招收(双一流,工科)
已经有4人回复
有没有人能给点建议
已经有5人回复
» 本主题相关商家推荐: (我也要在这里推广)
2楼2018-05-18 09:44:06
3楼2018-10-30 12:34:26
4楼2018-10-30 15:53:38
W.Z.Zhou
捐助贵宾 (小有名气)
- 应助: 2 (幼儿园)
- 金币: 538.8
- 帖子: 68
- 在线: 58.2小时
- 虫号: 3636656
- 注册: 2015-01-09
- 性别: GG
- 专业: 凝聚态物性 II :电子结构

5楼2019-08-05 11:05:52
6楼2019-10-24 16:09:53
7楼2021-01-28 10:26:03
nuli的菜
银虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 657.7
- 散金: 1287
- 沙发: 2
- 帖子: 1036
- 在线: 48.5小时
- 虫号: 17341815
- 注册: 2019-09-09
- 专业: 地理信息系统
8楼2021-01-29 21:02:02
9楼2021-02-27 15:03:33
10楼2021-04-19 09:48:54











回复此楼
W.Z.Zhou
