【CP2K教程(一)】元动力学(metadynamics)与增强采样技术

1. 什么是metadynamics?

【CP2K教程(一)】元动力学(metadynamics)与增强采样技术_第1张图片

自20世纪50年代后期分子动力学(MD)早期出现以来,它已成为许多科学分支的标准工具,从物理学到生物学,从化学到材料科学。高端计算领域的进步,让我们可以了解复杂过程背后的机制、解释实验结果并做出预测。然而,只有当运行时间足够长,系统能够访问所有能量相关的构型,系统在模的时间尺度上是遍历的,MD模拟的结果才有意义。由于相关的构型可能会被高自由能垒分开,从一种亚稳态到另一种亚稳态的变化很难发生。

事实上,在使用原子经验力场的典型MD模拟中,需要使用飞秒级的时间步长(即 10−15 秒)来正确地积分运动方程。感兴趣的过程往往发生在更长的时间尺度上。例如,蛋白质变性需要超过 10−4 秒的时间来采集能量并找到折叠态。从这些考虑来看,MD明显受到时间尺度问题的困扰。人们提出了各种各样的方法来解决这个问题,这些通常被称为增强抽样技术。

Metadynamics属于这样一类方法,在这些方法中,通过引入作用于选定自由度的附加偏置势(或力)来促进抽样,通常称为集合变量(CVs)。同时,能够增强采样并重构自由能面(FES)。许多方法可以被认为属于这一类,如伞形采样(umbrella sampling),Local elevation,Conformational Flooding,Adaptive force bias,steered MD和Self-healing umbrella sampling.

 当需要在有限的时间尺度内对结构动力学进行有效抽样时,加强的抽样方法如元动力学往往更有用。元动力学通过在系统中添加与历史相关的偏倚,作为精心选择的集体变量(CV)的函数,使复杂的自由能图谱得以采样。这样,系统就不可能重访先前的采样区域,同时也被迫逃避稳定的自由能极小值,它通常会被困在那里,通过这样可便于整个自由能景观的探索。

