如何用VASP计算晶格常数
VASP参数设置详解(精)
![VASP参数设置详解(精)](https://img.taocdn.com/s3/m/f940ea98bceb19e8b8f6bab0.png)
VASP参数设置详解计算材料2010-11-30 20:11:32 阅读197 评论0 字号:大中小订阅转自小木虫,略有增减软件主要功能:采用周期性边界条件(或超原胞模型)处理原子、分子、团簇、纳米线(或管)、薄膜、晶体、准晶和无定性材料,以及表面体系和固体l 计算材料的结构参数(键长、键角、晶格常数、原子位置等)和构型l 计算材料的状态方程和力学性质(体弹性模量和弹性常数)l 计算材料的电子结构(能级、电荷密度分布、能带、电子态密度和ELF)l 计算材料的光学性质l 计算材料的磁学性质l 计算材料的晶格动力学性质(声子谱等)l 表面体系的模拟(重构、表面态和STM模拟)l 从头分子动力学模拟l 计算材料的激发态(GW准粒子修正)计算主要的四个参数文件:INCAR ,POSCAR,POTCAR ,KPOINTS,下面简要介绍,详细权威的请参照手册INCAR文件:该文件控制VASP进行何种性质的计算,并设置了计算方法中一些重要的参数,这些参数主要包括以下几类:对所计算的体系进行注释:SYSTEM●定义如何输入或构造初始的电荷密度和波函数:ISTART,ICHARG,INIWA V●定义电子的优化–平面波切断动能和缀加电荷时的切断值:ENCUT,ENAUG–电子部分优化的方法:ALGO,IALGO,LDIAG–电荷密度混合的方法:IMIX,AMIX,AMIN,BMIX,AMIX_MAG,BMIX_MAG,WC,INIMIX,MIXPRE,MAXMIX–自洽迭代步数和收敛标准:NELM,NELMIN,NELMDL,EDIFF●定义离子或原子的优化–原子位置优化的方法、移动的步长和步数:IBRION,NFREE,POTIM,NSW–分子动力学相关参数:SMASS,TEBEG,TEEND,POMASS,NBLOCK,KBLOCK,PSTRESS–离子弛豫收敛标准:EDIFFG●定义态密度积分的方法和参数–smearing方法和参数:ISMEAR,SIGMA–计算态密度时能量范围和点数:EMIN,EMAX,NEDOS–计算分波态密度的参数:RWIGS,LORBIT●其它–计算精度控制:PREC–磁性计算:ISPIN,MAGMOM,NUPDOWN–交换关联函数:GGA,VOSKOWN–计算ELF和总的局域势:LELF,LVTOT–结构优化参数:ISIF–等等。
采用VASP如何计算晶体的弹性常数
![采用VASP如何计算晶体的弹性常数](https://img.taocdn.com/s3/m/1573d5ea6294dd88d0d26ba4.png)
5
3
ISMEAR = 0; SIGMA = 0.2 NSW = 60; IBRION = 2 EDIFF = 1E-5 EDIFFG = -1E-2 ISIF = 2 POTIM = 0.2 PREC = Accurate LWAVE = .FALSE.
4
3
strten(1,2)=0.5*strain(6) strten(1,3)=0.5*strain(5) strten(2,1)=0.5*strain(6) strten(2,2)=strain(2)+1.0 strten(2,3)=0.5*strain(4) strten(3,1)=0.5*strain(5) strten(3,2)=0.5*strain(4) strten(3,3)=strain(3)+1.0 C%%%%%%%%% Transform the primitive vector to the new vector under strain%%%%% C strvect(i,j)=privect(i,j)*(I+strten(i,j)) do k=1,3 do i=1,3 strvect(i,k)=0.0 do j=1,3 strvect(i,k)=strvect(i,k)+privect(i,j)*strten(j,k) enddo enddo enddo C%%%%%%%% Write the new vector under strain%%%%%%%%%%%% do i=1,3 write(*,100)(strvect(i,j),j=1,3) enddo 100 format(3f20.15) C%%%%%%%%% Create the POSCAR for total energy calculation %%%%%%%%%%%%%%5 write(3,’(A10)’) title write(3,’(f15.10)’) alat do i=1,3 write(3,100)(strvect(i,j),j=1,3) enddo write(3,’(10I4)’) (natomi(i), i=1,ntype) write(3,’(A6)’) Direct do i=1, nn write(3,100) (pos(i,j),j=1,3) enddo C%%%%%%% end
VASP计算实例
![VASP计算实例](https://img.taocdn.com/s3/m/ae11d004a300a6c30c229f97.png)
VASP计算实例目录一、氢气分子H2键长的计算 (3)1.基本文件 (3)2.赝势类型的选择 (3)3.截断能ENCUT参数的选择 (4)4.KPOINTS参数选择 (5)5.对晶格常数进行优化 (6)二、Si晶体晶格常数计算 (8)1.赝势类型选择 (8)2.截断能(ENCUT)参数的选定 (9)3.KPOINTS参数的选定 (11)4.SIGMA参数的选定 (12)5.晶格常数计算结果 (13)三、Si元素单原子能量计算 (14)1.由内聚能倒推单原子能量 (14)2.基本文件 (15)3.单原子能量计算 (15)四、Si的VASP力学常数计算 (16)1.计算所需文件 (16)2.计算与数据处理 (17)3.计算所用到的公式: (18)五、SI晶体的电子结构 (19)1.采用VASP计算能带的步骤 (19)2.电荷分布计算结果 (20)能带计算和结果 (21)3.态密度计算和结果 (21)六、Si晶体介电函数和光学性质的计算 (22)1.计算步骤 (22)2.用到的文件 (23)3.计算结果 (26)七、VASP的声子谱计算 (29)1.计算步骤 (29)2.基本文件 (30)3.声子谱、声子态密度计算和结果 (33)4.热学性质计算和结果 (34)八、化合物co2键长计算 (35)1.计算步骤 (35)2.基本文件 (35)一、氢气分子H2键长的计算1.基本文件准备基本文件INCAR、POTCAR、POSCAR、KPOINT以及脚本文件encut、k、optimize2.赝势类型的选择输入文件如下其中参数要靠经验初选INCAR:System = F2ISTART = 0ICHARG = 2NELMDL = 5ISMEAR = 0SIGMA = 0.1PREC = AccurateKPOINTS:Automatic meshM1 1 10 0 0POSCAR:O115.0 0.00 0.000.00 14.0 0.000.00 0.00 13.01D0.00 0.00 0.00分别选用五个贋势文件进行计算。
侯柱峰-vasp计算晶体弹性常数
![侯柱峰-vasp计算晶体弹性常数](https://img.taocdn.com/s3/m/e92699381611cc7931b765ce0508763231127420.png)
侯柱峰-vasp计算晶体弹性常数引言晶体弹性常数是描述晶体材料力学性质的重要参数之一,对于理解材料的力学行为和设计新材料具有重要意义。
在材料科学领域中,计算晶体弹性常数的方法多种多样,其中基于第一性原理的计算方法得到了广泛的应用和认可。
本文将介绍侯柱峰等人在VASP软件包中计算晶体弹性常数的方法和步骤。
VASP简介VASP(Vienna Ab-initio Simulation Package)是一款基于密度泛函理论(DFT)的第一性原理计算软件包,由维也纳大学的J. Hafner教授及其团队开发。
VASP以固体物理和材料科学为核心,广泛应用于研究材料的电子结构、力学性质、热力学性质等方面。
VASP计算晶体弹性常数的方法1. 结构优化在计算晶体弹性常数之前,首先需要通过VASP进行结构优化。
结构优化的目的是找到晶体的平衡结构,使得能量最低。
在结构优化过程中,需要设定材料的晶格参数、原子种类和初始位置等参数,并设置计算的精度和收敛标准。
2. 弹性常数计算前的准备在进行弹性常数计算之前,需要对结构进行静力学计算,即计算晶体的内部应力状态。
为此,需要在INCAR文件中设置一些相关的参数,例如选用的泛函类型、截断能等。
3. 弹性常数计算在进行弹性常数计算之前,需要在INCAR文件中添加以下参数:ISTART = 1ICHARG = 2ENCUT = 520ISYM = 0ISMEAR = 0然后运行VASP进行弹性常数的计算。
计算完成后,可以得到弹性常数矩阵,其中包括36个元素,分别对应不同的弹性常数。
4. 弹性常数的后处理在得到弹性常数矩阵之后,需要进行一些后处理来得到弹性常数的具体数值。
这一步可以使用第三方软件进行,例如使用MATLAB来计算并提取需要的弹性常数。
结论侯柱峰等人在VASP软件包中提供了一种计算晶体弹性常数的方法,可以方便而准确地得到晶体的力学性质。
这种方法基于第一性原理,充分考虑了材料的电子结构和原子之间的相互作用,具有很高的可靠性和适用性。
VASP计算有限温度下的晶格常数
![VASP计算有限温度下的晶格常数](https://img.taocdn.com/s3/m/ece3d63bc4da50e2524de518964bcf84b9d52d8a.png)
VASP计算有限温度下的晶格常数一般VASP算得的晶格常数是在0k下的,现在如果要算300k下的晶格常数,用VASP可否实现。
一种近似是认为二者一样。
反正是在常温常压下,距离熔点很远。
一般来说,VASP计算不能加上温度,除非是做分子动力学的计算,来模拟固定在一定温度下稳定性。
要计算高温下固体的能量和晶格常数、体积,可以计算出不同晶格常数(也就是体积)固体的声子振动频率,再得到自由能,利用F(V)的关系得到在某一个温度下的平衡体积。
(这种办法是一种准谐近似),PRB 上面有很多类似的文章。
有人会问:(1)既然涉及到温度都只能是MD了,为何还能计算高温下的声子振动频率?答:这是因为MD计算也能求解出声子的振动频率,这个在Rev.Mod.Phys.2001的一篇文章就有提到。
(2)得到声子的振动频率在VASP中是设定IBRION=5,但是只能计算Gama 点的振动频率,你的意思是计算Gama点的频率?答:VASP可以任何k点的声子振动频率,不局限于Gamma点。
手册上有提到的,要计算其他非Gamm点的频率需利用一个PHONON的程序。
(3)用VASP计算后的OSZICAR中就直接输出自由能呀!为何还通过计算声子频率再得到自由能呢?怎样得到的呢?答:VASP输出的自由能只是电子部分的,非原子的自由能。
看看VASP 在comput.mat.sci.上面的一篇文章就知道了vasp的理论基础。
G. Kresse and J. Furthmüller, "Efficiency of ab-initio total energy calculations for metals and semiconductors using a plane-wave basis set", Comput. Mat. Sci. 6, 15-50 (1996).如果希望采用准谐近似来计算热学性质,可以参看这样的一篇文章(尽管是对金属单质体系的)PHYSICAL REVIEW B, VOLUME 65, 064302,2002 Ab initiocalculation of the thermal properties of Cu: Performance of the LDA and GGA。
VASP计算能带
![VASP计算能带](https://img.taocdn.com/s3/m/730fd809bb68a98271fefaf2.png)
VASP计算能带量子化学网版权所有/Experience/CommonSoftwares/VASP/Electroni cCalc/200602/1043.htmlVASP Version : 4.6在此文中,我将用硅晶体作为实例,来说明如何用VASP4.6来计算固体的能带结构。
首先我们要了解晶体硅的结构,它是两个嵌套在一起的FCC布拉菲晶格,相对的位置为(a/4,a/4,a/4), 其中a=5.4A是大的正方晶格的晶格常数。
在计算中,我们采用FCC的原胞,每个原胞里有两个硅原子。
VASP计算需要以下的四个文件:INCAR(控制参数), KPOINTS(倒空间撒点), POSCAR (原子坐标), POTCAR(赝势文件)为了计算能带结构,我们首先要进行一次自洽计算,得到体系正确的基态电子密度。
然后固定此电荷分布,对于选定的特殊的K点进一步进行非自洽的能带计算。
有了需要的K点的能量本征值,也就得到了我们所需要的能带。
步骤一.—自洽计算产生正确的基态电子密度:以下是用到的各个文件样本:INCAR 文件:SYSTEM = SiStartparameter for this run:NWRITE = 2; LPETIM=F write-flag & timerPREC = medium medium, high lowISTART = 0 job : 0-new 1-cont 2-samecutICHARG = 2 charge: 1-file 2-atom 10-constISPIN = 1 spin polarized calculation?Electronic Relaxation 1NELM = 90; NELMIN= 8; NELMDL= 10 # of ELM stepsEDIFF = 0.1E-03 stopping-criterion for ELMLREAL = .FALSE. real-space projectionIonic relaxationEDIFFG = 0.1E-02 stopping-criterion for IOMNSW = 0 number of steps for IOMIBRION = 2 ionic relax: 0-MD 1-quasi-New 2-CGISIF = 2 stress and relaxationPOTIM = 0.10 time-step for ionic-motionTEIN = 0.0 initial temperatureTEBEG = 0.0; TEEND = 0.0 temperature during runDOS related values:ISMEAR = 0 ; SIGMA = 0.10 broadening in eV -4-tet -1-fermi 0-gaus Electronic relaxation 2 (details)Write flagsLWAVE = T write WAVECARLCHARG = T write CHGCARVASP给INCAR文件中的很多参数都设置了默认值,所以如果你对参数不熟悉,可以直接用默认的参数值。
vasp计算参数设置
![vasp计算参数设置](https://img.taocdn.com/s3/m/adfc2ff827fff705cc1755270722192e44365856.png)
vasp计算参数设置软件主要功能:采用周期性边界条件(或超原胞模型)处理原子、分子、团簇、纳米线(或管)、薄膜、晶体、准晶和无定性材料,以及表面体系和固体l 计算材料的结构参数(键长、键角、晶格常数、原子位置等)和构型l 计算材料的状态方程和力学性质(体弹性模量和弹性常数)l 计算材料的电子结构(能级、电荷密度分布、能带、电子态密度和ELF)l 计算材料的光学性质l 计算材料的磁学性质l 计算材料的晶格动力学性质(声子谱等)l 表面体系的模拟(重构、表面态和STM模拟)l 从头分子动力学模拟l 计算材料的激发态(GW准粒子修正)计算主要的四个参数文件:INCAR ,POSCAR,POTCAR ,KPOINTS,下面简要介绍,详细权威的请参照手册INCAR文件:该文件控制VASP进行何种性质的计算,并设置了计算方法中一些重要的参数,这些参数主要包括以下几类:l 对所计算的体系进行注释:SYSTEMl 定义如何输入或构造初始的电荷密度和波函数:ISTART,ICHARG,INIWA Vl 定义电子的优化–平面波切断动能和缀加电荷时的切断值:ENCUT,ENAUG–电子部分优化的方法:ALGO,IALGO,LDIAG–电荷密度混合的方法:IMIX,AMIX,AMIN,BMIX,AMIX_MAG,BMIX_MAG,WC,INIMIX,MIXPRE,MAXMIX–自洽迭代步数和收敛标准:NELM,NELMIN,NELMDL,EDIFFl 定义离子或原子的优化–原子位置优化的方法、移动的步长和步数:IBRION,NFREE,POTIM,NSW–分子动力学相关参数:SMASS,TEBEG,TEEND,POMASS,NBLOCK,KBLOCK,PSTRESS–离子弛豫收敛标准:EDIFFGl 定义态密度积分的方法和参数–smearing方法和参数:ISMEAR,SIGMA–计算态密度时能量范围和点数:EMIN,EMAX,NEDOS–计算分波态密度的参数:RWIGS,LORBITl 其它–计算精度控制:PREC–磁性计算:ISPIN,MAGMOM,NUPDOWN–交换关联函数:GGA,VOSKOWN–计算ELF和总的局域势:LELF,LVTOT–结构优化参数:ISIF–等等。
材料计算vasp 程序
![材料计算vasp 程序](https://img.taocdn.com/s3/m/87d73d8f02d276a200292ef7.png)
用VASP计算H原子的能量氢原子的能量为。
在这一节中,我们用VASP计算H原子的能量。
对于原子计算,我们可以采用如下的INCAR文件PREC=ACCURATE:NELMDL = 5 make five delays catill charge mixingISMEAR = 0; SIGMA=0.05 use smearing method采用如下的KPOINTS文件。
由于增加K点的数目只能改进描述原子间的相互作用,而在单原子计算中并不需要。
所以我们只需要一个K点。
Monkhorst Pack 0 Monkhorst Pack1 1 10 0 0采用如下的POSCAR文件atom 115.00000 .00000 .00000.00000 15.00000 .00000.00000 .00000 15.000001cart0 0 0采用标准的H的POTCAR得到结果如下:k-point 1 : 0.0000 0.0000 0.0000band No. band energies occupation1 -6.3145 1.000002 -0.0527 0.000003 0.4829 0.000004 0.4829 0.00000我们可以看到,电子的能级不为。
Free energy of the ion-electron system (eV)---------------------------------------------------alpha Z PSCENC = 0.00060791Ewald energy TEWEN = -1.36188267-1/2 Hartree DENC = -6.27429270-V(xc)+E(xc) XCENC = 1.90099128PAW double counting = 0.00000000 0.00000000entropy T*S EENTRO = -0.02820948eigenvalues EBANDS = -6.31447362atomic energy EATOM = 12.04670449---------------------------------------------------free energy TOTEN = -0.03055478 eVenergy without entropy = -0.00234530 energy(sigma->0) = -0.01645004我们可以看到也不等于。
VASP全参数设置详解
![VASP全参数设置详解](https://img.taocdn.com/s3/m/84fa9addec3a87c24128c455.png)
VASP参数设置详解软件主要功能:采用周期性边界条件(或超原胞模型)处理原子、分子、团簇、纳米线(或管)、薄膜、晶体、准晶和无定性材料,以及表面体系和固体l 计算材料的结构参数(键长、键角、晶格常数、原子位置等)和构型l 计算材料的状态方程和力学性质(体弹性模量和弹性常数)l 计算材料的电子结构(能级、电荷密度分布、能带、电子态密度和ELF)l 计算材料的光学性质l 计算材料的磁学性质l 计算材料的晶格动力学性质(声子谱等)l 表面体系的模拟(重构、表面态和STM模拟)l 从头分子动力学模拟l 计算材料的激发态(GW准粒子修正)计算主要的四个参数文件:INCAR ,POSCAR,POTCAR ,KPOINTS,下面简要介绍,详细权威的请参照手册INCAR文件:该文件控制VASP进行何种性质的计算,并设置了计算方法中一些重要的参数,这些参数主要包括以下几类:对所计算的体系进行注释:SYSTEM定义如何输入或构造初始的电荷密度和波函数:ISTART,ICHARG,INIWAV定义电子的优化–平面波切断动能和缀加电荷时的切断值:ENCUT,ENAUG–电子部分优化的方法:ALGO,IALGO,LDIAG–电荷密度混合的方法:IMIX,AMIX,AMIN,BMIX,AMIX_MAG,BMIX_MAG,WC,INIMIX,MIXPRE,MAXMIX–自洽迭代步数和收敛标准:NELM,NELMIN,NELMDL,EDIFF定义离子或原子的优化–原子位置优化的方法、移动的步长和步数:IBRION,NFREE,POTIM,NSW –分子动力学相关参数:SMASS,TEBEG,TEEND,POMASS,NBLOCK,KBLOCK,PSTRESS–离子弛豫收敛标准:EDIFFG定义态密度积分的方法和参数–smearing方法和参数:ISMEAR,SIGMA–计算态密度时能量范围和点数:EMIN,EMAX,NEDOS–计算分波态密度的参数:RWIGS,LORBIT其它–计算精度控制:PREC–磁性计算:ISPIN,MAGMOM,NUPDOWN–交换关联函数:GGA,VOSKOWN–计算ELF和总的局域势:LELF,LVTOT–结构优化参数:ISIF–等等。
如何用VASP计算晶格常数
![如何用VASP计算晶格常数](https://img.taocdn.com/s3/m/2448b14e77c66137ee06eff9aef8941ea76e4bad.png)
如何用VASP计算晶格常数VASP是一款常用的第一性原理计算软件,可用于计算各种物理和化学性质,包括晶格常数。
本文将通过详细的步骤指导如何使用VASP计算晶格常数。
1.准备工作:在使用VASP计算晶格常数之前,需要准备以下文件:-INCAR文件:包含所有计算参数的输入文件。
- POSCAR文件:包含体系的原子坐标和晶格常数的输入文件。
可以使用外部软件生成,例如Materials Studio、VESTA等。
-POTCAR文件:包含原子势能信息的文件。
-KPOINTS文件:用于定义k点网格,用于计算能带结构。
可以使用自动生成工具进行生成。
2.设置INCAR文件:打开INCAR文件,设置以下参数:-ENCUT:截断能。
一种势能截断参数,对计算结果影响较大。
可通过多次计算逐渐增大其值,直到结果收敛为止。
- ISMEAR:用于定义电子占据数的方法。
常用的选项有Gaussian和Methfessel-Paxton。
- SIGMA:在使用ISMEAR选项为Gaussian时,用于定义宽度的参数。
一般选择小于0.2 eV。
- PREC:定义计算的精度级别。
常用的设置有Low、Normal和High。
-NSW:定义离子进行多少步的迭代。
-ISTART和ICHARG:对于初始的计算,将其设置为0。
-EDIFF:收敛判据。
设置一个合适的值,使得计算结果收敛。
3.设置POSCAR文件:打开POSCAR文件,设置晶体的结构参数。
可以手动输入原子的坐标,或者复制其他软件生成的文件内容。
4.设置POTCAR文件:在VASP的安装目录中,找到POTCAR文件夹,并将需要使用的原子势能文件复制到当前工作目录中。
注意保持POTCAR文件的顺序和POSCAR文件中原子的顺序一致。
5.设置KPOINTS文件:打开KPOINTS文件,在其中设置k点的信息。
k点的密度对计算结果的精度有一定影响,可以根据具体需求进行调整。
在这里,我们将只计算晶格常数,因此可以选择较低的k点密度。
VASP计算方法
![VASP计算方法](https://img.taocdn.com/s3/m/d0dd592e7cd184254b3535ef.png)
V ASP计算方法总结1 静态计算计算方法:IBRION = -1NSW = 02 结构优化计算方法:①只进行离子弛豫IBRION = 2ISIF = 2②块体晶格参数优化IBRION = 2ISIF = 3③二维材料晶格参数优化3 表面能计算方法:1) 块体晶体晶格参数优化;静态计算;得能量Eb 2) 优化的块体切slab ;静态计算;得Es1 3) 将slab 模型离子弛豫;静态计算;得Es24) γ = (Es1 – N *(Eb / n ))/ 2A + (Es2 – Es1)/ A 计算步骤:4 功函数计算方法:1) 块体晶格参数优化;切slab 模型;离子弛豫 2) 修改INCAR (LVHAR = .TRUE.);静态计算 3) W = Ve - EF表面能1strustatic2slab 3optislabstatic计算步骤:5 吸附能计算方法:1) 块体和二维材料(D)晶格参数优化 2) 块体切slab ;构建slab 吸附模型3) slab 吸附模型去slab ;二维材料离子弛豫;静态计算 4) slab 吸附模型去二维材料;slab 离子弛豫;静态计算 5) slab 吸附模型离子弛豫;静态计算 6) E abs = E metal-D – E metal – E D 计算步骤:表面能1strustatic2slab3optislabstaticworkfunction吸附能1strustatic 2slab static 3slabDstatic6 差分电荷密度计算方法: 1) 完成吸附能计算2) Slab 吸附模型静态计算时得ρab3) Slab 吸附模型CONTCAR 去slab ;二维材料静态计算得ρa 4) Slab 吸附模型CONTCAR 去二维材料;slab 静态计算得ρb 5) △ρ = ρab – ρa – ρb 计算步骤:7 DOS计算方法: 1) 模型优化完成2) 自洽计算得到CHGCAR (DOS 文件夹下) ISMEAR = -5 LCHARG = .TRUE.吸附能1strustatic 2slabstatic3slabD staticDchargeslabcharge小密度k点(总k点>4)3)非自洽计算得到vasprun.xml(PDOS文件夹下)ISMEAR = -5ISTART = 1ICHARG = 11LORBIT = 11NEDOS = 1000大密度k点计算步骤:DOS PDOS8 能带计算计算方法:1)模型优化完成2)自洽计算得到CHGCAR(同上)ISMEAR = -5LCHARG = .TRUE.小密度k点(总k点>4)3)非自洽计算得到vasprun.xml(BAND文件下)a)INCARISMEAR ≠-5ISTART = 1ICHARG = 11LORBIT = 11NEDOS = 1000大密度k点NBANDS可适当增大b)KPOINTS写syml文件(用pand.x时,E-fermi得重写);gk.x一下计算步骤:DOS PDOS BAND。
VASP参数设置详解
![VASP参数设置详解](https://img.taocdn.com/s3/m/b3fb32d71a37f111f0855b00.png)
VASP参数设置详解软件主要功能:采用周期性边界条件(或超原胞模型)处理原子、分子、团簇、纳米线(或管)、薄膜、晶体、准晶和无定性材料,以及表面体系和固体l 计算材料的结构参数(键长、键角、晶格常数、原子位置等)和构型l 计算材料的状态方程和力学性质(体弹性模量和弹性常数)l 计算材料的电子结构(能级、电荷密度分布、能带、电子态密度和ELF)l 计算材料的光学性质l 计算材料的磁学性质l 计算材料的晶格动力学性质(声子谱等)l 表面体系的模拟(重构、表面态和STM模拟)l 从头分子动力学模拟l 计算材料的激发态(GW准粒子修正)计算主要的四个参数文件:INCAR ,POSCAR,POTCAR ,KPOINTS,下面简要介绍,详细权威的请参照手册INCAR文件:该文件控制VASP进行何种性质的计算,并设置了计算方法中一些重要的参数,这些参数主要包括以下几类:●对所计算的体系进行注释:SYSTEM●定义如何输入或构造初始的电荷密度和波函数:ISTART,ICHARG,INIWAV●定义电子的优化–平面波切断动能和缀加电荷时的切断值:ENCUT,ENAUG–电子部分优化的方法:ALGO,IALGO,LDIAG–电荷密度混合的方法:IMIX,AMIX,AMIN,BMIX,AMIX_MAG,BMIX_MAG,WC,INIMIX,MIXPRE,MAXMIX–自洽迭代步数和收敛标准:NELM,NELMIN,NELMDL,EDIFF●定义离子或原子的优化–原子位置优化的方法、移动的步长和步数:IBRION,NFREE,POTIM,NSW –分子动力学相关参数:SMASS,TEBEG,TEEND,POMASS,NBLOCK,KBLOCK,PSTRESS–离子弛豫收敛标准:EDIFFG●定义态密度积分的方法和参数–smearing方法和参数:ISMEAR,SIGMA–计算态密度时能量范围和点数:EMIN,EMAX,NEDOS–计算分波态密度的参数:RWIGS,LORBIT●其它–计算精度控制:PREC–磁性计算:ISPIN,MAGMOM,NUPDOWN–交换关联函数:GGA,VOSKOWN–计算ELF和总的局域势:LELF,LVTOT–结构优化参数:ISIF–等等。
vasp弹性常数计算过程[精彩]
![vasp弹性常数计算过程[精彩]](https://img.taocdn.com/s3/m/3c7ba60ca9114431b90d6c85ec3a87c240288adc.png)
按照HfN的NaCl结构,弛豫结果:K点最优是21*21*21,ENCUT取550eV,sigma取0.2,EV优化的结果也很理想,最优体积为23.28854892,换算之后,晶格常数是4.533457483,与参考文献一致。
对原来的晶格基矢矩阵做形变[e=(r,r,r,0,0,0)],把形变后的矩阵(矩阵换算规则:R’=R*(δ+e))代替原矩阵放到POSCAR中:000#!/bin/sh#PBS -N vasp#PBS -j oe#PBS -l nodes=1:ppn=12cd ${PBS_O_WORKDIR}source /public/software/profile.d/intel-env.shsource /public/software/profile.d/openmpi-intel-env.shechoecho "Starting V ASP run at" `date`echomaster=`hostname`echo "The job submission node is $master"echo "The working directory is " ${PBS_O_WORKDIR}echo "V ASP input file is" ${PBS_O_WORKDIR}/${inputfile}echoecho "V ASP execution start at" `date`echohostname > grep 'Linux' /etc/issue >> grep 'model name' /proc/cpuinfo |cut -d: -f2 |uniq -c >> grep 'cpu M' /proc/cpuinfo >> grep 'MemTotal' /proc/meminfo >> free -g >> ulimit -a >> cat $PBS_NODEFILE >> NP=`cat $PBS_NODEFILE | wc -l`#################################################################rm W A VECAR 2>/dev/nullechofor i in -0.02 -0.018 -0.016 -0.014 -0.012 -0.01 -0.008 -0.006 -0.004 -0.002 0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02; dok=`echo $i | awk '{printf"%.7f",$i*0.5+0.5}'`cat > POSCAR <<!Cubic HfN4.533357680.000000000000000 $k $k 原始矩阵:0 0.5 0.5$k 0.000000000000000 $k 0.5 0 0.5$k $k 0.000000000000 0.5 0.5 01 1Direct0.00000000 0.00000000 0.000000000.50000000 0.50000000 0.50000000!cd /home/yjhao/chenlongqing/r/r1mpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=$i $E" >> TOTALcp CONTCAR POSCAR.$icp OUTCAR OUTCAr.$idonecp INCAR.static INCARcp POSCAR.-0.02 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=-0.02 $E" >> TOTANcp POSCAR.-0.018 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=-0.018 $E" >> TOTANcp POSCAR.-0.016 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=-0.016 $E" >> TOTANcp POSCAR.-0.014 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=-0.014 $E" >> TOTANcp POSCAR.-0.012 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=-0.012 $E" >> TOTANcp POSCAR.-0.01 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outcp POSCAR.-0.008 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=-0.008 $E" >> TOTANcp POSCAR.-0.006 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=-0.006 $E" >> TOTANcp POSCAR.-0.004 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=-0.004 $E" >> TOTANcp POSCAR.-0.002 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=-0.002 $E" >> TOTANcp POSCAR.0 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=0 $E" >> TOTANcp POSCAR.0.002 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=0.002 $E" >> TOTANcp POSCAR.0.004 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=0.004 $E" >> TOTANcp POSCAR.0.006 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=0.006 $E" >> TOTANcp POSCAR.0.008 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=0.008 $E" >> TOTANcp POSCAR.0.01 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=0.01 $E" >> TOTANcp POSCAR.0.012 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outcp POSCAR.0.014 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=0.014 $E" >> TOTANcp POSCAR.0.016 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=0.016 $E" >> TOTANcp POSCAR.0.018 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=0.018 $E" >> TOTANcp POSCAR.0.02 POSCARmpirun -np $NP-machinefile $PBS_NODEFILE --mca btl self,sm,tcp -bind-to-core numactl --localalloc /public/software/vasp5.2/vasp >outE=`grep F= OSZICAR` ; echo "r=0.02 $E" >> TOTAN############################################################################### ##########3exit 0相对应的,TOTAN文件的内容如下:r=-0.02 1 F= -.21835920E+02 E0= -.21835920E+02 d E =0.000000E+00r=-0.018 1 F= -.21837975E+02 E0= -.21837975E+02 d E =0.000000E+00r=-0.016 1 F= -.21839808E+02 E0= -.21839808E+02 d E =0.000000E+00r=-0.014 1 F= -.21841417E+02 E0= -.21841417E+02 d E =0.000000E+00r= -0.012 1 F= -.21842791E+02 E0= -.21842791E+02 d E =0.000000E+00r= -0.01 1 F= -.21843936E+02 E0= -.21843936E+02 d E =0.000000E+00r=-0.008 1 F= -.21844865E+02 E0= -.21844865E+02 d E =0.000000E+00r=-0.006 1 F= -.21845578E+02 E0= -.21845578E+02 d E =0.000000E+00r=-0.004 1 F= -.21846085E+02 E0= -.21846085E+02 d E =0.000000E+00r=-0.002 1 F= -.21846387E+02 E0= -.21846387E+02 d E =0.000000E+00r=0 1 F= -.21846497E+02 E0= -.21846497E+02 d E =0.000000E+00r=0.002 1 F= -.21846390E+02 E0= -.21846390E+02 d E =0.000000E+00r=0.004 1 F= -.21846095E+02 E0= -.21846095E+02 d E =0.000000E+00r=0.006 1 F= -.21845602E+02 E0= -.21845602E+02 d E =0.000000E+00r=0.008 1 F= -.21844905E+02 E0= -.21844905E+02 d E =0.000000E+00r=0.01 1 F= -.21843996E+02 E0= -.21843996E+02 d E =0.000000E+00r=0.012 1 F= -.21842878E+02 E0= -.21842878E+02 d E =0.000000E+00r=0.014 1 F= -.21841544E+02 E0= -.21841544E+02 d E =0.000000E+00r=0.016 1 F= -.21840003E+02 E0= -.21840003E+02 d E =0.000000E+00r=0.018 1 F= -.21838261E+02 E0= -.21838261E+02 d E =0.000000E+00r=0.02 1 F= -.21836314E+02 E0= -.21836314E+02 d E =0.000000E+00将TOTAN中的r和E0提取出来,再用Origin来做拟合(阶数选4,提高精度)可以看到,B2结果是25.228367816,带入下式:V0=23.29163453C44=2B2*160.2/3V计算结果是C44=115,与文献数据相符同理,施加形变e=(0,0,0,r,r,r)和e=(r,r,0,0,0),大体类似,改变的只是变换后的矩阵,分别是:0.00 $k $k$k 0.0 $k$k $k 0.00和0.00 $k 0.50$k 0.0 0.50$k $k 0.00分别将TOTAN文件里面的能量提出,并且转换成,代入Origin里面进行拟合,得到的B2分别是186.4783989和106.79144这样计算之后:C11+2C12=855(这个数据除以3应等于B0,根据EOS拟合,B0=285,完全符合), C11+C12=734最后得出:C11=613,C12=121,C44=115与参考文献一致:。
VASP单机操作流程(以Ni111表面为例)
![VASP单机操作流程(以Ni111表面为例)](https://img.taocdn.com/s3/m/27e00bb984868762caaed5cf.png)
八,能带计算(bands):
建立bands文件夹,输入命令:mkdir bands
将KPOINTS INCAR POSCAR POTCAR CHG CHGCAR WAVECAR复制到bands文件夹中,
计算完成后,输入命令:cat Etot.dat查看结果。如同截断能的优化一样,根据要求选择合适的K点。(在此我选择17)
四,优化晶格常数:
在优化晶格常数时,是对比例系数的优化,不能使用绝对值。一般在试验值的左右各取一些值,根据要求选择最合适的晶格常数。计算过程和上两步类似。
Cp En . sh POS . sh(为方便使用格式)
打开终端,编辑K点文件KPOINTS(在此使用自动生成的方法)。
Cat >KPOINTS<<!
>A
>0
>7 7 1
>0 0 0
>!
保存退出。
二,优化截断能:
优化过程的脚本为:
#!/bash/sh
for i in 200 250 300 350 400 450 500 550 600
do
cat >INCAR<<!
(其它内容省略)
(保存退出)
建立relax文件夹:mkdir relax
将CHG CHGCAR WAVECAR INCAR POSCAR KPOINTS POTCAR复制到该文件夹:
Cp CHG CHGCAR WAVECAR INCAR POSCAR KPOINTS POTCAR relax
则在relax文件夹下运行命令;
输入命令:vi INCAR
初学VASP(三)_描述原子坐标
![初学VASP(三)_描述原子坐标](https://img.taocdn.com/s3/m/8cf231c508a1284ac850432d.png)
初学VASP(三) 描述原子坐标初学VASP(三) 描述原子坐标POSCAR = position + CAR第1行:任意文字注释第2行:晶格常数,单位A,后面所有的长度值得自原值除以此值a=b=c时取a即可,否则个人习惯取三者最大若取负值,则为晶胞体积,单位A3第3-5行:定义晶矢参见《固体量子化学——材料化学的理论基础》赵成大如对于正交晶体a=20.022 b=19.899 c=13.383 α=β=γ=90可以这样定义20.0221.00000 0.00000 0.000000.00000 0.99386 0.000000.00000 0.00000 0.66841又如对于面心立方晶体 a=b=c=3.57 α=β=γ=90可以定义如下3.570.0 0.5 0.5 (1/2(b+c))0.5 0.0 0.5 (1/2(a+c))0.5 0.5 0.0 (1/2(a+b))第6行:每种元素的原子数,特别注意顺序,要与下面的坐标顺序以及POTCAR中的顺序一致第7行:可省略,无需空行。
做动力学时,是否需要固定部分离子的坐标。
若是,此行以'S'或者's'首字即可。
第8行开始为离子的坐标,格式为option linecoordinate1 of element1coordinate2 of element1...coordinateN of element1option linecoordinate1 of element2coordinate2 of element2...coordinateM of element2...其中,option line指定输入坐标的格式,除了第一个以外,如果后面的输入格式同前,则都可以无空行省略。
option line可指定的输入坐标格式有两种'D'or'd' for direct mode'C'or'c'or'K'or'k' for cartesian mode顾名思义,前者是定义在三个晶矢方向上的坐标R=R1×x+R2×y+R3×z R1,R2,R3为前面的晶矢,x,y,z为输入的三个坐标,R为坐标位矢而后者只是简单的将直角坐标除以前面第二行定义的晶胞常数两者可以混用,但不推荐。
VASP计算实例
![VASP计算实例](https://img.taocdn.com/s3/m/a45d962626d3240c844769eae009581b6bd9bd3d.png)
VASP计算实例VASP(Vienna Ab initio Simulation Package)是一种常用的第一性原理计算软件包,用于模拟和计算材料的结构和性质。
它基于密度泛函理论(DFT)和平面波基组,具有高精度和高效率的特点。
下面是一个关于VASP计算的示例:为了演示VASP的使用,我们将以氧化铁(Fe2O3)为例进行计算。
氧化铁是一种重要的功能材料,应用广泛,如磁性材料、电子器件、催化剂等领域。
1.准备输入文件:首先,我们需要准备输入文件。
VASP的输入文件主要包括两个部分:结构文件(POSCAR)和参数文件(INCAR)。
POSCAR文件描述了体系的晶体结构,包括晶格常数、原子种类及坐标等信息。
INCAR文件则包含了VASP计算的各种参数设置,如计算方法、收敛条件、化学势等。
2.设置INCAR文件:我们需要根据需求设置INCAR文件的参数。
例如,选择泛函理论的类型(LDA或GGA)、平面波能量截断(ENCUT)、收敛判据(EDIFF)等。
此外,还需要注意设置计算类型(静态计算、构型优化、分子动力学模拟等)及相关参数。
3.运行VASP:在设置完输入文件后,我们可以启动VASP进行计算。
一般情况下,我们可以在命令行界面输入"vasp"命令启动VASP。
此时,VASP将读取输入文件,并开始进行计算。
4.结果分析:计算完成后,可以通过VASP的输出文件来分析计算结果。
VASP的输出文件主要包括:能量、晶格常数、原子坐标、能带结构、态密度等信息。
我们可以通过这些信息来理解和分析材料的结构和性质。
除了以上基本计算流程,VASP还提供了许多功能和选项,可用于更复杂的计算和分析。
例如,通过设置不同的计算类型和参数,可以进行构型优化、声子计算、电子结构计算、弛豫过程模拟等。
此外,VASP还支持并行计算和计算集群的使用,以提高计算效率。
总结:VASP是一个功能强大且广泛应用的第一性原理计算软件包。
VASP计算实例
![VASP计算实例](https://img.taocdn.com/s3/m/b79d6e7e1fb91a37f111f18583d049649b660ea0.png)
VASP计算实例VASP计算实例⽬录⼀、氢⽓分⼦H2键长的计算 31. 基本⽂件 32. 赝势类型的选择 33. 截断能ENCUT参数的选择 44. KPOINTS参数选择 55. 对晶格常数进⾏优化 6⼆、 Si晶体晶格常数计算 81. 赝势类型选择 82. 截断能(ENCUT)参数的选定 93. KPOINTS参数的选定 114. SIGMA参数的选定 125. 晶格常数计算结果 13三、 Si元素单原⼦能量计算 141. 由内聚能倒推单原⼦能量 142. 基本⽂件 153. 单原⼦能量计算 15四、 Si的VASP⼒学常数计算 161. 计算所需⽂件 162. 计算与数据处理 173. 计算所⽤到的公式: 18五、 SI晶体的电⼦结构 191. 采⽤VASP计算能带的步骤 192. 电荷分布计算结果 20能带计算和结果 213. 态密度计算和结果 21六、 Si晶体介电函数和光学性质的计算 221. 计算步骤 222. ⽤到的⽂件 233. 计算结果 26七、 VASP的声⼦谱计算 291. 计算步骤 292. 基本⽂件 303. 声⼦谱、声⼦态密度计算和结果 334. 热学性质计算和结果 34键长计算 351. 计算步骤 352. 基本⽂件 35⼀、氢⽓分⼦H2键长的计算1. 基本⽂件准备基本⽂件INCAR、POTCAR、POSCAR、KPOINT以及脚本⽂件encut、k、optimize2. 赝势类型的选择输⼊⽂件如下其中参数要靠经验初选INCAR:System = F2ISTART = 0ICHARG = 2NELMDL = 5 ISMEAR = 0SIGMA = 0.1PREC = Accurate KPOINTS:Automatic meshM1 1 10 0 0 POSCAR:O115.0 0.00 0.00 0.00 14.0 0.00 0.00 0.00 13.0 1D0.00 0.00 0.00分别选⽤五个贋势⽂件进⾏计算。
第一性原理算例
![第一性原理算例](https://img.taocdn.com/s3/m/829271c2da38376bae1fae04.png)
首页| SCI期刊点评| 中文期刊点评| 搜索| 论文范文| 小木虫论坛首页>> 第一原理>> 查看话题vasp5.2中GGA=PE,PS,B3计算晶格常数,能带(HSE06杂化)作者: liliangfang(站内联系TA)发布: 2011-10-20在vasp5.2中GGA=PE,PS,B3计算晶格常数,能带(HSE06杂化)的对比下面是其他两个,基于PAW-PBE的赝势,默认的是GGA=PE在INCAR里要设置GGA=PS,相应的在POTCAR里LEXCH = PS;在INCAR里要设置GGA=B3,相应的在POTCAR里LEXCH =B3晶格常数计算值误差(实验值5.43)PE 5.472 0.768%PS 5.438 0.147%B3 5.445 0.275%能带计算(HSE06) Eg(实验值1.12)PE 1.26PS 1.28B3 1.60PE 0.61(4.6的方法)GGA=PEGGA=PSGGA=B3以前4.6的算法得到的下面将计算晶格常数及能带各部的主要文件上传(个人计算总结)晶格常数计算INCARSystem = SiENCUT = 400ISTART = 0ICHARG = 2PREC = AccurateEDIFF = 1.0E-05EDIFFG = -0.01NSW = 200IBRION = 2ISIF = 4ISPIN = 2GGA = PSKOPINTSAutomatic meshM5 5 50 0 0POSCARSi:5.430.0000000000000000 0.5000000000000000 0.5000000000000000 0.5000000000000000 0.0000000000000000 0.5000000000000000 0.5000000000000000 0.5000000000000000 0.0000000000000000 2SDirect0.000000000000000 0.000000000000000 0.000000000000000 T T T 0.250000000000000 0.250000000000000 0.250000000000000 T T TPOTCAR优化脚步jvasp#! /bin/bashrm -rf WAVECARfor i in 5.437 5.438 5.439 5.440 5.441docat >POSCAR < Si-Diamond:$i0.0000000000000000 0.5000000000000000 0.50000000000000000.5000000000000000 0.0000000000000000 0.50000000000000000.5000000000000000 0.5000000000000000 0.00000000000000002SDirect0.000000000000000 0.000000000000000 0.000000000000000 T T T0.250000000000000 0.250000000000000 0.250000000000000 T T T!echo "a= $i" ;mpdboot ; mpirun -np 4 vaspE=`tail -1 OSZICAR`;echo $i $E >>SUMMARYcp CONTCAR CONTCAR$idone二次拟合出能量最低点,一般两次足够能带计算vasp5.2其中一个计算能带方法是,优化晶格常数后,DFT+HSE06+band计算,见附件这是其中一个PS的步骤,注意选择POTCAR之后将其中的LEXCH 改为LEXCH = PS 1.DFTINCARSYSTEM = SiENCUT = 400ISTART = 0ISYM = 0GGA = PSICHARG = 2ISMEAR = 0SIGMA = 0.05NSW = 0IBRION = -1ISIF = 2EDIFF = 0.00001EDIFFG = -0.001KPOINTSAutomatic meshG4 4 40 0 0POSCARSi-Diamond:5.438000000000000.0000000000000000 0.5000000000000000 0.50000000000000000.5000000000000000 0.0000000000000000 0.50000000000000000.5000000000000000 0.5000000000000000 0.0000000000000000Si2Selective dynamicsDirect0.0000000000000000 0.0000000000000000 0.0000000000000000 T T T 0.2500000000000000 0.2500000000000000 0.2500000000000000 T T T0.00000000E+00 0.00000000E+00 0.00000000E+000.00000000E+00 0.00000000E+00 0.00000000E+00运行vasp2.HSE06INCAR设置ICHARG =2 ,IBRION =1 ,NELMIN =5 or 其他值如下SYSTEM = SiISTART = 1ICHARG = 2EDIFF = 0.00001EDIFFG = -0.001ENCUT = 400ENAUG = 800GGA = PSLREAL = .FALSE.LWAVE = .TRUE.LCHARG = .TRUE.NELM = 200NSW = 0IBRION = -1LMAXMIX = 4ISMEAR = 0SIGMA = 0.1NSIM = 4ISYM = 0LHFCALC = .TRUE.HFSCREEN = 0.2ALGO = DTIME = 0.4ENCUTFOCK = 0AEXX = 0.25其他文件从DFT文件夹拷贝过来,运行vasp 3.band计算INCARSYSTEM = SiISTART = 1ICHARG = 2GGA = PSEDIFF = 0.00001EDIFFG = -0.001ENCUT = 400ENAUG = 800LREAL = .FALSE.LWAVE = .TRUE.LCHARG = .TRUE.NELM = 200NSW = 0IBRION = 1LMAXMIX = 4ISMEAR = 0SIGMA = 0.1NSIM = 4ISYM = 0LHFCALC = .TRUE.HFSCREEN = 0.2ALGO = NTIME = 0.4ENCUTFOCK = 0AEXX = 0.25NELMIN = 5KPOINTS从HSE06文件夹的IBZKPT拷贝到KPOINTS,然后把高对称点拷贝在后面,权重为0 更新k点总数Automatically generated mesh127(36+91后面91为高对称)Reciprocal lattice0.00000000000000 0.00000000000000 0.00000000000000 10.25000000000000 0.00000000000000 0.00000000000000 20.50000000000000 0.00000000000000 0.00000000000000 10.00000000000000 0.25000000000000 0.00000000000000 20.25000000000000 0.25000000000000 0.00000000000000 20.50000000000000 0.25000000000000 0.00000000000000 2 -0.25000000000000 0.25000000000000 0.00000000000000 20.00000000000000 0.50000000000000 0.00000000000000 10.25000000000000 0.50000000000000 0.00000000000000 20.50000000000000 0.50000000000000 0.00000000000000 10.00000000000000 0.00000000000000 0.25000000000000 20.25000000000000 0.00000000000000 0.25000000000000 20.50000000000000 0.00000000000000 0.25000000000000 2 -0.25000000000000 0.00000000000000 0.25000000000000 20.00000000000000 0.25000000000000 0.25000000000000 20.25000000000000 0.25000000000000 0.25000000000000 20.50000000000000 0.25000000000000 0.25000000000000 2 -0.25000000000000 0.25000000000000 0.25000000000000 20.00000000000000 0.50000000000000 0.25000000000000 20.25000000000000 0.50000000000000 0.25000000000000 20.50000000000000 0.50000000000000 0.25000000000000 2 -0.25000000000000 0.50000000000000 0.25000000000000 20.00000000000000 -0.25000000000000 0.25000000000000 20.25000000000000 -0.25000000000000 0.25000000000000 20.50000000000000 -0.25000000000000 0.25000000000000 2 -0.25000000000000 -0.25000000000000 0.25000000000000 20.00000000000000 0.00000000000000 0.50000000000000 10.25000000000000 0.00000000000000 0.50000000000000 20.50000000000000 0.00000000000000 0.50000000000000 10.00000000000000 0.25000000000000 0.50000000000000 20.25000000000000 0.25000000000000 0.50000000000000 20.50000000000000 0.25000000000000 0.50000000000000 2 -0.25000000000000 0.25000000000000 0.50000000000000 20.00000000000000 0.50000000000000 0.50000000000000 10.25000000000000 0.50000000000000 0.50000000000000 20.50000000000000 0.50000000000000 0.50000000000000 1 0.500000 0.000000 0.500000 0.000.475000 0.000000 0.475000 0.000.450000 0.000000 0.450000 0.00。
如何用VASP计算晶格常数
![如何用VASP计算晶格常数](https://img.taocdn.com/s3/m/4386b12a2af90242a895e595.png)
我们用Pd金属作为例子。
Pd金属的实验上的晶格常数为3.89A。
在这里,我们用V ASP计算它的晶格常数。
首先将Pd所对应的POTCAR文件拷贝到目录下。
然后准备好INCAR和KPOINTS文件。
POSCAR文件我们将通过一个tcsh的script来产生。
KPOINTS文件可以如下:Monkhorst PackMonkhorst Pack11 11 110 0 0INCAR文件可以如下:SYSTEM = Pd bulk calculationStartparameter for this run:PREC = AccurateISTART = 0 job : 0-new 1-cont 2-samecutICHARG = 2 charge: 1-file 2-atom 10-constISPIN = 1 spin polarized calculation?Electronic Relaxation 1EDIFF = 0.1E-03 stopping-criterion for ELMLREAL = .FALSE. real-space projectionIonic relaxationEDIFFG = 0.1E-02 stopping-criterion for IOMNSW = 0 number of steps for IOMIBRION = 2 ionic relax: 0-MD 1-quasi-New 2-CGISIF = 2 stress and relaxationPOTIM = 0.10 time-step for ionic-motionTEIN = 0.0 initial temperatureTEBEG = 0.0; TEEND = 0.0 temperature during runDOS related values:ISMEAR = 0 ; SIGMA = 0.05 gaussian smearElectronic relaxation 2 (details)Write flagsLWA VE = F write WA VECARLCHARG = F write CHGCAR产生POSCAR和计算晶格常数的工作可以用以下的PBS script来完成。
VASP_硅能带
![VASP_硅能带](https://img.taocdn.com/s3/m/e8dd892bccbff121dd36838e.png)
用VASP计算晶体硅的电子能带结构本文主要是用VASP进行了晶体硅的电子能带结构的计算。
硅的晶体结构如图1所示,它是两个嵌套在一起的FCC布拉菲晶格,相对位置为。
在计算中,采用了FCC的原胞,每个原胞里面有两个硅原子。
图1:硅的晶体结构首先优化了晶格参数,求出了能量最低所对应的晶格常数a。
然后进行静态计算,得到了自洽的电荷密度。
再由静态计算得到的自洽的电荷密度计算了硅的能带结构和电子态密度。
(一)优化晶格常数只需要优化一个晶格常数a。
首先准备四个文件:INCAR,POSCAR,POTCAR,KPOINTS,内容分别如下运行VASP,读取OUTCAR文件,可以得到a=5.1的情况下对应的能量。
然后改变a的值,再运行VASP,得到相应晶格常数对应的能量。
a的取值范围为5.1到5.8,每隔0.1取一个点。
最终得到晶格常数与能量的对应值如下表所示将以上数据用MATLAB进行二次多项式拟合,求出拟合二次多项式的极小值点为5.50 Å,即为优化的晶格常数,与实验值5.43 Å比较接近。
后面的计算均基于此优化的晶格常数。
(二)静态计算自洽的电荷密度修改输入文件,在INCAR中定义NSW=0、LCHARG=T,POSCAR中的晶格常数定义为优化的晶格常数5.5,其它参数不变。
运行VASP,即得到了自洽的面电荷密度,将其保存下来,以便后面计算能带结构和电子态密度之用。
(三)计算能带结构选取6个特殊K点,特殊K点间的分割点数分别为20、20、20、10、20。
从自洽的电荷密度计算得到的OUTCAR文件中可以找到倒格子基矢和费米能级。
将以上信息写入syml文件,然后将syml文件输入到程序gk.x,产生K点,得到KPOINTS文件。
另外设置INCAR中的ISTART=1,ICHAGE=11 (ICHARG =11 由给出的电荷密度求的能级本征值和态密度用于能带计算),NSW=0。
POSCAR中的晶格常数定义为优化的晶格常数5.5。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
我们用Pd金属作为例子。
Pd金属的实验上的晶格常数为3.89A。
在这里,我们用V ASP计算它的晶格常数。
首先将Pd所对应的POTCAR文件拷贝到目录下。
然后准备好INCAR和KPOINTS文件。
POSCAR文件我们将通过一个tcsh的script来产生。
KPOINTS文件可以如下:
Monkhorst Pack
Monkhorst Pack
11 11 11
0 0 0
INCAR文件可以如下:
SYSTEM = Pd bulk calculation
Startparameter for this run:
PREC = Accurate
ISTART = 0 job : 0-new 1-cont 2-samecut
ICHARG = 2 charge: 1-file 2-atom 10-const
ISPIN = 1 spin polarized calculation?
Electronic Relaxation 1
EDIFF = 0.1E-03 stopping-criterion for ELM
LREAL = .FALSE. real-space projection
Ionic relaxation
EDIFFG = 0.1E-02 stopping-criterion for IOM
NSW = 0 number of steps for IOM
IBRION = 2 ionic relax: 0-MD 1-quasi-New 2-CG
ISIF = 2 stress and relaxation
POTIM = 0.10 time-step for ionic-motion
TEIN = 0.0 initial temperature
TEBEG = 0.0; TEEND = 0.0 temperature during run
DOS related values:
ISMEAR = 0 ; SIGMA = 0.05 gaussian smear
Electronic relaxation 2 (details)
Write flags
LWA VE = F write WA VECAR
LCHARG = F write CHGCAR
产生POSCAR和计算晶格常数的工作可以用以下的PBS script来完成。
#!/bin/tcsh
#PBS -S /bin/sh
#PBS -l nodes=4:athlon:ppn=2
#PBS -l cput=384:00:00
#PBS -m ae
#PBS -o output
#PBS -e error.log
# set parameter
set EXEC = 'vasp'
set SRC = '/usr/common/executable'
# change working directory
cd $PBS_O_WORKDIR
# copy fresh executable from depository
cp -f $SRC/$EXEC .
# execute mpi program
foreach a (3.3 3.4 3.5 3.6 3.7)
echo "a= $a"
cat >POSCAR < cubic diamond
$a
0.5 0.5 0.0
0.0 0.5 0.5
0.5 0.0 0.5
2
direct
0.0 0.0 0.0
0.25 0.25 0.25
!
mpiexec -nostdin ./$EXEC
set E=`tail -2 OSZICAR`
echo $a $E >>SUMMARY
end
# remove executable
rm -f $EXEC
如果不用不需要用PBS script,则更加简单,如下即可。
将其命名为lattice。
#!/bin/tcsh
foreach a (3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2)
echo "a= $a"
cat >POSCAR < fcc lattice
$a
0.5 0.5 0.0
0.0 0.5 0.5
0.5 0.0 0.5
1
cartesian
0.0 0.0 0.0
!
./vasp
set E=`tail -1 OSZICAR`
echo $a $E >>SUMMARY
end
用chmod +x lattice,将其改为可执行文件。
然后在命令行里键入./lattice 即可。
以下是用USPP-LDA运行完后的SUMMARY文件。
每个计算用时13秒。
(在USPP 中Pd的截断能量是198.955)
3.5 1 F= -.52384500E+01 E0= -.52371846E+01 d E =-.253072E-02
3.6 1 F= -.58695670E+01 E0= -.58683951E+01 d E =-.234381E-02
3.7 1 F= -.62322232E+01 E0= -.62311104E+01 d E =-.222547E-02
3.8 1 F= -.63932936E+01 E0= -.63921078E+01 d E =-.237151E-02
3.9 1 F= -.64072233E+01 E0= -.64058584E+01 d E =-.272979E-02
4.0 1 F= -.63162916E+01 E0= -.63147061E+01 d E =-.317085E-02
4.1 1 F= -.61523489E+01 E0= -.61504748E+01 d E =-.374817E-02
4.2 1 F= -.59418370E+01 E0= -.59396594E+01 d E =-.435530E-02
用抛物线拟和得到的晶格常数为$3.888\AA$,固体中每个原子的能量是$E_{bulk}=-6.4257$。
以下是采用PAW-LDA势运行完以后的SUMMARY文件。
每个计算用时20秒。
所以相对来说PAW势所需要的时间多一些,这是因为PAW势的energy cutoff相对比较高(在PAW 中Pd的截断能量是250.832)。
3.5 1 F= -.52393107E+01 E0= -.52377274E+01 d E =-.316665E-02
3.6 1 F= -.58814938E+01 E0= -.58798653E+01 d E =-.325695E-02
3.7 1 F= -.62451262E+01 E0= -.62437004E+01 d E =-.285149E-02
3.8 1 F= -.64049388E+01 E0= -.64036223E+01 d E =-.263317E-02
3.9 1 F= -.64158100E+01 E0= -.64143798E+01 d E =-.286044E-02
4.0 1 F= -.63210060E+01 E0= -.63194198E+01 d E =-.317251E-02
4.1 1 F= -.61536329E+01 E0= -.61518107E+01 d E =-.364433E-02
4.2 1 F= -.59385695E+01 E0= -.59364165E+01 d E =-.430601E-02
用抛物线拟和得到的晶格常数为$3.875\AA$,固体中每个原子的能量E_bulk=-6.4185eV
可见,PAW-LDA和USPP-LDA给出的晶格常数都和实验吻合的非常好,两者之间的差别也很小。
在以下所有的计算中,如果没有特殊声明,我们都默认采用PAW-LDA的势。
结合能(cohesive energy)的定义如下:
-E_coh = [E_bulk-N*E_atom]/N
所以我们要将固体中每个原子的能量减去单个Pd原子的能量,才能和实验的结合能相比较。
对于过渡金属原子,计算单个原子的能量要特别注意。
V ASP的网页上给出了求结合能所需的单个原子能量的修正值(详见V ASP手册Pseudopotentials supplied with the V ASP package 一章)。
可以在上面查到,Pd每个原子LDA的修正值为1.46eV。
所以我们得到LDA近似下Pd的结合能为4.998eV。
此值和实验值比严重偏大,这是因为LDA
通常成键过强的关系。
如果我们改用GGA的赝势,可以得到和实验比较吻合的结果。