脚本分享
在通过vaspkit使用能量应变方法计算材料的弹性常数时,往往是依据vaspkit识别输入文件的晶体结构,判断对称性,依据晶系、空间群等施加应变,生成计算任务文件。
对于掺杂体系来讲,由于会对原胞进行扩胞并掺杂替换原子,破坏对称性并改变点群等,vaspkit会将其识别为其他空间群,计算弹性常数的任务生成也会受到影响。
这里主要介绍如何更改输入文件,使得vaspkit可以接受指定对称性即指定的空间群进行弹性常数的计算任务的生成。
笔者使用一个空间群为Fm-3m的面心立方结构计算弹性常数时,使用vaspkit生成计算文件的同时会将vaspkit识别的晶体对称信息保存到文件SYMMETRY中,内容如下,其中225为空间群Fm-3m的编号。
# Read the symmetry of structure from the SYMMETRY.in file if it exists.
225 #Space group number of the input structure
所需要计算的弹性模量主要为C11,C12和C44。
而基于原胞扩包并掺杂之后结构对称性变为了Cm。所生成的计算文件夹任务数量显著增多,具体为:
vaspkit同时也生成了其对称性信息的文件保存在SYMMETRY中。为了在计算其弹性常数的过程中施加和未扩胞结构同样方向的应变,可将原空间群为Fm-3m的SYMMETRY文件更改为SYMMETRY.in,并重新运行vaspkit以获得基于指定空间群的弹性常数的计算。
愿有所成
引喻失义 妄自菲薄