这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
atk:使用akmc方法模拟si0.5ge0.5中空位的扩散 [2018/05/27 10:35] – [运行 AKMC 模拟] xie.congwei | atk:使用akmc方法模拟si0.5ge0.5中空位的扩散 [2018/06/15 10:23] (当前版本) – [使用AKMC方法模拟Si0.5Ge0.5中空位的扩散] fermi | ||
---|---|---|---|
行 1: | 行 1: | ||
====== 使用AKMC方法模拟Si0.5Ge0.5中空位的扩散 ====== | ====== 使用AKMC方法模拟Si0.5Ge0.5中空位的扩散 ====== | ||
- | |||
- | |||
- | |||
- | |||
**版本:**2017. alpha | **版本:**2017. alpha | ||
行 13: | 行 9: | ||
对于经典的 MD 模拟,超过几百纳秒的模拟是不切实际的。但是,通过使用 AKMC,我们将能够在更长的时间范围内对体系的动态进行模拟。这是因为 KMC 模拟是将体系的动态描述为状态之间的转换,故一旦发现就可以快速计算出来。 | 对于经典的 MD 模拟,超过几百纳秒的模拟是不切实际的。但是,通过使用 AKMC,我们将能够在更长的时间范围内对体系的动态进行模拟。这是因为 KMC 模拟是将体系的动态描述为状态之间的转换,故一旦发现就可以快速计算出来。 | ||
</ | </ | ||
+ | |||
+ | |||
+ | <WRAP center info 100%> | ||
+ | === 提示 === | ||
+ | **本教程使用特定版本的QuantumATK创建,因此涉及的截图和脚本参数可能与您实际使用的版本略有区别,请在学习时务必注意。** | ||
+ | </ | ||
+ | |||
{{ : | {{ : | ||
行 103: | 行 106: | ||
</ | </ | ||
- | 选择 **Labfloor** 上 akmc_markov_chain.nc 文件里的 labfloor_markovchain.png // | + | 选择 **Labfloor** 上 akmc_markov_chain.nc 文件里的 |
检查每个状态(下面图里显示的为状态 0 和状态 5),使用 movie 工具里的播放按钮 {{: | 检查每个状态(下面图里显示的为状态 0 和状态 5),使用 movie 工具里的播放按钮 {{: | ||
行 121: | 行 124: | ||
+ | {{ : | ||
+ | 从状态5我们发现了连接状态 4 和状态 9 的鞍点。它们具有比从状态 0 开始更高的势垒。当您看到过程影片时,硅和锗在空位中扩散、互换。如果您在结构窗口上单击鼠标右键,可以选择 Show Bonds,这有助于沿着能量图显示原子的运动。 | ||
==== 状态 5 ==== | ==== 状态 5 ==== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | <WRAP center important 100%> | ||
+ | === 注意 === | ||
+ | 谨记,您可能从随机生成的合金中获得其他结果。 | ||
+ | </ | ||
+ | |||
+ | //Kinetic Monte Carlo// 数据块里存储着时间和状态间变化的轨迹,还有沿 Markov chain 的步数排列(即 KMC 步数)。按下 '' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 以上分析显示了采用 //Kinetic Monte Carlo// 方法模拟,状态随时间的变化轨迹。KMC 步数、运算时间及其对应的状态 ID 和能量都显示在下表中。点击 {{: | ||
+ | |||
+ | 在 **LabFloor**,点击 '' | ||
+ | |||
+ | < | ||
+ | # Item: 0 | ||
+ | # File: C: | ||
+ | # Title: akmc_kmc.nc - gID000 | ||
+ | # Type: KineticMonteCarlo | ||
+ | Step # Time (seconds) | ||
+ | 0 | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | 10 | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | 它包含了与我们在 **Kinetic Monte CarloAnalyzer** 表中所见的信息。此处,我们展示了一个较长的模拟结果,500 个鞍点的搜索。第一列是 KMC 算法的步数编号,第二列代表 KMC 仿真中的总运算时间,第三列显示的是当前状态编号,并与 // | ||
+ | |||
+ | |||
+ | <WRAP center important 100%> | ||
+ | === 注意 === | ||
+ | 请不要混淆 KMC 步骤数和鞍点编号。KMC 模拟过程中选择发现的鞍点代表了它们是最有可能事件。为了确保模拟的准确性,Markov chain 中的每个状态都具有相关的置信度,它是对每个 KMC 步骤相对应状态的概率估计,必然事件会被选中。在每个状态下都要执行鞍点搜索,直到达到用户定义的置信度。一旦达到置信水平,KMC 模拟将继续进行,直至状态的置信度低于目标水平。 | ||
+ | </ | ||
+ | |||
+ | |||
+ | 上面的输出内容包含的 KMC 步数要比脚本中设定的500个鞍点搜索数目多。这表明在某种程度上,KMC 算法在相同状态之间来回跳动。但由于 AKMC 是一种随机方法,也完全可能出现与此相反的情况,即 KMC 总步数远小于指定的鞍点搜索数。这种行为也是非常依赖系统的。 | ||
+ | |||
+ | <WRAP center important 100%> | ||
+ | === 注意 === | ||
+ | 请注意最终时间大于 1 微秒。这个时间尺度要比我们调查到的单独采用 MD 所用时间长得多。 | ||
+ | </ | ||
+ | |||
+ | 在在 **LabFloor**,您将能找到一个 {{: | ||
+ | |||
+ | < | ||
+ | |||
+ | # Item: 0 | ||
+ | # File: C: | ||
+ | # Title: akmc_log.nc - gID000 | ||
+ | # Type: AKMCLog | ||
+ | state id search number confidence | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | 第一列是用于鞍点搜索的初始状态的 // | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===== 结论 ===== | ===== 结论 ===== | ||
+ | 在本教程中,我们研究了在 300 K 下,怎样采用 AKMC 方法对含有 1 个空位的合金进行扩散模拟。AKMC 方法可以有效地搜索 1 微秒时间范围内初始状态附近的鞍点。当您运行更长时间的模拟或搜索更多鞍点时,可以选择与在实验上为了理解状态间动态变化所用时间相当的范围。 | ||
+ | |||
+ | 在一项真正的研究中,验证经典势能的结果和采用 DFT 重新优化 NEB 描述势垒总是非常重要的,这对于更准确的判断系统的路径也是很有帮助的。 | ||
===== 参考 ===== | ===== 参考 ===== | ||
+ | * 英文原文:[[https:// |