从模拟的角度来看,化学气相沉积 (CVD) 或原子层沉积 (ALD) ,与涉及表面及其上方气相物质相互作用的其他过程类似。典型“表面-气相”相互作用,还包括物理气相沉积(PVD)、固-气相非均相催化以及等离子体-表面反应等。因此,原则上可以使用类似于下面介绍的 CVD 示例应用的设置来研究所有这些过程。
由于以下原因,模拟“表面-气相”相互作用通常涉及相当大的计算:
所采用的周期性表面模型的晶胞必须很大,以解释纳米尺寸下,薄膜沉积产生的无定形结构。如果(等离子体、溅射等)撞击表面的粒子的能量较高,则表面模型需要具有相当的厚度以避免粒子击穿表面。
为了模拟表面上的反应,分子动力学步长需要足够短,否则反应会严重失真。当研究低压气相(例如典型的高真空表面科学实验中出现的低压大气)时,这种情况更为严重。此外,表面反应可能涉及几个中间或扩散步骤,因此也需要大量的模拟时间。
即使本教程中介绍的加速动力学模拟,耗费超过数百万步,模拟过程中实现的有效压力也比实际情况高得多。虽然是一种折衷方案,不过任何特定位点的化学反应都发生得很快快,不会受到连续粒子撞击的影响,因此这种方法是合理的。
表面模型的局部温度可能会因粒子通量过强,或某些加速方法而显著升高。因此,需要监测模拟的温度峰值,出现异常时需要调整,以避免不切实际的副反应。
模型的合理性,对体系的演化至关重要。虽然此类长时间模拟的模型描述,仅限于经验力场或机器学习势,但建议在开始任何实际模拟之前,针对相关反应步骤涉及的力场参数实际上需要考虑是否适合用于 CVD 模型。虽然下面讨论的示例使用现成的 ReaxFF 力场参数来模拟现实的化学过程,但一般情况下不能如此现成。尤其是反应势垒高度的相对差异会影响模拟过程中发生的化学过程,随之显著改变体系演化的情况。因此,用户有责任使用经过充分验证的模型参数来进行这类模拟。
CVD 模拟中使用的模型如下 CVD 模拟模型草图所示:
粒子(可以是一个一个的原子、团簇、分子)被插入一个盒子(橙色)中,并直接平移(不经历中间飞行过程,以节省模拟时间)到靠近它的第一个落点的位置,然后粒子可以被吸附在表面上并在那里进行进一步的反应(蓝色),或者被反射(红色)或穿透表面(绿色)。在后一种情况下,它将离开Safe Box(整个虚线所示的盒子)并被移除。
如果没有任何原子固定,那么表面被撞击后会漂移,因此可以考虑固定表面的底部的一层原子作为“衬底”。
在“衬底”上方可以适当增加一个区域,设定为 NVT 系综,从而可以起到散热器的作用。
粒子从表面上方几纳米的区域内的随机位置入射,并且设定速度矢量指向下方。
为了节省粒子飞行期间的模拟步骤,粒子被平移到其飞行路径中的第一个撞击点附近,然后将其实际放置到该撞击点附近的模拟Box中。
在每个粒子与表面接触后的固定时间间隔内,开始使用fbMC方法加速动力学。
如果粒子远离表面,它也可能不会与模型的任何其他部分相互作用。Safe Box被定义为包含整个表面模型周围的大区域。如果任何杂散粒子离开Safe Box,Molecule Sink模块会自动将其移除。
Slab 模型是从晶体 Ge 结构获得的,其晶格参数通过所有后续模拟中使用的 CHOFeAlNiCuSCrSiGe.ff 力场进行了优化。将晶体转换为表面板模型后,将氧中心添加到表面并如下面所述进行弛豫。
打开连接,复制全文,在AMSinput中Ctrl v粘贴即可得到模型:
将最底层2层 Ge原子创建为 Region,名为 Fixed,次2层创建 Region 名为 Thermo,即 Fixed 这些原子将会被固定,而 Thermo 原子将会作为冷却器存在。(创建 Region 操作如果不熟悉,参考:如何创建分区)
Model → Geometry Constraints and PES Scan,选中 Fixed 这个 Region,点击右侧Fixed前面的+,即完成固定设置:
本文以ReaxFF作为范例,其他模块例如机器学习势、DFTB、基于BAND模块则属于AIMD,除了Main的参数设置不同,其他设置完全一致。
设置步数、步长、保存轨迹文件的频率、起始温度(可以不设置,自动沿用恒温器出现的第一个温度),以及 Checkpoint frequency(Checkpoint 文件极少用到,甚至连重启也很少用到,因此可以设置的很大,避免生成大量 Checkpoint 文件)
只对 Thermo 这个区域设置 NVT 系综(不同系综的设置参考:【入门基础教程】NVT、NPT、NVE系综的设置)
如此,整个体系将会被 Thermo 区域保温为接近 500K。因为后面正式模拟会采用 fbMC,因此弛豫过程中,我们也同样采用 fbMC(fbMC 的参数含义、fbMC 本身的物理意义,请参考:fbMC:加速分子动力学模拟中反应发生):
我们特意在 fbMC 阶段使用比恒温器稍低的温度(450 vs 500 K),以避免模拟过程中温度峰值过高。这种选择是合理的,因为我们对系统的化学演化感兴趣。此外,由于撞击粒子流增加了系统的能量,因此在这种情况下保持温度稳定比精确的热力学采样更重要。在其他应用中,fbMC 温度和 fbMC 步长对实际观测到的温度的影响需要用户验证。
保存并运行作业。并注意检查弛豫的结果是否符合要求(参考:【入门基础教程】分子动力学模拟准备:弛豫)
弛豫结束后,AMSinput 窗口弹出对话框:
询问是否读取弛豫后的结构?其中勾选Use MD velocities from results for AMS MD restart选项表示不仅结构更新为弛豫后的结构,而且速度也沿用弛豫最后一帧的原子速度。
点击Yes, new job,另存一个作业,避免覆盖前面弛豫的作业。
首先调整 MD 和 fbMC 的设置:
7000步以后才启动 fcMC,和后面设置的启动Mol Gun的时间是一样的。
在现有模型上空创建需要入射的分子,这里是O$_2$链接(点击)和AlH$_3$链接(点击),或直接导入也可(类似前面,复制坐标,在AMSinput窗口直接粘贴)。如果粘贴之后与表面重叠,建议将其用鼠标右键拖出来。
Model → region 分别为 O2 和 AlH3 创建 Region:
Model → Molecule Gun 入射设置(点击两次+,分别设置 AlH$_3$、O$_2$ 的入射参数)如下:
其中:
使用Molecule Sink移除逸出粒子
表示任意粒子,只要跑出z方向±150 C尺寸的范围,即从体系中移除。
值得注意的是,系综的设置,我们仍然保留了前面弛豫过程的设置,即只是Thermo设置了温度,其他区域的原子则由于有了初始的运动速度、能量等数据,自由演变即可,底部Thermo仍然充当了冷却装置的角色,将体系向500K方向冷却。
保存作业并运行(作业的*.ams文件以及生成的轨迹文件下载)
经过仿真,我们得到如下图所示的模型结构。原始表面被非晶界面层覆盖,随后是一层厚而松散的氧化铝膜,膜表面有许多吸附的水分子和羟基以及一些化学吸附的铝络合物部分。
我们通过从结果中观察到的几点来结束本教程:
在 CVD 模拟过程中,可以观察到入射粒子出现在表面上方,被吸收后发生反应或脱附,或者立即被反射。平均而言,更多的入射粒子最终会结合到表面,从而形成随着时间的推移而生长的非晶态氧化铝薄膜。
随着更多化学键的形成,系统的总能量不断降低。在模拟开始时,我们观察到强烈的温度波动,随着时间的推移逐渐减小。这个观察结果模型很小导致的必然结果,体系的温度很容易受到撞击粒子的影响。
由于本教程包含冗长的计算,我们选择减小模型大小。在实际的计算研究中,使用更厚、更大的Slab模型可能更合适。
根据精确的模拟条件(温度、粒子通量、粒子动能等),会出现具有不同属性的薄膜。例如,提高温度通常会降低膜中的水含量,同时增加其密度。颗粒通量的摩尔分数也会影响沉积膜。为了获得干净的氧化铝薄膜,建议在沉积过程中使用过量的氧气。
我们通常观察到锗表面保持完整,没有任何原子解吸。锗层和氧化铝层之间的界面由GeAl合金层形成,该合金层又源自AlH$_3$颗粒和清洁表面之间的相互作用。随着氧化的增加,沉积的薄膜分离成基本纯净的氧化铝薄膜和GeAl合金界面层。根据具体条件,在相分离过程中还可以观察到小的合金簇在薄膜顶部移动。