ABINIT计算晶体时主要参数的确定(切断动能和k点网格)
分类:
2007.7.25 18:03 作者: | | 阅读:0
ABINIT计算晶体时主要参数的确定(切断动能和k点网格) |
ABINIT计算晶体时主要参数的确定(切断动能和k点网格)
|
在采用平面波赝势法进行固体的电子结构计算时,为了确保计算的精度和计算结果的可靠性,在计算晶体的物理性质之前,要进行几个重要参数的测试,以保证这些参数的选取使得计算结果有很好的收敛性,这些参数是平面波的切断动能和k点网格取样的大小。 下面以采用ABINIT计算立方的ZrO2晶体为例: 采用的赝势是40zr.psp_mod和8o.psp_mod(它们均是LDA的TM赝势)。 输入文件,in.files的内容为: INP OUT zroi zroo zro ./40zr.psp_mod ./8o.psp_mod
在测试平面波切断动能的收敛性时,我们通过设置平面波切断动能从20 Ha开始,以2 Ha递增,直到58 Ha,其他参数不变计算ZrO2的总能。在ABINIT的输入文件中很方便的通过ndtset来设置。 输入文件INP如下: # Crystalline ZrO2-cubic
ndtset 20 #表示有20组数据 ecut: 20.0 #平面波切断动能从20 Ha开始 ecut+ 2 #以2 Ha递增,也就是Ecut为20.0 + i*2.0, (i从1到20)
#Definition of the unit cell acell 3*9.65285 #设置晶格常数a=b=c为9.65285 a.u. rprim 0.0 0.5 0.5 #同上面的acell确定了原胞的基矢 0.5 0.0 0.5 0.5 0.5 0.0
#Definition of the atom types ntypat 2 #设置原胞的原子种类数,这里有2类原子 znucl 40 8 #每类原子的核电荷数Z natom 3 #原胞中总的原子数目,这里原胞总共有3个原子 typat 1 2*2 #第一类原子有1个,第二类原子有2个 xred #下面的按分数坐标给原胞中原子的坐标位置 0.00 0.000 0.000 0.25 0.25 0.25 0.75 0.75 0.75
#Definition of the k-point grid kptopt 1 #设置生成k点的方法,这里表明有ngkpt和nshiftk来确定k点网格的大小
ngkpt 8 8 8 #设置对布里渊区进行8x8x8网格的划分 nshiftk 4 #对划分得到的k点按下面的偏移量进行平移
shiftk 0.5 0.5 0.5 0.5 0.0 0.0 0.0 0.5 0.0 0.0 0.0 0.5
#Definition of the SCF procedure #ecut 40.0 iscf 5 #自洽迭代中的算法,这里采用cg方法优化。 toldfe 1.0d-10 #自洽迭代迭过程总能收敛的标准 diemac 3.0 #体系宏观的介电常数 nstep 60 #最大自洽迭代步数
#Definition of the outfile information prtwf 0 #不输出波函数文件。
运行下面的命令 abins OUT 对OUT采用进行分析,用下面的命令取出一些数据: grep 'ecut' OUT >summary grep 'Total energy(eV)' OUT >>summary 得到summary类似如下数据: 2.00000000E+01 -2.16713704994688E+03 2.20000000E+01 -2.17244914205186E+03 2.40000000E+01 -2.17629539439455E+03 2.60000000E+01 -2.17888687489711E+03 2.80000000E+01 -2.18045824630388E+03 3.00000000E+01 -2.18139622512928E+03 3.20000000E+01 -2.18192168325676E+03 3.40000000E+01 -2.18219516090481E+03 3.60000000E+01 -2.18232706572898E+03 3.80000000E+01 -2.18237668482667E+03 4.00000000E+01 -2.18239923089573E+03 4.20000000E+01 -2.18241955706857E+03 4.40000000E+01 -2.18244775901834E+03 4.60000000E+01 -2.18248714583389E+03 4.80000000E+01 -2.18253519502611E+03 5.00000000E+01 -2.18258901301065E+03 5.20000000E+01 -2.18264245486986E+03 5.40000000E+01 -2.18269485143783E+03 5.60000000E+01 -2.18274313138312E+03 5.80000000E+01 -2.18278585826504E+03 画图如下: 500){this.resized=true;this.style.width=500;}" border=0 resized="true"> 可以看到当Ecut取40 Ha时,体系的总能有很好的收敛了。
下面测试对k点网格的,in.files的输入文件同上。我们这里把k点网格从6x6x6开始增加,以2x2x2递增。INP的输入文件: # Crystalline ZrO2-cubic
ndtset 10 ngkpt: 6 6 6 ngkpt+ 2 2 2
#Definition of the unit cell acell 3*9.65285 rprim 0.0 0.5 0.5 0.5 0.0 0.5 0.5 0.5 0.0
#Definition of the atom types ntypat 2 znucl 40 8 natom 3 typat 1 2*2 xred 0.00 0.000 0.000 0.25 0.25 0.25 0.75 0.75 0.75
#Definition of the k-point grid kptopt 1
#ngkpt 8 8 8 nshiftk 4
shiftk 0.5 0.5 0.5 0.5 0.0 0.0 0.0 0.5 0.0 0.0 0.0 0.5
#Definition of the SCF procedure ecut 40.0 iscf 5 toldfe 1.0d-10 diemac 3.0 nstep 60
#Definition of the outfile information prtwf 0 运行 abinis OUT& 计算完后对OUT进行分析, grep 'ngkpt' OUT >comment grep 'Total energy(eV)' OUT >>comment 取出得到的数据如下: 28.0000 -2182.416564 60.0000 -2182.416514 110.0000 -2182.416506 182.0000 -2182.416526 280.0000 -2182.416499 408.0000 -2182.416512 570.0000 -2182.416506 770.0000 -2182.416514 1012.0000 -2182.416515 1300.0000 -2182.416504 画图如下: 500){this.resized=true;this.style.width=500;}" border=0 resized="true"> 可以看到8x8x8的k点网格就能保证体系的总能很好的收敛了。
| |
你可以通过这个链接引用该篇文章:
阅读(2802) | 评论(0) | 转发(0) |