使用 ASE 构建正交化 Cu(100) 表面模型

切面,是做表面化学最为关键的一步,通常我们优化完晶胞得到晶格常数后,就可以通过各种软件去切面了,比如家常用的鼠标点点破解版神器:Materials Studio。 但是,如果你需要的表面比较多,或者做一些批量式,高通量的工作,鼠标点一点的操作效率就低了,还伤眼睛,一天下来腰酸背痛。这里我们就需要用到ASE了,当然你也可以用pymatgen或者其他的。 具体的可以参考Surfaces — ASE documentation 里面的官方说明,在结合AI工具,就可以得到一个切面的小脚本了。几秒钟就能完成一天的工作量。

下面是我写的一个使用ASE快速搭建 Cu(100) 晶面 slab 模型的脚本的功能以及注意的细节。

  • 生成正交晶格的 Cu(100) 表面 slab,采用 正交晶格表示,便于后处理、网格划分与可视化;避免斜晶胞在吸附位点标定与覆盖率统计中的额外复杂性。
  • 设置材料与几何参数:
  • 元素,晶格常数
  • 设置不同的真空层厚度,
  • 设置不同的slab层数,
  • 自动扩胞并保存成对应的POSCAR: POSCAR:基础 1×1 的 Cu(100) 六层 slab, POSCAR_2x2:在平面方向扩胞至 2×2, POSCAR_4x4:在平面方向扩胞至 4×4。 方便大家结合自己的吸附物种进行选取,也可以很方便的调控覆盖度下的吸附计算。
  • 几何对齐与真空位置规范化
  • 自动将 slab 的 最低 z 面对齐至 z=0,使真空全部置于顶部:这与表面科学常用的“下实上虚”约定一致,便于统一处理表面构型与吸附高度。
  • 可以保存为Direct坐标或者Cartesian坐标 VASP5 标头),生成可直接提交计算的 POSCAR 系列文件,避免手工导入/导出/坐标系转换的潜在错误
  • 这个学会了,就很容易扩展到其他的FCC金属上了。也可以更加快速的进行其他面的cleave操作。

聪明的你可以把上面的细节放到AI里面,让他它帮你写一个脚本。如果你比较懒,就从我这里购买吧,10块钱买不了吃亏,买不了上当,遇到问题还能具体讲解一下。加微信:BigBroSci ,留言:Cu100,发红包即可。 此外,我也会把你拉到DFT计算群中,有问题可以跟大家一起交流。