这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
atk:生成无定形结构 [2016/10/10 16:12] – [创建晶体/无定形界面] dong.dong | atk:生成无定形结构 [2018/03/20 22:23] (当前版本) – liu.jun | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ======生成无定形结构====== | + | ======创建无定形材料结构模型====== |
=====引言===== | =====引言===== | ||
- | 无定形固体材料在广泛的技术领域里的重要性越来越高。晶体结构通常都能够很好的定义和描述,而要对特定无定形材料进行原子尺度的模拟,建立结构模型是相当困难的一件事。本例示范如何使用 VNL 创建无定形结构,并使用 | + | 无定形固体材料在广泛的技术领域里的重要性越来越高。晶体结构通常都能够很好的定义和描述,而要对特定无定形材料进行原子尺度的模拟,建立结构模型是相当困难的一件事。本例示范如何使用 VNL 创建无定形结构,并使用 |
无定形结构,顾名思义就是组分原子、分子没有任何周期性顺序的结构。无定形结构常见于各种材料中,例如玻璃、聚合物。其力学性质、电子性质,通常与晶体区别很大。一个典型的例子是无定形二氧化硅的热胀系数比对应的石英晶体要小一个数量级。 | 无定形结构,顾名思义就是组分原子、分子没有任何周期性顺序的结构。无定形结构常见于各种材料中,例如玻璃、聚合物。其力学性质、电子性质,通常与晶体区别很大。一个典型的例子是无定形二氧化硅的热胀系数比对应的石英晶体要小一个数量级。 | ||
行 16: | 行 16: | ||
本例模拟无定形二氧化硅,也就是熔融的二氧化硅(石英)。这是应用最广泛的无定形材料,比如用于常规或特种玻璃,或者半导体工业。本例还会介绍如何创建晶体区域和无定形区域之间的界面。 | 本例模拟无定形二氧化硅,也就是熔融的二氧化硅(石英)。这是应用最广泛的无定形材料,比如用于常规或特种玻璃,或者半导体工业。本例还会介绍如何创建晶体区域和无定形区域之间的界面。 | ||
- | 如果你不熟悉分子动力学模拟,那么可以从 [[atk: | + | 如果你不熟悉分子动力学模拟,那么可以从 [[atk: |
<WRAP center box 100%> | <WRAP center box 100%> | ||
行 29: | 行 29: | ||
您应该从 SiO< | 您应该从 SiO< | ||
- | 打开 Builder,点击 Add ‣ From Database,搜索 SiO2。选择 cristobalite,点击右下角“➕”将其添加到 Builder 窗口中: | + | 打开 Builder,点击 Add ‣ From Database,搜索 SiO2。选择 cristobalite,点击右下角“+”将其添加到 Builder 窗口中: |
{{ : | {{ : | ||
行 38: | 行 38: | ||
====设置模拟==== | ====设置模拟==== | ||
- | 将结构拖到 ScriptGenerator,添加一个 NewCalculator,以及 Optimize ‣ MolecularDynamics 到 Script 面板。双击 NewCalculator,选择 ATK-Classical 计算器,使用 Pedone_Fe2_2006 力场((A. Pedone, et al: A New Self-Consistent Empirical Interatomic Potential Model for Oxides, Silicates, and Silica-Based Glasses. J. Phys. Chem. B 110, 11780, 2006))。去掉 Print 和 Save 的 ☑️,点击 OK 结束 NewCalculator 设置。 | + | 将结构拖到 |
- | 双击 MolecularDynamics,为了熔化晶体,需要将温度设置的非常高,比如 5000K。因为这个初始的模拟主要的目的是为了将原子的排布随机化,因此这一步不需要固定压强。因此 Type 选择 NVT 系综(关于 | + | 双击 |
设置 Steps 为 20000,Log interval 为 5000,保存轨迹的文件名为 SiO2_5000K_low_density_traj.nc。在 Initial Velocity 栏,选择Maxwell-Boltzmann,并设置温度为 5000K。 | 设置 Steps 为 20000,Log interval 为 5000,保存轨迹的文件名为 SiO2_5000K_low_density_traj.nc。在 Initial Velocity 栏,选择Maxwell-Boltzmann,并设置温度为 5000K。 | ||
行 48: | 行 48: | ||
{{ : | {{ : | ||
- | 使用{{: | + | 使用{{: |
====修改脚本==== | ====修改脚本==== | ||
- | 有的时候,尤其是当你试图熔融、随机化相对较小的超胞的晶体结构,即使温度远高于实验熔点也会比较困难。抛开力场,这种现象的原因是盒子的周期性边界条件实际上为晶体增加了额外的“稳定”性。一般而言,超胞越小,这种周期边界带来的人为“稳定”效果就越强。另外,要记得 NVT 系综的体积是固定的,因此在高温的时候,体系的压强非常大,这实际上也提升了熔点,对某些情况可能会导致倾向于其他的晶相而不是液相。 | + | 有的时候,尤其是当你试图熔融、随机化相对较小的超胞的晶体结构,即使温度远高于实验熔点也会比较困难。除力场的因素外,这种现象的原因是盒子的周期性边界条件实际上为晶体增加了额外的“稳定”性。一般而言,超胞越小,这种周期边界带来的人为“稳定”效果就越强。另外,要记得 NVT 系综的体积是固定的,因此在高温的时候,体系的压强非常大,这实际上也提升了熔点,对某些情况可能会导致倾向于其他的晶相而不是液相。 |
修改脚本中定义晶格的部分,如下所示: | 修改脚本中定义晶格的部分,如下所示: | ||
行 69: | 行 69: | ||
比例因子 scale_cell 在这里不太重要。如果你发现 5000K 熔化之后还残余部分晶体特征,那么可以适当增大。 | 比例因子 scale_cell 在这里不太重要。如果你发现 5000K 熔化之后还残余部分晶体特征,那么可以适当增大。 | ||
- | 把修改后的脚本发送到 Job Manager 并运行。 | + | 把修改后的脚本发送到 |
- | 大约需要几分钟时间,计算就能完成。在 LabFloor 中选择生成的轨迹文件,使用右侧的 Movie Tool 可以看到原子以混乱的方式到处运动,频繁地穿越盒子的边界。为了看的更清楚,可以把动画的最后一帧,通过 Movie Tool 窗口右下角的{{: | + | 大约需要几分钟时间,计算就能完成。在 |
- | 在 Builder 里面,点击 Bulk Tools ‣ Wrap ‣ Apply,可以将所有穿过周期性边界的原子都投射回到盒子中。 | + | 在 **Builder** 里面,点击 Bulk Tools ‣ Wrap ‣ Apply,可以将所有穿过周期性边界的原子都投射回到盒子中。 |
最后的结构看起来类似如下: | 最后的结构看起来类似如下: | ||
行 81: | 行 81: | ||
由于局部区域原子簇的密度发生了这种人为性的降低,所以分布不变得均匀。不过对之前的晶体结构进行完全的随机化这个目的完全达到了。 | 由于局部区域原子簇的密度发生了这种人为性的降低,所以分布不变得均匀。不过对之前的晶体结构进行完全的随机化这个目的完全达到了。 | ||
- | 为了恢复到最初的密度,将该结构发送到 ScriptGenerator,完全一样的重复上面的步骤(即,准备 NewCalculator 和 MolecularDynamics 脚本,并送到 Editor 中),但比例因子 scale_cell 设置为 1.1,而不像之前那样,为了降低密度而设置成几倍。这个过程将会压缩体系的密度到原先的较为均匀的密度(总体密度实际上没有改变)。温度仍然设置为 5000K、20000 步运行计算,达到平衡,将 Movie Tool 中最后一帧结构送到 Builder 中,并 Wrap 结构。 | + | 为了恢复到最初的密度,将该结构发送到 |
====冷却结构、调整密度==== | ====冷却结构、调整密度==== | ||
观察生成的结构的局部原子排布,你会看到大量的结构缺陷,例如配位缺失的原子(例如氧原子周围只有一个硅原子)。 | 观察生成的结构的局部原子排布,你会看到大量的结构缺陷,例如配位缺失的原子(例如氧原子周围只有一个硅原子)。 | ||
行 257: | 行 257: | ||
最后,这一节在技术上,提供其他产生无定形结构的例子,包括三氧化二铝、二氧化钛、二氧化铪。 | 最后,这一节在技术上,提供其他产生无定形结构的例子,包括三氧化二铝、二氧化钛、二氧化铪。 | ||
====Al2O3==== | ====Al2O3==== | ||
- | 创建三氧化二铝无定形结构,基本流程可以参考文献< | + | 创建三氧化二铝无定形结构,基本流程可以参考文献< |
- | 为了设置这个体系,你需要导入α-Al< | + | 为了设置这个体系,你需要导入 α-Al< |
- | [[docs.quantumwise.com/ | + | |
- | </ | + | |
- | 在Builder里面,点击Add ‣ From Files,选中该文件。为了更方便的控制MD模拟,三角晶系盒子需要改为立方盒子。有几种方式。可能的一种:Builders ‣ Surface(Cleave) tool。选择(10-10)米勒指数点击Next并选择3x1表面晶格。点击Next选择Periodic (bulk-like) ,厚度为4层。点击Finish的到正交的超胞结构,包含360原子。 | + | |
- | 现在可以进行和上面相似的过程进行模拟,唯一的差别是,冷却过程中,密度固定到3.175 g/ | + | 现在可以进行和上面相似的过程进行模拟,唯一的差别是,冷却过程中,密度固定到 3.175 g/ |
- | - 进行5000K高温模拟MD模拟,并降低密度; | + | - 进行 5000K 高温模拟 MD 模拟,并降低密度; |
- | - 使用NVT Nose-Hoover Chain系综,冷却系统到3000K; | + | - 使用 NVT Nose-Hoover Chain 系综,冷却系统到 3000K; |
- 压缩体系到希望的无定形密度; | - 压缩体系到希望的无定形密度; | ||
- | - 退火到3000K; | + | - 退火到 3000K; |
- 缓慢冷却体系到室温; | - 缓慢冷却体系到室温; | ||
- 在室温进行最后的模拟,计算物理量。 | - 在室温进行最后的模拟,计算物理量。 | ||
- | 将正交盒子送到ScriptGenerator,设置基本的MD模拟脚本。添加一个NewCalculator,两个Optimize ‣ MolecularDynamics。 | + | 将正交盒子送到 ScriptGenerator,设置基本的 MD 模拟脚本。添加一个 NewCalculator,两个 Optimize ‣ MolecularDynamics。 |
- | 在NewCalculator中选择ATK-Classical以及Matsui_CaMgAlSiO_1994力场。 | + | 在 NewCalculator 中选择 ATK-Classical 以及 Matsui_CaMgAlSiO_1994 力场。 |
- | 在第一个MolecularDynamics设置系综为NVT Nose-Hoover Chain,150000steps,log interval为5000,取消Save trajectory的勾选。initial velocities设置为Maxwell-Boltzmann- distribution,5000K。设置reservoir temperature为5000K,最终温度设为3000K。其他参数保持默认即可。最后取消Save和Print的勾选。关闭窗口,将脚本送入Editor。 | + | 在第一个 MolecularDynamics 设置系综为 NVT Nose-Hoover Chain,150000 steps,log interval 为 5000,取消 Save trajectory 的勾选。initial velocities 设置为 Maxwell-Boltzmann-distribution,5000K。设置reservoir temperature 为 5000K,最终温度设为 3000K。其他参数保持默认即可。最后取消Save和Print的勾选。关闭窗口,将脚本送入 Editor。 |
- | 第二个MolecularDynamics设置类似。但steps设置为300000,reservoir temperature设为3000K,最终温度为300K。 | + | 第二个 MolecularDynamics 设置类似。但 steps 设置为 300000,reservoir temperature 设为 3000K,最终温度为 300K。 |
- | 为了人为地降低密度,需要再次将三个晶格常数改为原先的1.1倍。 | + | 为了人为地降低密度,需要再次将三个晶格常数改为原先的 1.1 倍。 |
- | 第一个MolecularDynamics产生3000K的液态结构,密度被降低。基于这个体系,密度需要被调整到目标密度3.175 g/ | + | 第一个 MolecularDynamics 产生 3000K 的液态结构,密度被降低。基于这个体系,密度需要被调整到目标密度 3.175 g/ |
<code pyhton> | <code pyhton> | ||
行 316: | 行 313: | ||
bulk_configuration.setCalculator(calculator) | bulk_configuration.setCalculator(calculator) | ||
</ | </ | ||
- | 这段代码会提取体积,计算密度,以及得到精确目标密度3.175 g/ | ||
- | 保存整个脚本为python文件(最终的脚本范例,见附件中),运行该脚本。大约需要几个小时才能完成。完成模拟之后,可以如常分析结构。 | + | 这段代码会提取体积,计算密度,以及得到精确目标密度 3.175 g/ |
- | 完整的脚本:<WRAP center round download 55%> | + | 保存整个脚本为 python 文件(最终的脚本范例,见附件中),运行该脚本。大约需要几个小时才能完成。完成模拟之后,可以如常分析结构。 |
- | [[docs.quantumwise.com/ | + | |
- | </ | + | |
- | ====TiO2==== | + | 完整的脚本:{{ : |
- | 模拟无定形二氧化钛,需要使用Matsui and Akaogi力场((M Matsui and M. Akaogi: Molecular dynamics simulations of the structural and physical properties of the four polymorphs of TiO2. Mol. Sim. 6, 239, 1991))。这个力场已经被大量地用于二氧化钛的晶体和无定形结构模拟,得到的性质与DFT MD模拟非常一致。这个力场目前VNL中没有,但可以在脚本里面非常简单的设置。直接下载脚本: | + | ==== TiO2 ==== |
- | [[docs.quantumwise.com/ | + | 模拟无定形二氧化钛,需要使用 Matsui and Akaogi 力场((M Matsui and M. Akaogi: Molecular dynamics simulations of the structural and physical properties of the four polymorphs of TiO2. Mol. Sim. 6, 239, 1991))。这个力场已经被大量地用于二氧化钛的晶体和无定形结构模拟,得到的性质与 DFT MD 模拟非常一致。这个力场目前VNL中没有,但可以在脚本里面非常简单的设置。直接下载脚本:{{ :atk: |
- | </ | + | |
- | 拷贝并粘贴到后面将要提到的过程中产生脚本的顶部。 | + | 设置体系:打开 Builder,使用 Add ‣ From Database 添加 TiO2 的金红石晶体结构。使用Bulk tools ‣ Repeat 功能创建 4x4x6 重复,包含 576 原子。将结构送入 ScriptGenerator 并设置和三氧化二铝相同的基本的 MD 脚本。将脚本送入 Editor。 |
- | + | ||
- | 设置体系:打开Builder,使用Add ‣ From Database添加TiO2的金红石晶体结构。使用Bulk tools ‣ Repeat功能创建4x4x6重复,包含576原子。将结构送入ScriptGenerator并设置和三氧化二铝相同的基本的MD脚本。将脚本送入Editor。 | + | |
找到calculator的定义部分,如下: | 找到calculator的定义部分,如下: | ||
行 339: | 行 331: | ||
</ | </ | ||
- | 将potentialSet = ...整行替换成上面的附件Matsui_TiO.py的内容。 | + | 将 potentialSet = ...整行替换成上面的附件 Matsui_TiO.py 的内容。 |
当调整体积以便得到希望的密度的时候,确保你选用的脚本里面使用的是正确的化学计量法,正确的元素质量,以及正确的目标密度。无定形的二氧化钛的密度为3.80 g/ | 当调整体积以便得到希望的密度的时候,确保你选用的脚本里面使用的是正确的化学计量法,正确的元素质量,以及正确的目标密度。无定形的二氧化钛的密度为3.80 g/ | ||
- | 完整的脚本下载:<WRAP center round download 50%> | + | 完整的脚本下载:{{ : |
- | [[docs.quantumwise.com/ | + | |
- | </ | + | |
====HfO2==== | ====HfO2==== | ||
- | 对于二氧化铪,可以使用Wang et al力场((Y. Wang, F. Zahid, J. Wang, H. Guo: Structure and dielectric properties of amorphous high-k oxides: HfO2 , ZrO2 , and their alloys. Phys. Rev. B 85, 224110, 2012)),在VNL-ATK中名为Wang_HfOZr_2012。 | + | 对于二氧化铪,可以使用 Wang //et al// 力场((Y. Wang, F. Zahid, J. Wang, H. Guo: Structure and dielectric properties of amorphous high-k oxides: HfO2 , ZrO2 , and their alloys. Phys. Rev. B 85, 224110, 2012)),在 |
- | 同样的,可以从database中添加HfO2结构。通过Bulk tools ‣ Supercell plugin,点击Conventional和Transform,将FCC晶格转为常规单胞。对体系进行3x3x3重复,得到合适的超胞尺寸。 | + | 同样的,可以从 database 中添加 HfO2 结构。通过 Bulk tools ‣ Supercell plugin,点击 Conventional 和 Transform,将 FCC 晶格转为常规单胞。对体系进行 3x3x3 重复,得到合适的超胞尺寸。 |
- | 和前面两个例子完全一样地设置脚本。确保选取的体系和元素参数一致,无定形结构密度使用7.97 g/cm3 < | + | 和前面两个例子完全一样地设置脚本。确保选取的体系和元素参数一致,无定形结构密度使用 7.97 g/cm3 < |
- | + | ||
- | 完整的脚本下载:< | + | |
- | [[docs.quantumwise.com/ | + | |
- | </ | + | |
+ | 完整的脚本下载:{{ : | ||
===== 参考 ===== | ===== 参考 ===== | ||