ATOMKIT:创建空位与替位缺陷
以Si64为例删除一个Si或替换为Ge,保留对应原子编号、实际结构和后续计算注意事项。
阅读本篇目录
从64原子的Si超胞建立单空位和Ge替位,重点是选中正确原子、保留独立目录,并检查最终组成。使用 ATOMKIT 0.9.0;ASE 3.29.0 生成本例Si输入。
1. 建立完整的Si64参照#
module load atomkit/0.9.0
mkdir si-defect
cd si-defect
export atomkit_python=/public/toolkit/miniconda3/envs/ase-3.29.0/bin/python
"$atomkit_python" - <<'PY'
from ase.build import bulk
from ase.io import write
a=bulk('Si','diamond',a=5.43,cubic=True).repeat((2,2,2))
write('Si64.vasp',a,format='vasp',direct=True,vasp5=True)
PY
晶胞边长10.86 Å,共64个Si。ATOMKIT交互使用 从1开始的编号;本例选择第1个原子,对应此输入的原点位置。
2. 删除第1个原子#
mkdir vacancy
cp Si64.vasp vacancy/POSCAR
cd vacancy
atomkit <<'EOF'
404
175 POSCAR
1
1
175
EOF
head -10 POSCAR_REV.vasp
cd ..
第一个1选择“按编号或标签”,第二个1才是原子编号。输出为63个Si,其余原子坐标和晶胞保持原值。这是未弛豫的单空位起始模型。
3. 用Ge替换同一位置的Si#
mkdir substitute
cp Si64.vasp substitute/POSCAR
cd substitute
atomkit <<'EOF'
410
175 POSCAR
1
1
Si Ge
175
EOF
head -12 POSCAR_REV.vasp
cd ..
输入的是原元素与新元素的组合 Si Ge,不能只输入Ge。实际输出保留64原子,组成为GeSi63。输出可能按元素重新排序,因此比较前后结构时应结合元素和坐标,而不能假定所有行号不变。

4. 检查组成与文件#
"$atomkit_python" - <<'PY'
from ase.io import read
for f in ['Si64.vasp','vacancy/POSCAR_REV.vasp','substitute/POSCAR_REV.vasp']:
a=read(f);print(f,len(a),a.get_chemical_formula(),a.cell.lengths())
PY
预期依次为Si64、Si63、GeSi63,三个晶胞都为10.86 Å立方胞。资料包还检查删除位置、剩余坐标和Ge位置,原子坐标的周期几何误差不超过10^-6 Å。
实际VASP计算中,完整超胞、空位和替位模型应采用兼容的晶胞、截断能与k点;替位模型需增加Ge赝势并按POSCAR元素顺序组合,空位或带电缺陷还可能需要自旋、电荷和有限尺寸处理。这里没有计算形成能,不把未优化模型当成稳定缺陷。
下载可复跑资料包。在新的个人工作目录解压,短结构处理可直接运行 bash run.sh。每个菜单的逐行输入在 cases/*/commands.txt,模型在同目录,数据和图片在 analysis/、figures/。本包只含本站脚本和自建结构,不包含 ATOMKIT 程序或上游晶体库;软件许可以 $ATOMKIT_ROOT/license 为准。
需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。