VASPKIT:弹性常数、方向性与状态方程
先生成形变结构,逐个计算能量或应力,再回到上一级拟合。金刚石实例固定分数坐标,得到的是本组参数下的钳位离子响应,不能直接当成收敛后的实验对照。
阅读本篇目录
先生成形变结构,逐个计算能量或应力,再回到上一级拟合。金刚石实例固定分数坐标,得到的是本组参数下的钳位离子响应,不能直接当成收敛后的实验对照。
先准备示例#
下载输入、后处理数据与绘图脚本,解压后进入目录:
unzip vaspkit-examples-*.zip
cd vaspkit-examples
python3 prepare.py
module load vaspkit/1.5.1
prepare.py从集群安装的官方examples复制需要的原始示例;附件本身不转发这些分发文件。每个功能的目录独立,下面的cd cases/...均从附件根目录开始。完成一个功能后可用cd ../..回到根目录。
本例结果图#

图由实际导出的数据绘制。附件根目录执行module load phonopy/4.8.3,再执行python plot.py可重画;此模块提供绘图所需的Python环境。
主要例子的文件#
本专题在集群计算/建立的 cases/201 模型。
INCAR#
ENCUT=450
EDIFF=1E-6
EDIFFG=-0.02
PREC=Accurate
ISMEAR=0
SIGMA=0.05
LREAL=.FALSE.
IBRION=-1
NSW=0
ISIF=2
LWAVE=.FALSE.
LCHARG=.FALSE.
KPOINTS#
Demonstration mesh
0
Gamma
3 3 3
0 0 0
INPUT.in#
2
3D
5
-0.01 -0.005 0.00 0.005 0.01
完整的配套文件通过附件和prepare.py准备。若本功能需要WAVECAR/WAVEDER,先按新计算与波函数准备运行自己的VASP,不使用其他体系的波函数代替。
如何理解两种弹性结果#
本次固定原子位置的金刚石示例得到:
| 方法 | C11(GPa) | C12(GPa) | C44(GPa) |
|---|---|---|---|
| 200,应力—应变,3点 | 1047.444 | 127.033 | 559.154 |
| 201,能量—应变,5点 | 1080.683 | 116.499 | 570.320 |
这里使用ENCUT=450 eV、3×3×3网格和有限应变区间,数值差异提醒我们:流程走通后仍要检查截断能、k网格、残余应力和拟合区间。不要仅因两种菜单都有输出,就把差异解释为材料的新物理性质。
本篇的EOS图来自另一套官方GaInO3示例,不能与金刚石弹性数据混为同一材料。
各功能操作#
200 · 应力—应变弹性常数#
INPUT.in第一行1生成应变结构,完成VASP后改2提取。本例3个应变点−1%、0、+1%,使用应力响应。
实例来源:本专题在集群计算/建立的 cases/200 模型。
在附件根目录执行:
cd cases/200
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
200
目录中的主要配套文件:INCAR、INPUT.in、KPOINTS、POSCAR。
本次得到:C11_C12_C44/STRAIN_STRESS.dat、C11_C12_C44/strain_+0.010/INCAR、C11_C12_C44/strain_+0.010/KPOINTS、C11_C12_C44/strain_+0.010/POSCAR、C11_C12_C44/strain_-0.010/INCAR、C11_C12_C44/strain_-0.010/KPOINTS、C11_C12_C44/strain_-0.010/POSCAR、C11_C12_C44/strain_0.000/INCAR、C11_C12_C44/strain_0.000/KPOINTS、C11_C12_C44/strain_0.000/POSCAR、ELASTIC_TENSOR。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
[6] Chen X-Q, Intermetallics 19, 1275 (2011)
[7] Tian Y-J, Int. J. Refract. Hard Met. 33, 93–106 (2012)
Eigenvalue lamda_1 = 559.154 > 0 meeted.
Eigenvalue lamda_2 = 559.154 > 0 meeted.
Eigenvalue lamda_3 = 559.154 > 0 meeted.
Eigenvalue lamda_4 = 920.411 > 0 meeted.
Eigenvalue lamda_5 = 920.411 > 0 meeted.
Eigenvalue lamda_6 = 1301.510 > 0 meeted.
Elastic stability criteria as seen in PRB 90, 224104 (2014).
Criteria (i) C11 - C12 > 0 meeted.
Criteria (ii) C11 + 2C12 > 0 meeted.
Criteria (iii) C44 > 0 meeted.
201 · 能量—应变弹性常数#
本例使用5个应变点−1%、−0.5%、0、+0.5%、+1%。先在INPUT.in写1生成结构,逐目录完成VASP后改2拟合。至少准备足够点数,不能用3点套本例拟合流程。
实例来源:本专题在集群计算/建立的 cases/201 模型。
在附件根目录执行:
cd cases/201
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
201
目录中的主要配套文件:INCAR、INPUT.in、KPOINTS、POSCAR。
本次得到:C11_C12_I/STRAIN_ENERGY.dat、C11_C12_I/strain_+0.005/INCAR、C11_C12_I/strain_+0.005/KPOINTS、C11_C12_I/strain_+0.005/POSCAR、C11_C12_I/strain_+0.010/INCAR、C11_C12_I/strain_+0.010/KPOINTS、C11_C12_I/strain_+0.010/POSCAR、C11_C12_I/strain_-0.005/INCAR、C11_C12_I/strain_-0.005/KPOINTS、C11_C12_I/strain_-0.005/POSCAR、C11_C12_I/strain_-0.010/INCAR、C11_C12_I/strain_-0.010/KPOINTS 等。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
[6] Chen X-Q, Intermetallics 19, 1275 (2011)
[7] Tian Y-J, Int. J. Refract. Hard Met. 33, 93–106 (2012)
Eigenvalue lamda_1 = 570.320 > 0 meeted.
Eigenvalue lamda_2 = 570.320 > 0 meeted.
Eigenvalue lamda_3 = 570.320 > 0 meeted.
Eigenvalue lamda_4 = 964.183 > 0 meeted.
Eigenvalue lamda_5 = 964.183 > 0 meeted.
Eigenvalue lamda_6 = 1313.681 > 0 meeted.
Elastic stability criteria as seen in PRB 90, 224104 (2014).
Criteria (i) C11 - C12 > 0 meeted.
Criteria (ii) C11 + 2C12 > 0 meeted.
Criteria (iii) C44 > 0 meeted.
202 · 从弹性矩阵计算模量#
矩阵输入单位为GPa;二维矩阵用ELASTIC_TENSOR_2D.in及N/m。不能把含真空的三维模量直接当成二维面内模量。
实例来源:安装包示例 elastic/elastic_from_file_3D,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/202
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
202
目录中的主要配套文件:POSCAR。
本次得到:ELASTIC_TENSOR。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
[6] Chen X-Q, Intermetallics 19, 1275 (2011)
[7] Tian Y-J, Int. J. Refract. Hard Met. 33, 93–106 (2012)
Eigenvalue lamda_1 = 559.861 > 0 meeted.
Eigenvalue lamda_2 = 559.861 > 0 meeted.
Eigenvalue lamda_3 = 559.861 > 0 meeted.
Eigenvalue lamda_4 = 924.000 > 0 meeted.
Eigenvalue lamda_5 = 924.000 > 0 meeted.
Eigenvalue lamda_6 = 1303.920 > 0 meeted.
Elastic stability criteria as seen in PRB 90, 224104 (2014).
Criteria (i) C11 - C12 > 0 meeted.
Criteria (ii) C11 + 2C12 > 0 meeted.
Criteria (iii) C44 > 0 meeted.
203 · 从OUTCAR提取弹性#
本例从硅IBRION=6、ISIF=3的OUTCAR提取。晶胞很小,只示范输出衔接。
实例来源:本专题在集群计算/建立的 si-phonon 模型。
在附件根目录执行:
cd cases/203
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
203
目录中的主要配套文件:KPOINTS、OUTCAR、POSCAR。
本次得到:ELASTIC_TENSOR。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
[6] Chen X-Q, Intermetallics 19, 1275 (2011)
[7] Tian Y-J, Int. J. Refract. Hard Met. 33, 93–106 (2012)
Eigenvalue lamda_1 = 79.124 > 0 meeted.
Eigenvalue lamda_2 = 79.124 > 0 meeted.
Eigenvalue lamda_3 = 79.124 > 0 meeted.
Eigenvalue lamda_4 = 101.006 > 0 meeted.
Eigenvalue lamda_5 = 101.006 > 0 meeted.
Eigenvalue lamda_6 = 282.759 > 0 meeted.
Elastic stability criteria as seen in PRB 90, 224104 (2014).
Criteria (i) C11 - C12 > 0 meeted.
Criteria (ii) C11 + 2C12 > 0 meeted.
Criteria (iii) C44 > 0 meeted.
204 · 方向相关力学性质#
2选择平面上的方向扫描,1 0 0为该平面的法向;先确认与晶格坐标的约定。
实例来源:安装包示例 angular_dependent_mechanics,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/204
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
204
2
1 0 0
目录中的主要配套文件:本任务使用交互输入或内置数据库,不需要VASP结果文件。
本次得到:MECHANICS_2D_100.dat。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
85.741 217.470 94.201 0.000 -20.213 0.000
81.503 94.201 178.810 0.000 -9.472 0.000
0.000 0.000 0.000 35.094 0.000 -17.851
-0.737 -20.213 -9.472 0.000 37.778 0.000
0.000 0.000 0.000 -17.851 0.000 42.708
Compliance Tensor S_ij (in GPa^{-1}):
0.005594 -0.001532 -0.001804 0.000000 -0.001163 0.000000
-0.001532 0.006607 -0.002632 0.000000 0.002845 0.000000
-0.001804 -0.002632 0.007829 0.000000 0.000520 0.000000
0.000000 0.000000 0.000000 0.036189 0.000000 0.015126
-0.001163 0.002845 0.000520 0.000000 0.028100 0.000000
0.000000 0.000000 0.000000 0.015126 0.000000 0.029737
205 · 状态方程拟合#
输入为EOS.in。本例官方GaInO3数据表按EOS.in指定的8个体积点拟合;输出的按原子归一化依赖该文件原子数字段,本示例字段为1,不能从其标签推断真实每原子能量。用于学习拟合时保持输入归一化一致,换实际材料时填写真实原子数。
实例来源:安装包示例 EOS/read_from_file,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/205
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
205
目录中的主要配套文件:EOS.in。
本次得到:ENERGY_VOLUME_DFT.dat、ENERGY_VOLUME_FIT.dat、ENTHALPY_VOLUME_FIT.dat、PRESSURE_VOLUME_DFT.dat、PRESSURE_VOLUME_FIT.dat。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
Based on Birch-Murnaghan 4th-order EOS
V0 = 122.128372 Angstrom^3
E0 = -73.073380 eV
B0 = 146.977291 GPa
B0' = 5.591438
换成自己的体系#
先复制一份计算目录,确认POSCAR、INCAR、KPOINTS和各结果来自同一计算,再运行所需菜单。涉及静态、优化或声子等前置VASP任务,先完成计算再后处理;VASPKIT不会替代这些计算。保留结构、输入参数、工具版本和提取后的数据,后续改图时不必反复重算。
方法参考:VASPKIT官方教程;菜单与交互输入以本专题实际使用的安装版本为准。使用结果开展研究时引用VASPKIT论文。