这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
adf:cvhd [2021/12/21 18:25] – [一般性参数设置] liu.jun | adf:cvhd [2023/04/23 17:22] (当前版本) – [CVHD加速方法适用于AMS中ReaxFF、ADF、BAND、DFTB、MOPAC的分子动力学模拟] liu.jun | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ======ReaxFF-CVHD:Collective Variable-Driven Hyperdynamics加速分子动力学模拟中的裂解反应发生====== | + | ======CVHD:加速分子动力学模拟中的裂解反应发生====== |
=====Collective Variable-driven HyperDynamics (CVHD)原理==== | =====Collective Variable-driven HyperDynamics (CVHD)原理==== | ||
行 49: | 行 49: | ||
* AMS中各个计算引擎有自己的最小键级统计阈值,例如ReaxFF中键级小于0.3的键,将被统计为无键连,对此种情况,CVHD的阈值小于0.3就不合适 | * AMS中各个计算引擎有自己的最小键级统计阈值,例如ReaxFF中键级小于0.3的键,将被统计为无键连,对此种情况,CVHD的阈值小于0.3就不合适 | ||
+ | =====HyperDynamics与MetaDynamic的差别与联系===== | ||
+ | ====优势==== | ||
+ | HyperDynamics的优点:它是针对复杂系统的,目标是探索反应性,bias总是沿着一个特殊的CV设置,而CV是系统中总键数,因此系统倾向于断键。因为bias很具体,所以比MetaDynamic需要的用户输入参数要少。另一个优点是可以从中恢复出动力学信息,MetaDynamic则不能。 | ||
+ | MetaDynamic的优点:如果要模拟单个反应,MetaDynamic通常效果最好。它能返回自由能表面,但没有动力学信息(至少不能直接得到动力学信息)。通过沿一组CV添加bias来加速模拟。在MetaDynamic中,CV必须由用户根据其对反应的了解来构造,因此MetaDynamic需要用户在这方面拥有专家级知识。 | ||
+ | ====适用范围==== | ||
+ | * HyperDynamics:多个反应步骤,步骤未知 | ||
+ | * MetaDynamic:单个反应步骤,用户是否大致了解其机制 | ||
+ | |||
+ | AMS的PLUMED中也有MetaDynamic的接口,PLUMED有一个相当不错的CV库。CV是原子坐标的函数,PLUMED开发了一种语言来构造更复杂的CV。 | ||
+ | |||
+ | 下面是一个实例,在AMS分子动力学作业的MolecularDynamics字段中,添加了简单的PLUMED MolecularDynamics设置,用于展示脚本格式: | ||
+ | < | ||
+ | MolecularDynamics | ||
+ | InitialVelocities | ||
+ | Temperature 300 | ||
+ | end | ||
+ | NSteps 1000 | ||
+ | Plumed | ||
+ | Input | ||
+ | COORDINATION GROUPA=1 GROUPB=2-6 R_0=0.18 NN=6 LABEL=cv1 | ||
+ | COORDINATION GROUPA=2 GROUPB=7-12 R_0=0.12 NN=6 LABEL=cv2 | ||
+ | METAD ARG=cv1,cv2 SIGMA=0.02, | ||
+ | PRINT ARG=cv1, | ||
+ | end | ||
+ | end | ||
+ | Thermostat | ||
+ | Tau 10 | ||
+ | Temperature 300 | ||
+ | Type NHC | ||
+ | end | ||
+ | TimeStep 0.5 | ||
+ | end | ||
+ | </ | ||
+ | 使用的CV是: | ||
+ | * 原子1和原子2~6之间的配位数 | ||
+ | * 原子2和原子7~12之间的配位数 | ||
+ | 模拟将生成一个名为HILLS的文件,从中可以读取2D自由能曲面(需要AMS的脚本工具)。 | ||
+ | |||
+ | 本文主要介绍HyperDynamics的应用。 | ||
=====CVHD加速方法适用于AMS中ReaxFF、ADF、BAND、DFTB、MOPAC的分子动力学模拟===== | =====CVHD加速方法适用于AMS中ReaxFF、ADF、BAND、DFTB、MOPAC的分子动力学模拟===== | ||
本文介绍基于ReaxFF的分子动力学中,如何调用CVHD达到加速热解反应的效果,在AMS中,也支持其他模块如BAND、DFTB、MOPAC的分子动力学调用该方法进行加速,除去各个计算引擎本身的方法参数设置之外,分子动力学参数、CVHD参数的设置与本文完全一致(图像界面是一致的)。 | 本文介绍基于ReaxFF的分子动力学中,如何调用CVHD达到加速热解反应的效果,在AMS中,也支持其他模块如BAND、DFTB、MOPAC的分子动力学调用该方法进行加速,除去各个计算引擎本身的方法参数设置之外,分子动力学参数、CVHD参数的设置与本文完全一致(图像界面是一致的)。 | ||
行 66: | 行 105: | ||
这种加速方法,适用于中等规模的体系:CV相关的键的数量最好在1000个左右,或者更少一些,当然略多一些问题也不大,数量太大CVHD的加速效果就不明显了,因为会太频繁地触发事件,从而限制bias累积速度,进而限制裂解加速效果。 | 这种加速方法,适用于中等规模的体系:CV相关的键的数量最好在1000个左右,或者更少一些,当然略多一些问题也不大,数量太大CVHD的加速效果就不明显了,因为会太频繁地触发事件,从而限制bias累积速度,进而限制裂解加速效果。 | ||
+ | |||
+ | ChemTrazYer2.0支持基于CVHD模拟的结果的基元反应分析。 | ||
=====分子动力学参数设置===== | =====分子动力学参数设置===== | ||
====模型==== | ====模型==== | ||
行 71: | 行 112: | ||
{{ : | {{ : | ||
====一般性参数设置==== | ====一般性参数设置==== | ||
- | 选择力场CHO(不同模块,例如BAND、DFTB、MOPAC,分子动力学参数设置区别仅在此窗口,后面的分子动力学参数设置、CVHD参数设置与本教程所示完全一致): | + | 选择力场CHO**(不同模块,例如ADF、BAND、DFTB、MOPAC,分子动力学参数设置区别仅在此窗口,后面的分子动力学参数设置、CVHD参数设置与本教程所示完全一致)**: |
{{ : | {{ : | ||
- | 设置总步数、步长(如上所述比一般MD偏小,这里设置为0.2实际偏大了)、轨迹文件保存频率(如果不关心轨迹本身,则该值可以设置很大例如1000,如果关心轨迹本身,例如需要通过轨迹观察反应的路径,则需要设置的较小例如100)、checkpoint保存频率一般都设置的比较大,例如10万步: | + | 设置总步数、步长(如上所述比一般MD偏小,这里设置为0.2已经偏大,建议设置为0.1)、轨迹文件保存频率(如果不关心轨迹本身,则该值可以设置很大例如1000,如果关心轨迹本身,例如需要通过轨迹观察反应的路径,则需要设置的较小例如100)、checkpoint保存频率一般都设置的比较大,例如10万步: |
{{ : | {{ : | ||
行 100: | 行 141: | ||
{{ : | {{ : | ||
其中 | 其中 | ||
- | * bond order cut off即上文说的阈值,低于该阈值的键级不纳入CV η范围,一般默认0.5即可 | + | * bond order cut off即上文说的阈值,低于该阈值的键级不纳入CV的η值计算范围,一般默认0.5即可 |
* Rmin与Rmax含义如上文所述 | * Rmin与Rmax含义如上文所述 | ||
* Exponent P含义如上文中CV的η值相关公式所示 | * Exponent P含义如上文中CV的η值相关公式所示 | ||
行 106: | 行 147: | ||
=====结果查看===== | =====结果查看===== | ||
+ | 如果不启动CVHD,其他参数与条件保持不变,则无法观察到任何反应。但启用的情况下,发生了多次裂解反应。 | ||
====HyperTime==== | ====HyperTime==== | ||
如前面所述,HyperTime是无bias时的“真实”时间尺度,即在没有CVHD的情况下一个进程需要多长时间。SCM - Movie - Graph - delete Graph去掉默认显示的能量变化曲线,然后MD Properties - HyperTime,可以看到纵坐标为HyperTime,横坐标为帧。可以把横坐标改为MD时间:MD Properties - time - Graph - Curve on X,则x轴变为了MD的时间。 | 如前面所述,HyperTime是无bias时的“真实”时间尺度,即在没有CVHD的情况下一个进程需要多长时间。SCM - Movie - Graph - delete Graph去掉默认显示的能量变化曲线,然后MD Properties - HyperTime,可以看到纵坐标为HyperTime,横坐标为帧。可以把横坐标改为MD时间:MD Properties - time - Graph - Curve on X,则x轴变为了MD的时间。 | ||
行 181: | 行 223: | ||
为了提高计算效率,本教程使用了一个小示例系统以及最少的步骤。直接后果: | 为了提高计算效率,本教程使用了一个小示例系统以及最少的步骤。直接后果: | ||
* 我们不能期望任何合理的统计数据或速率常数 | * 我们不能期望任何合理的统计数据或速率常数 | ||
- | * 大多数基本反应只观察一次,有些完全没有观察到 | + | * 大多数基本反应只观察到一次,有些完全没有观察到 |
* 只能对时间尺度进行粗略的数量级估计 | * 只能对时间尺度进行粗略的数量级估计 | ||
* 多次模拟,可能产生大不相同的结果 | * 多次模拟,可能产生大不相同的结果 |