采用VASP如何计算晶体的弹性常数
- 格式:pdf
- 大小:298.45 KB
- 文档页数:7
VASP 计算----------力学常数摘要本文主要介绍了用VASP 对弹性模量、剪切模量、体积模量以及泊松比等力学常数计算,首先介绍了计算所需的相关基础知识,然后详细的阐述了理论的推导过程和对结果的处理方法,并介绍了VASP 所需文件和生成的文件,最后提供了计算的一个例子和其程序流程图。
目录一、 基础知识 .................................................................................................................... 1 二、 VASP 计算时解析推导 .............................................................................................. 3 三、 VASP 计算 .................................................................................................................. 9 四、 有待继续研究的地方 .............................................................................................. 10 五、 参考文献 .................................................................................................................. 10 六、 附录(一)程序流程图 .......................................................................................... 11 七、附录(二)------一个例子,TaN (12)一、 基础知识[1][2]这部分主要介绍了进行VASP 计算时所需要的概念的解释,其主要部分来自弹性力学,详细的介绍可阅读参考文献。
Next: 采用VASP如何计算晶体的弹性常数 Up: VASP计算实例 Previous: 用VASP 计算Pd金属的晶格常数 Contents用VASP 计算表面能做表面计算时,第一步我们需要测试K 点的收敛性。
通常,在垂直表面方向用1个K 点就可以了,在平行表面方向,可以用和体材料类似的K 点密度。
其次,我们要测试真空厚度(vacuum thickness)的收敛性。
我们构造完一个slab 后,将真空厚度逐渐从增加到,体系的总能量改变不超过10meV 的时候,可以初步认为真空厚度达到标准。
以下是一个3层的(fcc) Pd slab 的能量随着真空厚度的变化。
其INCAR 文件如下:SYSTEM = undeformed fcc Pd (111) surface calculation Startparameter for this run: PREC = AccurateISTART = 0 job : 0-new 1-cont 2-samecut ICHARG = 2 charge: 1-file 2-atom 10-const ISPIN = 1 spin polarized calculation?Electronic Relaxation 1NELM = 90; NELMIN= 8; # of ELM steps EDIFF = 0.1E-03 stopping-criterion for ELM LREAL = .FALSE. real-space projection NBANDS = 40Ionic relaxationEDIFFG = 0.1E-2 stopping-criterion for IOM NSW = 0 number of steps for IOMIBRION = 2 ionic relax: 0-MD 1-quasi-New 2-CG ISIF = 2 stress and relaxationPOTIM = 0.10 time-step for ionic-motion TEIN = 0.0 initial temperatureTEBEG = 0.0; TEEND = 0.0 temperature during runDOS related values:ISMEAR = 1 ; SIGMA = 0.20 broadening in eV -4-tet -1-fermi 0-gausElectronic relaxation 2 (details)Write flagsLWAVE = F write WAVECARLCHARG = F write CHGCARLVTOT = .TRUE.其中因为Pd是金属,ISMEAR设置为method of Methfessel-Paxton。
VASP计算弹性常数VASP (Vienna Ab-initio Simulation Package) 是一种常用的第一性原理计算软件包,用于计算物质电子结构和能带结构。
除了电子结构计算,VASP还可以用于计算材料的弹性常数。
在本文中,我们将讨论如何使用VASP计算材料的弹性常数,并了解计算结果的解释。
弹性常数是描述材料变形行为的物理量。
材料在受力作用下产生变形,而弹性常数则定量描述了材料对应力的响应。
弹性常数包括弹性模量、剪切模量、泊松比等。
通过计算这些弹性常数,我们可以了解材料的机械性能和应力应变行为。
首先,我们需要确定计算材料的晶体结构。
这包括晶胞参数、原子位置和晶胞对称性。
在VASP中,我们使用POSCAR文件来描述晶体结构的具体细节。
POSCAR文件包括晶体的晶胞参数、原子种类和位置等信息。
其次,我们需要生成一系列的应变状态。
常见的应变状态包括体积应变、晶格常数应变和剪切应变。
在VASP中,我们可以使用ISIF标志来控制应变类型。
例如,ISIF=3可以用于计算体积应变,ISIF=2可以用于计算剪切应变。
然后,我们需要进行一系列的弛豫计算。
在每个应变状态下,我们需要优化结构以达到最低的总能量。
这可以通过设置IBRION=2和ISIF=3来实现。
这些计算将给出最优的应变状态下的应力张量。
最后,我们可以使用应力和应变的关系来计算材料的弹性常数。
对于单晶材料,弹性常数可以通过应力张量的分量和应变张量的分量之间的线性关系来得到。
C_ij = (stress_i - stress_0_i) / strain_j其中,C_ij是第i个应力分量(i = 1,2,...,6)和第j个应变分量(j = 1,2,...,6)之间的弹性常数,stress_i是在第i个应变分量下计算得到的应力,stress_0_i是在未应变状态下计算得到的应力,strain_j是第j个应变分量。
使用以上计算方法,我们可以得到材料的弹性常数。
VASP计算的理论及实践总结一、赝势的选取二、收敛测试1、VASP测试截断能和K 点2、MS测试三、结构弛豫四、VASP的使用流程(计算性质)1、VASP的四个输入文件的设置2、输出文件的查看及指令3、计算单电能(1) 测试截断能(2) 测试K点4、进行结构优化5、计算弹性常数6、一些常用指令一、赝势的选取VASP赝势库中分为:PP和PAW两种势,PP又分为SP(标准)和USPP(超软)。
交换关联函数分为:LDA(局域密度近似)和GGA(广义梯度近似)。
GGA 又分为PW91和PBE。
在VASP中,其中pot ,pot-gga是属于超软势(使用较少)。
Paw, paw-pbe ,和paw-gga是属于PAW。
采用较多的是PAW-pbe 和PAW-gga。
此外vasp 中的赝势分为几种,包扩标准赝势(没有下标的)、还有硬(harder)赝势(_h)、软(softer)赝势(_s), 所谓的硬(难以赝化),就是指该元素原子的截断动能比较大,假想的势能与实际比较接近,计算得到的结果准确,但比较耗时,难以收敛。
软(容易赝化),表示该元素原子的截断动能比较小,赝势模型比较粗糙,但相对简单,可以使计算很快收敛(比如VASP开发的超软赝势)。
即硬的赝势精度高,但计算耗时。
软的精度低,容易收敛,但节省计算时间。
另一种情况:如Gd_3,这是把f电子放入核内处理,对于Gd来说,f电子恰好半满。
所以把f电子作为价电子处理的赝势还是蛮好的(类似还有Lu,全满)。
(相对其他的4f元素来说,至于把f电子作为芯内处理,是以前对4f元素的通用做法。
计算结果挺好)常用的做法是:用两种赝势测试一下对自己所关心的问题的影响情况。
在影响不大的情况下,选用不含4f电子的赝势(即后缀是3),一来减少计算量,二来避免DFT对4f电子的处理。
【1.赝势的选择:vasp的赝势文件放在目录~/vasp/potentials 下,可以看到该目录又包含五个子目录pot pot_GGA potpaw potpaw_GGA potpaw_PBE ,其中每一个子目录对应一种赝势形式。
侯柱峰-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算得的晶格常数是在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计算参数设置软件主要功能:采用周期性边界条件(或超原胞模型)处理原子、分子、团簇、纳米线(或管)、薄膜、晶体、准晶和无定性材料,以及表面体系和固体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计算晶格常数我们用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计算的理论及实践总结一、赝势的选取二、收敛测试1、VASP测试截断能和K 点2、MS测试三、结构弛豫四、VASP的使用流程(计算性质)1、VASP的四个输入文件的设置2、输出文件的查看及指令3、计算单电能(1) 测试截断能(2) 测试K点4、进行结构优化5、计算弹性常数6、一些常用指令一、赝势的选取VASP赝势库中分为:PP和PAW两种势,PP又分为SP(标准)和USPP(超软)。
交换关联函数分为:LDA(局域密度近似)和GGA(广义梯度近似)。
GGA 又分为PW91和PBE。
在VASP中,其中pot ,pot-gga是属于超软势(使用较少)。
Paw, paw-pbe ,和paw-gga是属于PAW。
采用较多的是PAW-pbe 和PAW-gga。
此外vasp 中的赝势分为几种,包扩标准赝势(没有下标的)、还有硬(harder)赝势(_h)、软(softer)赝势(_s), 所谓的硬(难以赝化),就是指该元素原子的截断动能比较大,假想的势能与实际比较接近,计算得到的结果准确,但比较耗时,难以收敛。
软(容易赝化),表示该元素原子的截断动能比较小,赝势模型比较粗糙,但相对简单,可以使计算很快收敛(比如VASP开发的超软赝势)。
即硬的赝势精度高,但计算耗时。
软的精度低,容易收敛,但节省计算时间。
另一种情况:如Gd_3,这是把f电子放入核内处理,对于Gd来说,f电子恰好半满。
所以把f电子作为价电子处理的赝势还是蛮好的(类似还有Lu,全满)。
(相对其他的4f元素来说,至于把f电子作为芯内处理,是以前对4f元素的通用做法。
计算结果挺好)常用的做法是:用两种赝势测试一下对自己所关心的问题的影响情况。
在影响不大的情况下,选用不含4f电子的赝势(即后缀是3),一来减少计算量,二来避免DFT对4f电子的处理。
【1.赝势的选择:vasp的赝势文件放在目录~/vasp/potentials 下,可以看到该目录又包含五个子目录pot pot_GGA potpaw potpaw_GGA potpaw_PBE ,其中每一个子目录对应一种赝势形式。
如何用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点密度。
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是维也纳第一原理模拟计算软件的缩写。
它是一种基于密度泛函理论的材料模拟计算方法,广泛应用于化学、物理、材料科学等领域。
VASP使用基于平面波展开(plane wave basis)的赝势(pseudopotentials)方法来描述材料中的电子结构。
其核心思想是将电子波函数以平面波的形式展开,并采用赝势来模拟电子的相互作用。
这种方法能够高效地计算含有数百个原子的系统的电子结构和相关性质。
在VASP中,首先需要确定材料的晶体结构。
用户可以通过输入晶体结构的空间群信息和原子坐标来定义体系的几何信息,还可以指定晶胞的尺寸和形状。
然后,通过选择适当的波函数和赝势,可以定义计算模型并进行模拟计算。
VASP计算可以分为一系列的步骤,包括结构优化、静态能量计算、力学性质计算等。
首先,通过结构优化,可以找到体系的最稳定结构和原子位置。
随后,通过静态能量计算,可以计算材料的能带结构和密度态。
在静态计算的基础上,还可以计算材料的力学性质,如弹性常数、声子谱等。
此外,VASP还可以进行分子动力学模拟和绝对零度的自由能计算。
在VASP计算中,还需要设置一些计算参数来优化计算性能和结果的准确性。
例如,可以通过设置波函数的能量截断来控制展开平面波的数目,提高计算效率。
还可以选择适当的赝势来模拟材料中的电子相互作用。
此外,还可以通过设置自旋极化和计算参数等,扩展VASP的应用范围和处理领域。
除了常规计算方法外,VASP还提供了一些高级计算功能,如HSE06方法和GW近似方法等。
这些方法可以进一步提高计算结果的准确性和可靠性。
总之,VASP是一种强大而灵活的第一原理模拟计算方法,可用于研究和预测各种材料的性质和行为。
通过调整计算参数和采用适当的计算模型,可以在各种材料科学领域中开展深入的研究,并帮助解决实际问题。
晶格常数带隙,态密度,电荷密度从头算分子动力学模拟,体变模量,原子化能量,吸附能,形成能,能带结构,磁性(磁矩、组态)电荷布局分析,弹性常数,Born 有效电荷; 静态介电张量(电子和离子贡献),内应变张量,压电张量(电子和离子贡献)。
弹性常数计算的两种思路弹性常数(elastic constants)对于结构材料而言是一个最基本的参数,通过计算材料的弹性常数可以计算对应的体弹性模量,剪切模量,压缩系数,劲度张量等一系列参数,根据线弹性力学,材料的弹性常数联系着应变(Strain)和应力(Stress)之间的变换,众所周知的是应变和应力都是二秩张量(rank of two),对于n秩张量一般有3^n个独立分量,如标量(常数)可以认为是3^0=1,是0秩张量;矢量如偶极矩P=Px+Py+Pz,有三个独立分量,因此是一个一秩张量,3^1=3;二秩张量联系着两个矢量,如偶极矩和外加电场之间用极化张量表示P=aE,P和E都是矢量,a称为极化张量,有9个分量;aij=a11 a12 a13a21 a22 a23a31 a32 a33三秩张量的例子是压电系数dijk,有3^3=27独立分量,不过考虑到状态函数能量微分与路径无关,可以简化,最后如果还考虑到晶体点群对称性,一般而言27个分量中不为0的个数会大大的减少。
四秩张量主要是弹性常数Cijkl,其逆矩阵称为顺度张量Sijkl,根据Hooke定理:Stress=Cijkl×Strain;Strain=Sijkl×Stress;Cijkl×Sijkl=E(uint matrix);Cijkl一般指恒温,体积不变情况下Helomortz free energy对应变Taylor级数展开的二阶系数,由于自有能对应变求导和应变顺序无关,因此81个弹性常数组成的弹性常数矩阵是沿对角线对称的,这样独立分量减小为36个,其次根据Newmann原理,弹性常数的个数还要受到晶体点群对称性的制约,这样可以进一步化简,如立方晶体为C11,C12,C44三个独立分量,需要注意的是C11是Vigot缩写形式全写为C1111,C1122,C2323,四指数下标和二指数下标的变换关系如下:11 22 33 12 (21)13(31)23 (32)1 2 3 6 54C1111,C2222,C3333是三个主轴应力模式,C2323就是纯剪切应变模式。
vasp计算弹性常数
VASP计算弹性常数
1、什么是VASP计算弹性常数
VASP是Vienna Ab initio Simulation Package(维也纳基础仿真软件包)的缩写,它是一种针对第一性原理计算的电子结构和性质的软件套件。
它在计算与物理、化学能量和结构有关的量时具有非常强大的能力,可以计算出材料的结构构型、热力学性质以及电学和光学性质等。
VASP也可以用来计算某个材料的力学性质,从而推断其弹性常数。
2、VASP计算弹性常数的原理
了解VASP计算弹性常数的原理,我们先需要了解Hooke定律。
Hooke定律定义了弹性体(指正交于拉伸方向的任意方向上发生同样变形的材料)应力和应变之间的关系,即:拉伸轴上拉伸应力可以由材料弹性常数通过应变除法表示。
为了计算材料的弹性常数,利用VASP软件可以通过模拟调节其立体结构的应力和应变,从而推断出材料的弹性常数。
它首先会对所模拟的晶体进行平衡计算,根据平衡晶体的初始位置和能量,将其一点点推向应变,然后根据新推向位置和能量,重新计算势函数,最后弹性常数就可以根据VASP软件计算出来。
3、VASP计算弹性常数的常用方法
4、VASP计算弹性常数的应用
VASP计算弹性常数有很多强大而精准的应用,相当多的材料比如金属、合金、多晶体以及纤维、木材和塑料等都可以通过VASP软件来计算它们的弹性常数,从而快速准确地预测出它们在拉伸、压缩、弯曲等应力下的反应情况。
此外,有了VASP的计算结果,我们也可以进一步提取出动态弹性常数,从而更好地了解材料的形变行为及表面粗糙度、能金学性质以及其他有关的研究。
VASP计算的理论及实践总结一、赝势的选取二、收敛测试1、VASP测试截断能和K 点2、MS测试三、结构弛豫四、VASP的使用流程(计算性质)1、VASP的四个输入文件的设置2、输出文件的查看及指令3、计算单电能(1)测试截断能(2) 测试K点4、进行结构优化5、计算弹性常数6、一些常用指令一、赝势的选取VASP赝势库中分为:PP和PAW两种势,PP又分为SP(标准)和USPP(超软)。
交换关联函数分为:LDA(局域密度近似)和GGA(广义梯度近似)。
GGA又分为PW91和PBE.在VASP中,其中pot ,pot—gga是属于超软势(使用较少)。
Paw,paw—pbe ,和paw-gga 是属于PAW.采用较多的是PAW-pbe 和PAW—gga。
此外vasp 中的赝势分为几种,包扩标准赝势(没有下标的)、还有硬(harder)赝势(_h)、软(softer)赝势(_s), 所谓的硬(难以赝化),就是指该元素原子的截断动能比较大,假想的势能与实际比较接近,计算得到的结果准确,但比较耗时,难以收敛。
软(容易赝化),表示该元素原子的截断动能比较小,赝势模型比较粗糙,但相对简单,可以使计算很快收敛(比如VASP 开发的超软赝势)。
即硬的赝势精度高,但计算耗时。
软的精度低,容易收敛,但节省计算时间。
另一种情况:如Gd_3,这是把f电子放入核内处理,对于Gd来说,f电子恰好半满。
所以把f电子作为价电子处理的赝势还是蛮好的(类似还有Lu,全满)。
(相对其他的4f元素来说,至于把f电子作为芯内处理,是以前对4f元素的通用做法。
计算结果挺好)常用的做法是:用两种赝势测试一下对自己所关心的问题的影响情况。
在影响不大的情况下,选用不含4f电子的赝势(即后缀是3),一来减少计算量,二来避免DFT对4f电子的处理。
【1.赝势的选择:vasp的赝势文件放在目录~/vasp/potentials 下,可以看到该目录又包含五个子目录pot pot_GGA potpaw potpaw_GGA potpaw_PBE ,其中每一个子目录对应一种赝势形式。
vasp计算弹性常数
弹性常数(elasticmodulus)是材料力学中最重要的物理量之一,它表征材料的刚性程度。
它是描述材料弹性性质的唯一参数,也是物理化学中最常用的概念之一。
现在,它已成为材料设计和模拟的研究实验。
VASP(Vienna Ab initio Simulation Package)是一种非凡的
计算机软件,它可用于从原子层面来预测材料的性能。
其优点在于它可以有效计算和模拟态密度和势能,电子结构,以及其他物理性质,如弹性常数。
VASP计算弹性常数具有一定的复杂性。
它首先要求设定计算参数,以确定计算精度和计算极限。
其次,运行VASP软件,确定给定
温度和压力下材料的刚度,然后再根据极限状态或近似状态求取弹性常数。
最后,运行VASP以验证计算结果。
计算弹性常数的最终目的是确定材料的机械性质,以预测材料的整体性能。
这一过程可以利用VASP软件实现,它将原子中的电子结
构转化为材料的结构性质及弹性常数。
此外,VASP的计算速度也有
极大的优势,可以在可接受的时间内完成大量的计算任务,给常规材料设计和模拟计算提供重要的计算支持。
综上所述,VASP可以用来有效计算材料的弹性常数,并且这一
过程有着极大的优势,它可以在可接受的时间内完成大量的计算任务,给常规材料设计和模拟计算提供重要的计算支持。
因此,VASP可以
成为有效的材料设计和模拟工具,可以有效的计算和模拟材料的弹性
常数。
按照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中:#!/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 VASP 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 WA 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 >outE=`grep F= OSZICAR` ; echo "r=-0.01 $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 >outcp 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 >outE=`grep F= OSZICAR` ; echo "r=0.012 $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 >outcp 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 计算----------力学常数摘要本文主要介绍了用VASP 对弹性模量、剪切模量、体积模量以及泊松比等力学常数计算,首先介绍了计算所需的相关基础知识,然后详细的阐述了理论的推导过程和对结果的处理方法,并介绍了VASP 所需文件和生成的文件,最后提供了计算的一个例子和其程序流程图。
目录一、 基础知识 .................................................................................................................... 1 二、 VASP 计算时解析推导 .............................................................................................. 3 三、 VASP 计算 .................................................................................................................. 9 四、 有待继续研究的地方 .............................................................................................. 10 五、 参考文献 .................................................................................................................. 10 六、 附录(一)程序流程图 .......................................................................................... 11 七、附录(二)------一个例子,TaN (12)一、 基础知识[1][2]这部分主要介绍了进行VASP 计算时所需要的概念的解释,其主要部分来自弹性力学,详细的介绍可阅读参考文献。