ATOMKIT专题

ATOMKIT 导入结构与 Wyckoff 建模

从常见格式读入结构,处理当前版本文件名限制,并从空间群生成 GaAs 晶胞。

更新于 2026-11-12约 5 分钟阅读按任务与环境选择适用配置
阅读本篇目录

本例使用 ATOMKIT 0.9.0 官方 Linux 预编译程序,属于 VASPKIT 团队的结构工具,与同名 Python 包不同。集群通过 module load atomkit/0.9.0 使用;二进制含 GCC 9.4 与 Intel Fortran 运行库标记,完整上游编译参数未公开,不能据此指定一套完整编译链。ASE 辅助操作使用集群 ASE 3.29.0。短小结构处理在个人目录执行,不会自动开始 VASP 等计算。

下载本篇共用结构、命令、数据与作图包。解压后进入 atomkit-menu-examples;原生错误文件保留用于比较,请先看对应限制再使用。

导入和导出编号不是同一张表#

先输入目标格式 175,再选择源格式与文件。例如:

module load atomkit/0.9.0
cp native-cases/import-cases/101/Si.STRU .
printf '175
101 Si.STRU
' | atomkit

得到 Si.vasp。导出菜单的 142 是 Octopus,而导入菜单的 142 是 Materials Studio XSD;导出 144 是 OpenMX,导入 144 是 MDL MOL。不要把两张编号表混在一起。

导入编号 源格式 实际操作说明
101 ABACUS STRU Si8 读入后晶胞与坐标一致
112 CASTEP CELL Si8 周期几何一致
113 CIF 前篇已完成;适合通用交换
123 Elk 本版对原生导出的 Elk 文件读出 0 原子、奇异晶胞;换标准名 elk.in 也未解决,改用 ASE→CIF
134 Gaussian Si8 内部几何距离保留,程序重新放入包围盒;不能把新盒子当原周期晶胞
142 Materials Studio XSD ASE 写出的自有 Si8 XSD 实际导入成功
144 MDL MOL 本例读入程序要求文件名 Vancomycin_.mol;改名副本后可读水分子
149 PDB 本例原生导出再导入将 Si 识别成 S,规范列 PDB 也丢失元素;用 ASE 读再转 CIF
156 Quantum ESPRESSO Si8 几何与晶胞一致
168 SIESTA FDF Si8 几何与晶胞一致
175 VASP 本批编辑操作反复使用的源格式
185 XSF 前篇已完成周期几何读取
189 XYZ 水分子三原子内部距离保留,读入后重新放到盒内
190 空间群与 Wyckoff 位置 下面给出完整 GaAs 实例

MOL 常见 V2000 文件会把坐标写成四位小数,PDB 常为三位小数;数值比较要与文件本身的精度匹配。分子重新居中后的绝对坐标可能变化,元素、键长和夹角才是这个转换的几何比较对象。XYZ/MOL 也不携带 VASP 计算的电荷态、自旋设置。

水分子 MOL 的本版文件名要求#

cp native-cases/import-cases/144/water.mol Vancomycin_.mol
printf '175
144 Vancomycin_.mol
' | atomkit
head -n 12 Vancomycin_.vasp

这只是当前安装版本的文件名兼容办法。输入仍是 3 个原子的水分子,并没有变成文件名所指的分子。输出盒长约 11.2214、10.9454、10 Å,原子重新居中;实际 MOL 中的分子距离保留。若不想采用这个文件名约定,可以用 ASE 将 MOL 写为 VASP,分子用多大的真空盒由自己明确设置。

从空间群生成一个 GaAs 常规胞#

下面的 INPUT 是本例完整输入。按示例保留说明行,当前解析器会读取这些记录;不能直接删成只有数字的几行。

mkdir -p gaas-build
cd gaas-build
cat > INPUT <<'EOF'
# Dimension of cell
3
# Space group number
216
# Lattice lengths and angles; cubic auto values
5.65 -1 -1 -1 -1 -1
# Number of independent sites
2
# Symbols and fractional coordinates
Ga 0 0 0
As 0.25 0.25 0.25
EOF
printf '175
190 INPUT
' | atomkit
head -n 16 INPUT.vasp

216 对应闪锌矿结构的空间群;晶格常数取 5.65 Å,立方晶系由程序补全其他长度与角度。两个不等价位点展开后得到 4 Ga + 4 As,共 8 原子,体积 180.362125 ų。这里只演示构造结构,5.65 Å 是输入值,并非本批重新优化的平衡晶格常数。

这套结构可以继续做优化;VASP 中还需要按 Ga As 顺序准备自己的授权 POTCAR,并自行选择方法、精度、k 点与优化方式。不要仅看到生成 POSCAR 就认为结构已达到平衡。

PDB 和 Elk 的可靠转换命令#

/public/toolkit/miniconda3/envs/ase-3.29.0/bin/python - <<'PYCODE'
from ase.io import read, write
# 从工具包根目录执行,源文件均为本例的自有结构。
a = read('native-cases/import-cases/149-ASE-column-PDB/Si.pdb', format='proteindatabank')
assert set(a.get_chemical_symbols()) == {'Si'}
write('Si-from-PDB.cif', a, format='cif')
b = read('native-cases/format-exports/123/POSCAR.in', format='elk')
write('Si-from-Elk.cif', b, format='cif')
PYCODE

alternatives 保存了实际生成并重新读取的 CIF。然后可使用 175→113 Si-from-PDB.cif 这样的原生 CIF 导入。详细数值见包内 Atomkit-import-examples.csv;返回全部功能导航。

分子点群的补充操作#

资料包中还有实际GFN2优化的水分子,16 Å盒只是用于容纳分子。要看分子点群,用209,而不是周期晶体空间群201:

cp inputs/POSCAR-water POSCAR
printf '209\n175 POSCAR\n' | atomkit

本例输出3原子、C2v。周期跨边界或明显变形的结构应先处理,再解释对称性;完整菜单见功能导航。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