VASPKIT:超胞、原子编辑与结构格式
在副本中完成建模,查看输出结构后再替换POSCAR。删除、替换和移动原子只是建立候选模型,接下来通常还要做结构优化。
阅读本篇目录
在副本中完成建模,查看输出结构后再替换POSCAR。删除、替换和移动原子只是建立候选模型,接下来通常还要做结构优化。
先准备示例#
下载输入、后处理数据与绘图脚本,解压后进入目录:
unzip vaspkit-examples-*.zip
cd vaspkit-examples
python3 prepare.py
module load vaspkit/1.5.1
prepare.py从集群安装的官方examples复制需要的原始示例;附件本身不转发这些分发文件。每个功能的目录独立,下面的cd cases/...均从附件根目录开始。完成一个功能后可用cd ../..回到根目录。
主要例子的文件#
安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
完整的配套文件通过附件和prepare.py准备。若本功能需要WAVECAR/WAVEDER,先按新计算与波函数准备运行自己的VASP,不使用其他体系的波函数代替。
各功能操作#
400 · 变换矩阵建胞#
按下面顺序输入;原子编号从1开始,元素名与当前POSCAR一致。更换体系时先核对所需的文件和编号。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/400
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
400
2 0 0
0 1 0
0 0 1
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:SUPERCELL.vasp。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
Enter the 1st row of Transformation Matrix to redefine cell:
(MUST be three integers, e.g., 1 2 3)
Enter the 2nd row of Transformation Matrix to redefine cell:
(MUST be three integers, e.g., 1 2 3)
Enter the 3th row of Transformation Matrix to redefine cell:
(MUST be three integers, e.g., 1 2 3)
401 · 整数扩胞#
1为所选扩胞方式,2 2 1是三个方向倍数;本例GaAs常规胞8原子扩为32原子。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/401
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
401
1
2 2 1
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:SUPERCELL_221.vasp。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) POSCAR
2) CONTCAR
3) Specified Structure File
(Tip: MUST be three integers, e.g., 1 2 3)
402 · 固定原子#
依次选择POSCAR、按原子编号选择、1号原子、all方向;本例固定的是1号原子的全部坐标分量,不是固定全部原子。表面模型可改选底层原子。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/402
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
402
1
1
1
all
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR_FIX.vasp。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) POSCAR
2) CONTCAR
3) Specified Structure File
1) Fix Atoms by Atomic Indexes/Labels
2) Fix Atoms by Layers
3) Fix Atoms by Heights
4) Fix Atoms by SELECTED_ATOMS_LIST File
1) x direction
2) y direction
3) z direction
403 · 移动原子#
示例仅移动1号原子,移动向量为0.1 0 0;必须先看当前选择的坐标模式。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/403
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
403
1
1
1
0.1 0 0
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR_REV.vasp、SELECTED_ATOMS_LIST。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) Select Atoms by Atomic Indices/Labels
2) Select Atoms by Layers
3) Select Atoms by Heights
4) Select Atoms by SELECTED_ATOMS_LIST File
1) Fractional coordinate
2) Cartesian coordinate
(e.g., 0.5 0.5 0.5)
404 · 删除原子#
按下面顺序输入;原子编号从1开始,元素名与当前POSCAR一致。更换体系时先核对所需的文件和编号。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/404
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
404
1
1
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR_REV.vasp、SELECTED_ATOMS_LIST。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) Select Atoms by Atomic Indices/Labels
2) Select Atoms by Layers
3) Select Atoms by Heights
4) Select Atoms by SELECTED_ATOMS_LIST File
405 · 交换晶轴#
按下面顺序输入;原子编号从1开始,元素名与当前POSCAR一致。更换体系时先核对所需的文件和编号。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/405
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
405
1
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR_REV.vasp。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) x <-> y
2) y <-> z
3) z <-> x
406 · 原子排序#
按下面顺序输入;原子编号从1开始,元素名与当前POSCAR一致。更换体系时先核对所需的文件和编号。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/406
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
406
3
1
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR_REV.vasp。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) x Direction
2) y Direction
3) z Direction
1) Ascending Order
2) Descending Order
407 · 旋转晶格#
此版本407是旋转晶格,412才是随机原子位移。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/407
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
407
90 0 0
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR_REV.vasp。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
(e.g., 90 0 0 means a 90-degree rotation around the x-axis)
408 · 绕轴旋转原子#
按下面顺序输入;原子编号从1开始,元素名与当前POSCAR一致。更换体系时先核对所需的文件和编号。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/408
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
408
1
1
3
30
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR_REV.vasp、SELECTED_ATOMS_LIST。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) Select Atoms by Atomic Indices/Labels
2) Select Atoms by Layers
3) Select Atoms by Heights
4) Select Atoms by SELECTED_ATOMS_LIST File
1) Rotation of about x Axis
2) Rotation of about y Axis
3) Rotation of about z Axis
4) Rotation of about An Axis Passing Through Specified Point
409 · 添加原子#
按下面顺序输入;原子编号从1开始,元素名与当前POSCAR一致。更换体系时先核对所需的文件和编号。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/409
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
409
1
Si
0.1 0.1 0.1
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR_REV.vasp。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) Fractional coordinate
2) Cartesian coordinate
(e.g., Si 0.5 0.5 0.0)
410 · 替换元素#
按下面顺序输入;原子编号从1开始,元素名与当前POSCAR一致。更换体系时先核对所需的文件和编号。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/410
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
410
1
1
As Si
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR_REV.vasp、SELECTED_ATOMS_LIST。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) Select Atoms by Atomic Indices/Labels
2) Select Atoms by Layers
3) Select Atoms by Heights
4) Select Atoms by SELECTED_ATOMS_LIST File
411 · 跨结构复制原子#
A.vasp为两原子Si,B.vasp为单个H;复制全部H后得到3原子示意结构,不代表稳定的Si-H晶体。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/411
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
411
A.vasp B.vasp
1
all
目录中的主要配套文件:A.vasp、B.vasp、KPATH.in、POSCAR、POSCAR2。
本次得到:POSCAR、POSCAR_REV.vasp、SELECTED_ATOMS_LIST。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
(e.g., POSCAR1 POSCAR2)
1) Select Atoms by Atomic Indices/Labels
2) Select Atoms by Layers
3) Select Atoms by Heights
4) Select Atoms by SELECTED_ATOMS_LIST File
412 · 随机原子位移#
对选中的1号原子施加0.02量级随机位移。随机模型每次可能不同,保存实际POSCAR用于复现。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/412
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
412
1
1
1
0.02
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR_REV.vasp、SELECTED_ATOMS_LIST。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) POSCAR
2) CONTCAR
3) Specified Structure File
1) Select Atoms by Atomic Indices/Labels
2) Select Atoms by Layers
3) Select Atoms by Heights
4) Select Atoms by SELECTED_ATOMS_LIST File
413 · 分数与笛卡尔坐标转换#
按下面顺序输入;原子编号从1开始,元素名与当前POSCAR一致。更换体系时先核对所需的文件和编号。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/413
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
413
1
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR_REV.vasp。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) POSCAR
2) CONTCAR
3) Specified Structure File
414 · 去除微小晶格畸变#
只对数值误差引起的微小畸变使用;有意应变的结构不应执行这一操作。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/414
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
414
1
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR_REV.vasp。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) POSCAR
2) CONTCAR
3) Specified Structure File
415 · 镜面变换#
按下面顺序输入;原子编号从1开始,元素名与当前POSCAR一致。更换体系时先核对所需的文件和编号。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/415
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
415
1
1
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR_REV.vasp。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) Reflection along XY plane
2) Reflection along XZ plane
3) Reflection along YZ plane
1) POSCAR
2) CONTCAR
3) Specified Structure File
419 · 导出CIF、PDB、XSF和XYZ#
先选导出格式,再选输入结构;格式1/2/3/4分别对应CIF/PDB/XSF/XYZ。主实例实际导出CIF,其他格式按相同提示选择。
实例来源:安装包示例 seek_kpath/GaAs_bulk,在集群重新执行本功能;不是本轮重新进行全部上游VASP计算。
在附件根目录执行:
cd cases/419
vaspkit < answers.in
answers.in实际内容如下,每行对应一次输入;也可运行vaspkit后逐行手动键入。
419
1
1
目录中的主要配套文件:KPATH.in、POSCAR。
本次得到:POSCAR、POSCAR.cif。原始输入与结果保持在同一例子目录;表格文件先查看首行列名,再选择横纵轴。
本例输出摘要(数值仅对应上述输入):
1) Export CIF Format (*.cif)
2) Export PDB Format (*.pdb)
3) Export XCrySDen Format (*.xsf)
4) Export XYZ Format (*.xyz)
1) POSCAR
2) CONTCAR
3) Specified Structure File
换成自己的体系#
先复制一份计算目录,确认POSCAR、INCAR、KPOINTS和各结果来自同一计算,再运行所需菜单。涉及静态、优化或声子等前置VASP任务,先完成计算再后处理;VASPKIT不会替代这些计算。保留结构、输入参数、工具版本和提取后的数据,后续改图时不必反复重算。
方法参考:VASPKIT官方教程;菜单与交互输入以本专题实际使用的安装版本为准。使用结果开展研究时引用VASPKIT论文。