目前流行的是两种类增强采样方法,要么通过增加模拟覆盖有效时间,能够详尽地采样,比如元动力学(metadynamics),伞形采样(umbrella sampling); 要么显着改变力场的势能函数(scaled MD或者加速MD(aMD)。前一类方法要求预先提供感兴趣运动的自由度,其前提是已经知道相关运动。后一类方法可能会高估势能面(Free energy Surface)的高能区域,因此会探索构象空间的非物理区域。比如加速MD方法(aMD)就是在体系能量下降时改变盆地的相对高度,从而使FEL(Free energy landscape)局部变得平缓。

使用配位数作为变量的简单元动力学模拟

问题:硝酸在石墨烯上的解离反应和使用配位数描述的 Si6H8 簇的原子重排

原作者:Marcella Iannuzzi
完整的源和输出文件:MTD1.tar.xz

目录

介绍

  • 第一项任务:石墨烯片上两个 HNO3 分子的动力学
  • 第二个任务:HNO3 在石墨烯片上解离的元动力学
  • 第三个任务:Si6H8的动力学
  • 第四项任务:Si6H8 原子重排的拉格朗日 MTD

介绍
对于本教程,给出了一些输入和输出文件,以提供解决给定问题的完整过程。 还给出了一些提示以帮助分析结果。 为了能够运行这些示例,需要在输入文件中正确设置一些路径(即设置变量 LIBPATH、XYZPATH、RUNPATH)。 坐标总是从 xyz 文件中读取。 这些练习所需的所有坐标文件都收集在 XYZ 中,而 LIB_TOOLS 包含 PP、基组和 DFTB 参数文件。

MTD1.tar.xz

注意: 这些示例中呈现的结果仅被视为玩具箱。 获得的过程不是很准确,因为没有选择最佳参数来加快计算速度。

需要完成的任务是:

  • 建立和初步模拟以了解硝酸在石墨烯上的动力学,如在 DFTB 理论水平上获得的
  • 通过跟踪三个不同配位数的变化来触发硝酸解离的元动力学模拟
  • 设置和初步模拟以了解选定的被 H 原子saturated的小 Si 簇的动力学
  • 元动力学模拟旨在观察簇间的原子重排改变了 Si 和 H 物种的coordination。

第一项任务:石墨烯片上两个 HNO3 分子的动力学

该体系的示例位于目录 GR_2HNO3 中。目标是模拟 HNO3 分子的解离与 H2O 和/或 NO 或 NO2 碎片等产物的形成。这些反应可以在气相中发生。然而,该反应应该在 C particles 存在的情况下进行催化 (sooth)。在所提出的示例中,分子位于石墨烯附近,这应该mimic the role of sooth。石墨烯确实不是很活泼,可以考虑使用有缺陷或功能化的石墨烯更好的模型。

【CP2K教程(一)】元动力学(metadynamics)与增强采样技术_第2张图片

初始坐标在 XYZ/grly5x3_2hno3.xyz 中给出。该研究从恒温(300 K)下的简单 MD 模拟开始,以了解两种分子在石墨烯上的动力学。 DFTB 描述用于加速模拟,即使这可能不是忠实描述解离反应的最佳选择。提供的输入文件 GR_2HNO3/gr2hno3_nvt.inp 包含使用 DFT、DFTB 或 PM6 运行的所有指令。设置输入变量 METHOD_TO_USE 给出要使用的方法的名称就足够了,并且与所选方法相关的输入部分被激活。在本例中,选择了 DFTB,输入的相关部分是

@IF ( ${METHOD_TO_USE} == DFTB )
  &DFT
    &QS
      METHOD DFTB
      &DFTB
        SELF_CONSISTENT    T
        DO_EWALD           T
        DISPERSION         T
        &PARAMETER
          PARAM_FILE_PATH  ${LIBPATH}/scc
          PARAM_FILE_NAME  scc_parameter
          UFF_FORCE_FIELD  uff_table
        &END PARAMETER
      &END DFTB
    &END QS
    &POISSON
      PERIODIC XYZ
      &EWALD
       EWALD_TYPE SPME
       GMAX 25
       O_SPLINE 5
      &END EWALD
    &END POISSON
    .....

该系统是完全周期性的,并且在石墨烯层上方留有足够的空间以避免与沿 z 的图像相互作用。 这是可能触发解离反应的粒子类型的一个非常简单的模型,我们对层本身的动力学不感兴趣。 因此,该层的一些原子被限制在固定位置

  &CONSTRAINT
    &FIXED_ATOMS
      LIST    48 51 54 57 60 45 59 44 58 43
    &END
  &END

否则 INP MOTION 部分对于带有 Nose-Hoover 恒温器的 NVT 模拟来说是相当标准的。由于自由度的总数很小,即使使用恒温器,也可能难以平衡到所需的温度。因此,只要瞬时温度与所需值之间的差值超过给定的容差,就会通过 MOTION/MD#TEMP_TOL 关键字激活重新调整温度。

【CP2K教程(一)】元动力学(metadynamics)与增强采样技术_第3张图片

 该短模拟 (5 ps) 的输出存储在 DFTB_NVT 中。动能(第 3 列)、温度(第 4 列)、势能(第 5 列)和总能量(第 6 列)可以从 GR_2HNO3/DFTB_NVT/gr2hno3_nvt-1.ener 进行监测。

【CP2K教程(一)】元动力学(metadynamics)与增强采样技术_第4张图片

通过可视化短轨迹,可以观察到两个分子移动得非常快,并且探索了很大的构型空间,通常彼此远离并且远离石墨烯。为了将探索限制在可能发生石墨烯催化解离的区域,从而避免对特定研究不感兴趣的构型,有必要限制两个分子的运动。为此,添加了一个外部势,该外部势定义了一个以系统坐标中心为中心的球形势,它仅作用于两个分子。为了简化外部势函数的定义,坐标首先以零为中心(XYZ/grly5x3_2hno3_cc.xyz)。

调用与球势相互作用的新输入文件是 GR_2HNO3/gr2hno3_nvt_epot.inp,其中 FORCE_EVAL 部分的唯一区别是

  &EXTERNAL_POTENTIAL
     ATOMS_LIST   61..70
     FUNCTION   0.000000000001*(Z^2)^4
  &END

  &EXTERNAL_POTENTIAL
     ATOMS_LIST   61..70
     FUNCTION   0.0000000000001*(X^2)^4
  &END

  &EXTERNAL_POTENTIAL
     ATOMS_LIST   61..70
     FUNCTION   0.0000000000001*(Y^2)^4
  &END

沿着产生的 10 ps 轨迹,这两个分子仍然靠近石墨烯,它们应该在那里。

下一步是设置一些集合变量 (CV, collective variables),以后可用于元动力学 (MTD) 模拟选择能够描述沿反应路径的相关构型的good CV 非常重要。(It is important to select good CV that can describe the relevant configuration along the reaction path. )此外,了解所选 CV 在无偏 MD 运行中的典型行为很有用。( Moreover, it is useful to learn about the typical behavior of the selected CV along an unbiased MD run.)因此,在选择一组 CV 后,应进行初步运行以监测这些变量的动态。这可以通过设置 MTD 模拟来完成实际上没有添加任何偏差。然后在体系探索初始结构周围的构型时,变量的演变得以被监控(The evolution of the variables is then monitored while the system explores the configurations around the initial one),即属于自由能表面(FES)上的相同(初始)吸引力盆地(belonging to the same (initial) basin of attraction on the free energy surface (FES))。 CV 的典型波动幅度的评估对于设置高斯珠子(Gaussian beads)的宽度特别重要,这些珠子将沿着“真实”MTD 运行建立惩罚势函数(penalty potential)(The evaluation of typical fluctuation amplitudes of the CV is particularly important in order to set the width of the Gaussian beads that are going to build up the penalty potential along the “real” MTD run.)。此外,重要的是要了解 CV 中的哪些变量可以自发发生,即不需要任何偏置,以及 CV 在哪里没有激活的情况下无法移动。(Moreover, it is important to learn which variations in the CV can occur spontaneously, i.e. do not need any bias, and where the CV cannot move without activation.)

输入文件 GR_2HNO3/gr2hno3_mtd_4cv_h0_p1.inp 已准备好四个 CV 的定义。首先是O对石墨烯的配位数(CN)

    &COLVAR
       &COORDINATION
          KINDS_FROM  O
          KINDS_TO   C
          R_0 [angstrom]  1.8
          NN  8
          ND  14
       &END COORDINATION
    &END COLVAR

其中 NN 和 ND 确定用于计算 CN 的函数的曲率,R_0 是 O—C 键的参考距离。

【CP2K教程(一)】元动力学(metadynamics)与增强采样技术_第5张图片

该 CV 描述了可能从 N 解离的 O 原子和石墨烯之间的相互作用,其中可能发生吸附。 当分子远离层时,它应该近似为零。 当一个或多个 O 靠近该层时,它变得大于零,但总是小于一。 对于给定的参数,对于 4 Å 以下的 O—C 距离,CN 开始大于零

第二个 CV是 N 到 O 的 CN,对于未解离的分子约为 3,当解离开始时更小。

    &COLVAR
       &COORDINATION
          KINDS_FROM  N
          KINDS_TO   O
          R_0 [angstrom]  1.8
          NN  8 
          ND  14
       &END COORDINATION
    &END COLVAR

第三个 C 在 H 和石墨烯之间,因为 H 也可以从分子中丢失并吸附在石墨烯上。

    &COLVAR
       &COORDINATION
          KINDS_FROM  H
          KINDS_TO   C
          R_0 [angstrom]  1.6
          NN  8
          ND  14
       &END COORDINATION
    &END COLVAR

最后第四个CV是点到平面的距离,其中点是系统的两个N原子之间的几何中心,而平面是由石墨烯的三个C原子的坐标确定的。

    &COLVAR
       &DISTANCE_POINT_PLANE
        &POINT
          TYPE GEO_CENTER
          ATOMS 1
        &END
        &POINT
          TYPE GEO_CENTER
          ATOMS 48
        &END
        &POINT
          TYPE GEO_CENTER
          ATOMS 60
        &END
        &POINT
          TYPE GEO_CENTER
          ATOMS  69 70
        &END
          ATOMS_PLANE 1 2 3 
          ATOM_POINT 4
       &END DISTANCE_POINT_PLANE
    &END COLVAR

最后一个 CV 控制分子与层的距离,这是确定石墨烯的存在是否有利于解离的重要因素监控这 4 个 CV 行为的无偏 MD(unbiased MD) 的输出在 DFTB_MTD_4CV_H0 中。 它是通过调用未添加惩罚势函数(penalty potential)的 MTD 运行获得的。 因此,在 MOTION 部分中添加了 MOTION/FREE_ENERGY 子部分。 MTD 运行由 MOTION/FREE_ENERGY/METADYN 小节控制。 在本示例中,无需添加偏置,MOTION/FREE_ENERGY/METADYN 部分包含很少的参数

  &FREE_ENERGY
    &METADYN
      DO_HILLS  .FALSE.

      &METAVAR
        SCALE 0.08
        COLVAR 1
      &END METAVAR

      &METAVAR
        SCALE 0.3
        COLVAR 2
      &END METAVAR

     &METAVAR
        SCALE 0.08
        COLVAR 3
      &END METAVAR

      &METAVAR
        SCALE 1.5
        COLVAR 4
      &END METAVAR

      &PRINT
        &COLVAR
           COMMON_ITERATION_LEVELS 3
           &EACH
             MD 1
           &END
        &END
      &END
    &END METADYN
  &END FREE_ENERGY

MOTION/FREE_ENERGY/METADYN#DO_HILLS 设置为 .FALSE.要求不添加任何偏置。然后为每个定义的 COLVAR 初始化一个 MTD 变量。 PRINT%COLVAR 部分控制 COLVAR 输出文件的打印,其中包含 CV 的瞬时值以及需要时的其他参数。对于没有偏置的运行,不需要其他信息,输出 GR_2HNO3/DFTB_MTD_4CV_H0/gr2hno3_mtd_4cv_h0_p1-COLVAR.metadynLog 中唯一有趣的数据是第二、第三、第四和第五列,它们是 CV 在指示的时间的值(以 fs 为单位,第一列)。

【CP2K教程(一)】元动力学(metadynamics)与增强采样技术_第6张图片

通过绘制沿短 MD 轨迹 (3 ps) 记录的 CV,可以评估平衡波动的幅度,然后用于设置建立偏置势( biasing potential)的高斯山(Gaussian hills)的大小。第一个CV波动接近于零,波动小于0.2。第二个是2.8左右。由于三个 N—O 键的刚度,波动较小。 H 与 C 的配位通常也为零,但当分子接近该层时它会发生很大变化,即使 H 没有解离也没有与 C 结合。这表明这个变量难以控制并且可能会转向很难用它来区分反应过程的不同状态点到平面的距离显示出相当大的波动,显然不适合区分反应路径上的特定状态。此外,当两个分子更靠近层时,它的最小值对应于第三个 CV 的最大值,即 H 到 C 的 CN。至少在解离之前,这个变量提供的信息是多余的。在修改 CV 的定义后再次运行这个初步模拟可能会很有趣。例如,通过改变两个指数甚至CN的参考距离,可以使函数的范围更短或更长。重要的是要提醒定义 CV 的函数必须具有不同于零的梯度才能影响 MTD 运行中系统的行为。即,影响 CV 定义中涉及的原子动力学的 MTD 力项与 CV 函数的梯度成正比。(Namely, the MTD force term affecting the dynamics of the atoms involved in the definition of the CV is proportional to the gradient of the CV function.)

【CP2K教程(一)】元动力学(metadynamics)与增强采样技术_第7张图片

第二个任务:HNO3 在石墨烯片上解离的元动力学


提出的 MTD 运行仅使用上述三个 CN 作为 CV。 相关的输入文件是 GR_2HNO3/gr2hno3_mtd_3cv_p1.inp,输出存储在 DFTB_MTD_3CV 中。 MOTION/FREE_ENERGY/METADYN 输入部分已被修改以激活 MTD 算法。

    &METADYN
      DO_HILLS 
      NT_HILLS 100
      WW 3.0e-3

      &METAVAR
        SCALE 0.2
        COLVAR 1
      &END METAVAR

      &METAVAR
        SCALE 0.3
        COLVAR 2
      &END METAVAR

     &METAVAR
        SCALE 0.2
        COLVAR 3
      &END METAVAR

      &PRINT
        &COLVAR
           COMMON_ITERATION_LEVELS 3
           &EACH
             MD 1
           &END
        &END
        &HILLS
           COMMON_ITERATION_LEVELS 3
           &EACH
             MD 1
           &END
        &END
      &END
    &END METADYN

每 NT_HILLS MD步生成一个高斯小山,而 hartree 中小山的高度由 WW 给出。(One Gaussian hill is spawned every NT_HILLS MD steps, while the height of the hill in hartree is given by WW.)这些参数连同高斯山的宽度对于通过 MTD 偏置势确定 FES 描述的准确性很重要。由于每个变量原则上具有不同的维度和不同的动态,由所选 CV 定义的填充 NCV-维构型空间的山丘的形状不是各向同性的。(Since each variable has in principle different dimensions and different dynamics, the shape of the hills filling up the NCV-dimensional configurations space, as defined by the selected CVs, is not isotropic.)参数 SCALE 关联到 i-th MTD 变量决定了 NCV 维构型空间的第 i 个空间方向上的高斯幅度。(The parameter SCALE associated to the i-th MTD variable determines the amplitude of the Gaussian in the i-th space-direction of the NCV-dimensional configuration space. )这个参数,以及山的高度和搭配的频率,可以沿着相同的 MTD 运行,通过在输入中使用不同的值重新启动来改变。(This parameter, as well as the hill’s height and the frequency of collocation, can be changed along the same MTD run by restarting with different values in the input.)当某些事件发生后某些变量的动力学发生变化时(例如,键断裂后距离的波动变大),或调节偏置势在不同区域的分辨率(更粗或更细),此功能很有用。空间(例如,在 FES 盆地底部较粗,在过渡态附近较细)。为了有效探索构型空间,重要的是生成不太大的山丘,否则 FES 地形的重要特征可能无法很好地解决,甚至 MTD 轨迹也可能遵循错误的路径,缺少最小能量路径(MEP)。另一方面,用太小的山丘填满整个空间可能需要太长的模拟时间。给定山丘的大小(高度和宽度)并大致了解 CV 所跨越的空间大小和障碍物高度,可以估计填充 FES 盆地并移动到下一个最小值所需的山丘数量。

MOTION/FREE_ENERGY/METADYN/PRINT/HILLS 打印键控制 HILLS 文件的打印,其中存储了生成的山丘的信息:时间步长,CVs 空间中的中心坐标(3 CV = 3 列),每个宽度空间尺寸(多 3 列),高度(最后一列)。

提供的轨迹长约 100 ps,实际上它显示了两个分子解离为 NO2 和 OH,其 OH 碎片倾向于与石墨烯层相互作用。从第一个和第二个 CN 的行为可以以某种方式推断出系统的演化。特别是 NO 配位的明显变化,当分子靠近时变大,当 OH 解离时变小。解离后不久,配位再次接近 3,因为丢失的 O 被两个 NO2 片段靠得很近的事实所补偿,即每个 N 看到其他片段的 O。 O 与 C 的配位在分子靠近层时变得更大,并且由于分子的快速运动而波动很大。解离后,较高的 CN 值保持更长时间,表明 O 与 C 的一些更稳定的相互作用。更好地选择定义此 CN 的参数可能有助于更清楚地解决两种状态,O 相互作用和 O 不相互作用与层。正如预测的那样,H 到 C CN 的非常大的波动很难解释,这使得这个变量对于描述过程不是很有用。 A CN N to H,描述 H 从 HNO3 的解离是作为第三个 CV 的更好选择。

可以从 MOTION/FREE_ENERGY/METADYN/PRINT/COLVAR 输出监控的其他量,除了三个 CV(第 2、第 3 和第 4 列)的瞬时值是: 相对于计算的偏置势的瞬时梯度CV (5th, 6th, 7th col.), 与壁电位(wall potentials) CVs 相关的梯度,如果存在的话,(8th,9th,10th col),偏置电位的瞬时值,以及壁电位的瞬时值。

第三个任务:Si6H8的动力学

此示例的数据文件位于 SI6_CLU 中。在这种情况下,研究了被 8 个 H 原子saturated的 6 个 Si 原子的小 Si 簇。 Si簇显示出不同的排列。平衡结构应该使得Si原子保持优选的四面体配位。在 H saturated悬空 Si 键的情况下,该结构可以是开放的,就像这里用作起始构象的椅子结构一样。通过失去 H 原子,通过形成分子氢,簇经历了一些重排。为了使Si配位壳饱和,结构应该变得更紧凑。

与前面的示例一样,进行初步的 MD 运行以研究系统的动力学。使用 PBE 泛函在 DFT 级别计算电子结构。运行输入 SI6_CLU/si6_clu_nvt.inp 模拟标准恒温 MD。温度设置为 300 K,并通过应用 Nose-Hoover 恒温器和温度重新缩放来控制(少量的自由度不允许在几 ps 内进行热化)。这个模拟的输出是 NVT。 6 ps 模拟时间上的能量曲线和轨迹的可视化证实,具有初始化学计量的cluster可以在椅子结构中轻松平衡。

化学计量(失去 H)和结构的可能变化将导致 Si 原子的配位壳发生变化。因此,选择三个 CN 作为 CV:Si 到 Si、Si 到 H 和 H 到 H。通过运行输入 SI6_CLU/si6_clu_mtd_h0_p1.inp 在平衡轨迹上监控这些变量。与前面的示例一样,这是一个 MTD 输入,其中变量 MOTION/FREE_ENERGY/METADYN#DO_HILLS 设置为 false,因此不会添加偏置电位。运行此测试获得的输出位于 MTD_H0 中。通过沿 10 ps 测log 轨迹监测三个 CN(SI6_CLU/MTD_H0/si6_clu_mtd_h0-COLVAR.metadynLog 的第 2、3 和 4 列),观察到三个变量很好地平衡,在平均值附近波动相对较小。给定选定的参数

    &COLVAR
       &COORDINATION
          KINDS_FROM  Si
          KINDS_TO   Si
          R_0 [angstrom]  2.55
          NN  8
          ND  14
       &END COORDINATION
    &END COLVAR

Si-Si CN 在 2 附近振荡。实际上,在椅子配置中,4 Si 与相邻的 Si 原子是三重配位的,而 2 是二重配位的。键长约为 2.4 Å。通过改变函数的曲率,CN 的平均值可以很容易地向 3 移动,并且可以对 Si-Si 键长的波动变得更加敏感。另外两个CN的波动更小。 Si-H 在 1.4 左右波动,H-H 非常接近于零,因为在初始配置中,H 原子彼此不可见。

监控相同三个 CV 的第二个仿真的输出位于 MTD_L_H0 中,对应的输入为 SI6_CLU/si6_clu_mtd_l_h0_p1.inp。 CV 的定义没有改变,但使用了拉格朗日 MTD 形式。在这个方案中,每个 CV 都关联一个辅助变量,当添加偏置电位时,它被定义为辅助变量的函数,而不是 CV 的函数。辅助变量表现为额外的自由度。因此,惯性质量与其相关联,其动力学是通过对与所有其他自由度相同类型的运动方程进行积分来确定的。该变量通过谐波电势耦合到相应的 CV,作用在其上的力是来自谐波电势和 MTD 偏置电势(当它存在时)的力。因此,在 MOTION/FREE_ENERGY/METADYN/METAVAR 输入部分,需要两个附加参数,即辅助变量的质量和谐波势的耦合常数:

       &METAVAR
        LAMBDA  2.5
        MASS   30.
        SCALE 0.1
        COLVAR 1
      &END METAVAR

温度与辅助变量相关联并且可以通过温度重新调整来控制。对于如此少的自由度使用恒温器是值得怀疑的。使用拉格朗日 MTD 形式是为了更好地控制 CV 的动力学。这种控制是通过耦合到辅助变量获得的,其动力学取决于质量和温度,除了两个对力的贡献的强度。因此,通过适当调整耦合常数和质量,可以获得所需的效果。为了在 CV 定义的配置空间中收集正确的概率分布,这可能变得很重要,系统访问所有可访问的构象很重要。通过控制所选变量的动力学,可以在相关反应参数和所有其他自由度之间施加一种绝热分离。

每当定义 MOTION/FREE_ENERGY/METADYN/METAVAR 时(也在非拉格朗日方案中),可以通过设置所谓的 WALL 势来限制将要探索的值的范围。这样做通常是为了避免对与正在调查的过程无关的配置空间区域进行耗时的探索。当使用辅助变量时,也可以激活 WALL 电位以避免探索非物理值,这可能由于远离相应 CV 的太大波动而发生。在 CN 的情况下,负值是非物理的,必须避免。由于这个原因,MOTION/FREE_ENERGY/METADYN/METAVAR/WALL 小节被添加到耦合到 H-H CN 的 MOTION/FREE_ENERGY/METADYN/METAVAR,已知它在初始状态下振荡接近于零:

         &WALL
            POSITION 0.0
            TYPE QUARTIC
            &QUARTIC
               DIRECTION WALL_MINUS
               K  100.0
            &END
        &END

在这个例子中,势函数是 f(s)=K(s−s0)4f(s)=K(s−s0)4,​​ 并且只要变量 (DIRECTION WALL_MINUS) 低于给定的 s0s0 (POSITION),它就会被激活。

​​​

当使用这种拉格朗日方案时,COLVAR 中会出现更多列,其中包含所有相关信息。第一列总是以 fs 为单位的时间,接下来的 NCV 列是辅助变量的瞬时值,然后是 NCV 列,其中报告了 CV 的瞬时值。 接下来的列报告了电位梯度的值:NCV 列表示谐波电位的梯度,NCV 表示 MTD 偏置电位的梯度,NCV 表示 WALL 电位的梯度(当相应的电位不为零时,这些是零 活性)。以下 NCV 是辅助变量的速度。 然后是谐波电位、MTD 电位和 WALL 电位的瞬时值。 最后一列是辅助变量的温度。

沿着两个模拟的 CV 的动力学,有和没有拉格朗日 MTD 方案,是等效的。 CV 和辅助变量,在拉格朗日 MTD 模拟中,彼此紧密跟随,这表明耦合足够强(也可能更松散)。分配给辅助变量的质量似乎不会显着影响平衡时的时间演化,即惯性效应非常小,也是因为辅助变量的温度也设置为 300 K。为了减缓三个的振荡CN,并更好地采样CV空间中每个点的可访问配置,要调整的参数是辅助变量的质量和温度。在输入 SI6_CLU/si6_clu_mtd_l_h0_p2.inp 中,Si-Si CN 的定义略有改变,辅助变量的质量有所增加。这些变化的影响可以通过运行这个输入并将结果与​​之前的结果进行比较来研究(两个输入都可以在较低的理论水平上运行,只是为了探索不同参数对 CV 动力学的影响) .提出了第三个输入,其中 MTD 温度降低到 100 K,SI6_CLU/si6_clu_mtd_l_h0_p3.inp。

第四项任务:Si6H8 原子重排的拉格朗日 MTD


MTD_L_P2 包含使用通过运行 SI6_CLU/si6_clu_mtd_l_h0_p2.inp 测试的参数执行的 MTD 运行的输出。 对应的输入是 SI6_CLU/si6_clu_mtd_l_p2.inp。 MOTION/FREE_ENERGY/METADYN/METAVAR#SCALE 参数对于三个变量是相同的,因为三个 CN 的波动将非常相似。 搭配率是每 100 MD 步长,这很常见,但也是合理的,因为山丘尺寸不太大(高度约为 1 Kcal/mol)。

附件1 gr2hno3_nvt.inp

@SET METHOD_TO_USE DFTB
@SET DO_RESTART   NO
@SET cp2k_tutorial_path /users/marcella/D07/CP2K_TUTORIAL
@SET LIBPATH  ${cp2k_tutorial_path}/MTD1/LIB_TOOLS
@SET XYZPATH  ${cp2k_tutorial_path}/MTD1/XYZ
@SET RUNPATH  ${cp2k_tutorial_path}/MTD1/GR_2HNO3/NVT

&FORCE_EVAL
  METHOD Quickstep
@IF ( ${METHOD_TO_USE} == DFT )
  &DFT
      BASIS_SET_FILE_NAME  ${LIBPATH}/BASIS_MOLOPT
      POTENTIAL_FILE_NAME  ${LIBPATH}/GTH_POTENTIALS
    &MGRID
      NGRIDS 5
      CUTOFF 200
    &END MGRID
    &QS
      METHOD GPW
      MAP_CONSISTENT
      EXTRAPOLATION ASPC
      EXTRAPOLATION_ORDER 3
    &END QS

    &SCF
      MAX_SCF 30
      EPS_SCF 1.0E-5
      SCF_GUESS ATOMIC
      &OT
        PRECONDITIONER FULL_SINGLE_INVERSE
        MINIMIZER DIIS
        N_DIIS 7
      &END OT

      &OUTER_SCF
        MAX_SCF 3
        EPS_SCF 1.0E-05
      &END OUTER_SCF

      &PRINT
        &RESTART
          LOG_PRINT_KEY
        &END
      &END
     &END SCF

     &XC
        &XC_FUNCTIONAL REVPBE
        &END XC_FUNCTIONAL
        &vdW_POTENTIAL
           DISPERSION_FUNCTIONAL PAIR_POTENTIAL
           &PAIR_POTENTIAL
              TYPE DFTD2
              SCALING  1.0
              R_CUTOFF  [angstrom] 16
           &END PAIR_POTENTIAL
        &END vdW_POTENTIAL
     &END XC

  &END DFT
@ENDIF
@IF ( ${METHOD_TO_USE} == SE )
  &DFT
    CHARGE 0
    &QS
      METHOD PM6
      &SE
       RC_INTERACTION [angstrom] 8.0
       RC_COULOMB     [angstrom] 8.0
       RC_RANGE       [angstrom] 0.05
      &END
    &END QS
    &SCF
      MAX_SCF 30
      EPS_SCF 1.0E-5
      SCF_GUESS ATOMIC
      &OT 
        MINIMIZER DIIS
        PRECONDITIONER FULL_SINGLE_INVERSE
      &END
      &OUTER_SCF
        EPS_SCF 1.0E-5
        MAX_SCF 5
      &END
      &PRINT
        &RESTART OFF
        &END
        &RESTART_HISTORY OFF
        &END
      &END
    &END SCF
  &END DFT
@ENDIF
@IF ( ${METHOD_TO_USE} == DFTB )
  &DFT
    &QS
      METHOD DFTB
      &DFTB
        SELF_CONSISTENT    T
        DO_EWALD           T
        DISPERSION         T
        &PARAMETER
          PARAM_FILE_PATH  ${LIBPATH}/scc
          PARAM_FILE_NAME  scc_parameter
          UFF_FORCE_FIELD  uff_table
        &END PARAMETER
      &END DFTB
    &END QS
    &SCF
      MAX_SCF 30
      EPS_SCF 1.0E-6
      SCF_GUESS ATOMIC
      &OT
        MINIMIZER DIIS
        PRECONDITIONER FULL_SINGLE_INVERSE
      &END
      &OUTER_SCF
        EPS_SCF 1.0E-6
        MAX_SCF 5
      &END
      &PRINT
        &RESTART OFF
        &END
        &RESTART_HISTORY OFF
        &END
      &END
    &END SCF
    &POISSON
      PERIODIC XYZ
      &EWALD
       EWALD_TYPE SPME
       GMAX 25
       O_SPLINE 5
      &END EWALD
    &END POISSON
  &END DFT
@ENDIF

  &SUBSYS
    &CELL
      ABC   12.30000  12.78000 20.0
      PERIODIC XYZ
    &END CELL

    &TOPOLOGY
      CONNECTIVITY  OFF
      COORD_FILE ${XYZPATH}/grly5x3_2hno3.xyz
      COORDINATE XYZ
    &END TOPOLOGY

@IF ( ${METHOD_TO_USE} == DFT )
    &KIND C
      BASIS_SET DZVP-MOLOPT-GTH
      POTENTIAL GTH-BLYP-q4
    &END KIND

    &KIND H
      BASIS_SET DZVP-MOLOPT-GTH
      POTENTIAL GTH-BLYP-q1
    &END KIND

    &KIND O
      BASIS_SET DZVP-MOLOPT-GTH
      POTENTIAL GTH-BLYP-q6
    &END KIND

    &KIND N
      BASIS_SET DZVP-MOLOPT-GTH
      POTENTIAL GTH-BLYP-q5
    &END KIND
@ENDIF

  &END SUBSYS
&END FORCE_EVAL

&GLOBAL
  PROJECT gr2hno3_nvt
  RUN_TYPE MD
  PRINT_LEVEL LOW
&END GLOBAL

&MOTION
  &MD
    ENSEMBLE NVT
    STEPS  50000
    TIMESTEP 1.0
    TEMPERATURE 300.0
    TEMP_TOL   100
    &THERMOSTAT
      &NOSE
        LENGTH 3
        YOSHIDA 3
        TIMECON 100.0
        MTS 2
      &END NOSE
    &END
    ANGVEL_ZERO
    COMVEL_TOL  2.0E-7

    &PRINT
      &ENERGY
        &EACH
           MD 10
        &END
      &END

      &PROGRAM_RUN_INFO
        &EACH
           MD 100
        &END
      &END
      FORCE_LAST
    &END PRINT
  &END MD

  &PRINT
    &TRAJECTORY
      &EACH
        MD 100
      &END
    &END
    &VELOCITIES OFF
    &END
    &RESTART
      &EACH
         MD 1000
      &END
      ADD_LAST NUMERIC
    &END
    &RESTART_HISTORY 
      &EACH
         MD 2000
      &END
    &END
  &END
  &CONSTRAINT
    &FIXED_ATOMS
      LIST    48 51 54 57 60 45 59 44 58 43
    &END
  &END
&END MOTION

@IF ( ${DO_RESTART} == YES )
&EXT_RESTART
  RESTART_FILE_NAME  gr2hno3_nvt-1.restart
  RESTART_COUNTERS T
  RESTART_POS T
  RESTART_VEL  T
  RESTART_THERMOSTAT T
&END EXT_RESTART
@ENDIF

附件2 MTD1.tar.xz

└─MTD1
    ├─GR_2HNO3
    │  │  3cv_extpot.inp
    │  │  gr2hno3_mtd.inp
    │  │  gr2hno3_mtd_3cv_p1.inp
    │  │  gr2hno3_mtd_4cv_h0_p1.inp
    │  │  gr2hno3_mtd_4cv_p1.inp
    │  │  gr2hno3_nvt.inp
    │  │  gr2hno3_nvt_epot.inp
    │  │
    │  ├─DFTB_MTD_3CV
    │  │      gr2hno3_mtd_3cv_p1-1.ener
    │  │      gr2hno3_mtd_3cv_p1-1.restart
    │  │      gr2hno3_mtd_3cv_p1-COLVAR.metadynLog
    │  │      gr2hno3_mtd_3cv_p1-HILLS.metadynLog
    │  │      gr2hno3_mtd_3cv_p1-pos-1.xyz
    │  │      gr2hno3_mtd_3cv_p1.out.gz
    │  │
    │  ├─DFTB_MTD_4CV
    │  │      gr2hno3_mtd_4cv_p1-1.ener
    │  │      gr2hno3_mtd_4cv_p1-1.restart
    │  │      gr2hno3_mtd_4cv_p1-COLVAR.metadynLog
    │  │      gr2hno3_mtd_4cv_p1-HILLS.metadynLog
    │  │      gr2hno3_mtd_4cv_p1-pos-1.xyz
    │  │      gr2hno3_mtd_4cv_p1.out.gz
    │  │
    │  ├─DFTB_MTD_4CV_H0
    │  │      cp2k.popt
    │  │      gr2hno3_mtd_4cv_h0_p1-1.ener
    │  │      gr2hno3_mtd_4cv_h0_p1-1.restart
    │  │      gr2hno3_mtd_4cv_h0_p1-1_2000.restart
    │  │      gr2hno3_mtd_4cv_h0_p1-COLVAR.metadynLog
    │  │      gr2hno3_mtd_4cv_h0_p1-pos-1.xyz
    │  │      gr2hno3_mtd_4cv_h0_p1.out.gz
    │  │
    │  ├─DFTB_NVT
    │  │      gr2hno3_nvt-1.ener
    │  │      gr2hno3_nvt-1.restart
    │  │      gr2hno3_nvt-1_2000.restart
    │  │      gr2hno3_nvt-1_4000.restart
    │  │      gr2hno3_nvt-pos-1.xyz
    │  │      gr2hno3_nvt.out.gz
    │  │
    │  ├─DFTB_NVT_EPOT
    │  │      gr2hno3_nvt-1.ener
    │  │      gr2hno3_nvt-1.restart
    │  │      gr2hno3_nvt-1_2000.restart
    │  │      gr2hno3_nvt-1_4000.restart
    │  │      gr2hno3_nvt-1_6000.restart
    │  │      gr2hno3_nvt-1_8000.restart
    │  │      gr2hno3_nvt-pos-1.xyz
    │  │      gr2hno3_nvt_epot.out.gz
    │  │
    │  └─NVT
    ├─LIB_TOOLS
    │  │  BASIS_MOLOPT
    │  │  GTH_POTENTIALS
    │  │
    │  └─scc
    │      │  cc.spl
    │      │  ch.spl
    │      │  cn.spl
    │      │  co.spl
    │      │  cp.spl
    │      │  cs.spl
    │      │  czn.spl
    │      │  hc.spl
    │      │  hh.spl
    │      │  hn.spl
    │      │  ho.spl
    │      │  hp.spl
    │      │  hs.spl
    │      │  hzn.spl
    │      │  nc.spl
    │      │  nh.spl
    │      │  nn.spl
    │      │  no.spl
    │      │  np.spl
    │      │  ns.spl
    │      │  nzn.spl
    │      │  oc.spl
    │      │  oh.spl
    │      │  on.spl
    │      │  oo.spl
    │      │  op.spl
    │      │  os.spl
    │      │  ozn.spl
    │      │  pc.spl
    │      │  ph.spl
    │      │  pn.spl
    │      │  po.spl
    │      │  pp.spl
    │      │  ps.spl
    │      │  sc.spl
    │      │  scc_parameter
    │      │  sh.spl
    │      │  sn.spl
    │      │  so.spl
    │      │  sp.spl
    │      │  ss.spl
    │      │  szn.spl
    │      │  uff_table
    │      │  znc.spl
    │      │  znh.spl
    │      │  znn.spl
    │      │  zno.spl
    │      │  zns.spl
    │      │  znzn.spl
    │      │
    │      └─CVS
    │              Entries
    │              Repository
    │              Root
    │
    ├─SI6_CLU
    │  │  si6_clu_mtd.inp
    │  │  si6_clu_mtd_h0_p1.inp
    │  │  si6_clu_mtd_l_h0_p1.inp
    │  │  si6_clu_mtd_l_h0_p2.inp
    │  │  si6_clu_mtd_l_h0_p3.inp
    │  │  si6_clu_mtd_l_p1.inp
    │  │  si6_clu_mtd_l_p2.inp
    │  │  si6_clu_mtd_l_p3.inp
    │  │  si6_clu_nvt.inp
    │  │
    │  ├─MTD_H0
    │  │      si6_clu_mtd_h0-1.ener
    │  │      si6_clu_mtd_h0-1.restart
    │  │      si6_clu_mtd_h0-1_6000.restart
    │  │      si6_clu_mtd_h0-COLVAR.metadynLog
    │  │      si6_clu_mtd_h0-pos-1.xyz
    │  │      si6_clu_mtd_h0_p1.out.gz
    │  │
    │  ├─MTD_L_H0
    │  │      si6_clu_mtd_l_h0-1.ener
    │  │      si6_clu_mtd_l_h0-1.restart
    │  │      si6_clu_mtd_l_h0-1_4000.restart
    │  │      si6_clu_mtd_l_h0-COLVAR.metadynLog
    │  │      si6_clu_mtd_l_h0-pos-1.xyz
    │  │      si6_clu_mtd_l_h0_p1.out.gz
    │  │
    │  ├─MTD_L_P1
    │  │      cell.dat
    │  │      si6_clu_mtd_l_p1-1.ener
    │  │      si6_clu_mtd_l_p1-1.restart
    │  │      si6_clu_mtd_l_p1-COLVAR.metadynLog
    │  │      si6_clu_mtd_l_p1-HILLS.metadynLog
    │  │      si6_clu_mtd_l_p1-pos-1.xyz
    │  │      si6_clu_mtd_l_p1-RESTART.wfn
    │  │      si6_clu_mtd_l_p1.out.gz
    │  │
    │  ├─MTD_L_P2
    │  │      cell.dat
    │  │      si6_clu_mtd_l_p2-1.ener
    │  │      si6_clu_mtd_l_p2-1.restart
    │  │      si6_clu_mtd_l_p2-COLVAR.metadynLog
    │  │      si6_clu_mtd_l_p2-HILLS.metadynLog
    │  │      si6_clu_mtd_l_p2-pos-1.xyz
    │  │      si6_clu_mtd_l_p2-RESTART.wfn
    │  │      si6_clu_mtd_l_p2.out.gz
    │  │
    │  ├─MTD_L_P3
    │  │      si6_clu_mtd_l_p3-1.ener
    │  │      si6_clu_mtd_l_p3-1.restart
    │  │      si6_clu_mtd_l_p3-COLVAR.metadynLog
    │  │      si6_clu_mtd_l_p3-HILLS.metadynLog
    │  │      si6_clu_mtd_l_p3-pos-1.xyz
    │  │      si6_clu_mtd_l_p3-RESTART.wfn
    │  │      si6_clu_mtd_l_p3.out.gz
    │  │
    │  └─NVT
    │          si6_clu_nvt-1.ener
    │          si6_clu_nvt-1.restart
    │          si6_clu_nvt-pos-1.xyz
    │          si6_clu_nvt.out.gz
    │
    └─XYZ
            grly5x3_2hno3.xyz
            grly5x3_2hno3_cc.xyz

参考资料

【知乎】

Metadynamic论文1

计算物理:自由能计算-元动力学(Metadynamics)

【公众号】

【分子模拟】Metadynamics

Umbrella Sampling

研究材料表面空位扩散的自由能面(Metadynamics动力学方法)

登上Nature子刊!深势科技RiD方法解决生物大分子体系高维空间采样难题

利用元动力学识别正确的结合构型

Chem. Sci | 加速动力学结合马尔可夫模型指导蛋白设计

Nature | 机器学习势+分子动力学:高压液态氢的超临界特性

分子模拟最牛“CP组合”共获本杰明·富兰克林奖章

更高效的材料动力学模拟方法与应用

【cp2k官网】

exercises:2015_cecam_tutorial:mtd1 [CP2K Open Source Molecular Dynamics ]

你可能感兴趣的:(cp2k,metadynamics,算法)