VASPKIT:用户脚本、ABACUS与工具接口
接口负责转换或整理文件,并不替代后续软件运行。ABACUS弹性入口和主菜单201虽然编号相同,读取的是两套不同格式。
阅读本篇目录
接口负责转换或整理文件,并不替代后续软件运行。ABACUS弹性入口和主菜单201虽然编号相同,读取的是两套不同格式。
先准备示例#
下载输入、后处理数据与绘图脚本,解压后进入目录:
unzip vaspkit-examples-*.zip
cd vaspkit-examples
python3 prepare.py
module load vaspkit/1.5.1
prepare.py从集群安装的官方examples复制需要的原始示例;附件本身不转发这些分发文件。每个功能的目录独立,下面的cd cases/...均从附件根目录开始。完成一个功能后可用cd ../..回到根目录。
主要例子的文件#
安装包示例 ABACUS/elastic/diamond-relax,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
完整的配套文件通过附件和prepare.py准备。若本功能需要WAVECAR/WAVEDER,先按新计算与波函数准备运行自己的VASP,不使用其他体系的波函数代替。
注册自己的小命令#
下面的74示例使用我们编写的hello.sh。先把它复制到自己的脚本目录,并在备份个人配置后,将该目录设置为VASPKIT_UTILITIES_PATH,在#USER_DEFINED与#END_USER_DEFINED之间加入:
u3 bash hello.sh .FALSE. hello_vaspkit
确认ADVANCED_USER = .TRUE.,再输入u3,本例输出Hello VASPKIT!。这只是演示如何注册用户脚本;修改utilities路径会影响其他辅助功能,因此测试完成后恢复原配置,不将整个共享软件目录改为可写。
各功能操作#
781 · BoltzTraP接口#
按下面顺序输入;原子编号从1开始,元素名与当前POSCAR一致。更换体系时先核对所需的文件和编号。
实例来源:安装包示例 Boltzmann_transport/Si,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/781
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
781
目录中的主要配套文件:CONTCAR、DOSCAR、EIGENVAL、INCAR、INPUT.in、KPOINTS、POSCAR。
本次得到:case.energy、case.intrans、case.struct。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
可用head 文件名查看表头,结构结果可在VESTA中打开,曲面数据按对应网格绘制。
788 · 原子间力常数迹#
官方PbTe力常数,SPOSCAR与FORCE_CONSTANTS必须来自同一超胞;归一化迹是耦合强度整理方式,不是热导率。
实例来源:安装包示例 trace_ifc/PbTe,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/788
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
788
目录中的主要配套文件:FORCE_CONSTANTS、SPOSCAR。
本次得到:trace_ifc.dat。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
Ref1: J. Materiomics, 2020, 6, 723-728.
Ref2: Phys. Chem. Chem. Phys., 2020, 22, 18556-18561.
789 · Phonopy声子排序#
使用既有Si力常数生成的21个q点band.yaml,再排序频率/本征矢;交叉附近应查看模式连续性。
实例来源:安装包示例 trace_ifc,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/789
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
789
目录中的主要配套文件:band.yaml。
本次得到:partial_atom_1.dat、partial_atom_2.dat、phonon_band.dat。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
Ref1: Phys. Rev. B, 2018, 98, 235426
q_no: 21
-0.182851260 0.182851260 0.182851260
0.182851260 -0.182851260 0.182851260
0.182851260 0.182851260 -0.182851260
atom_no: 2
84-201 · ABACUS能量—应变弹性#
先进入84再输入201;本例读取官方diamond-relax已有ABACUS应变输出。矩阵与VASP本次金刚石示例来源不同,不作编译器精度对照。
实例来源:安装包示例 ABACUS/elastic/diamond-relax,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/84-201
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
84
201
目录中的主要配套文件:INPUT、INPUT.in、KPT、POSCAR、STRU。
本次得到:C11_C12_I/STRAIN_ENERGY.dat、C11_C12_II/STRAIN_ENERGY.dat、C44/STRAIN_ENERGY.dat、ELASTIC_TENSOR、STRAIN_ENERGY.dat。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
[6] Chen X-Q, Intermetallics 19, 1275 (2011)
[7] Tian Y-J, Int. J. Refract. Hard Met. 33, 93–106 (2012)
Eigenvalue lamda_1 = 572.489 > 0 meeted.
Eigenvalue lamda_2 = 572.489 > 0 meeted.
Eigenvalue lamda_3 = 572.489 > 0 meeted.
Eigenvalue lamda_4 = 955.792 > 0 meeted.
Eigenvalue lamda_5 = 955.792 > 0 meeted.
Eigenvalue lamda_6 = 1322.535 > 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.
74 · 自定义用户命令#
按下面顺序输入;原子编号从1开始,元素名与当前POSCAR一致。更换体系时先核对所需的文件和编号。
实例来源:本专题编写的小示例。
在附件根目录执行:
cd cases/74
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
u3
目录中的主要配套文件:本任务使用交互输入或内置数据库,不需要VASP结果文件。
本例输出摘要(数值仅对应上述输入):
The following command will be executed: bash /public/software/vaspkit/vaspkit.1
.5.1/utilities/hello.sh
换成自己的体系#
先复制一份计算目录,确认POSCAR、INCAR、KPOINTS和各结果来自同一计算,再运行所需菜单。涉及静态、优化或声子等前置VASP任务,先完成计算再后处理;VASPKIT不会替代这些计算。保留结构、输入参数、工具版本和提取后的数据,后续改图时不必反复重算。
方法参考:VASPKIT官方教程;菜单与交互输入以本专题实际使用的安装版本为准。使用结果开展研究时引用VASPKIT论文。