|
温度耦合方法tcoupl no: 不使用温度耦合。 berendsen: 使用 Berendsen 恒温器的温度耦合,bath 温度为 ref-t、时间常数为 tau-t。可以单独耦合多个组,这些组在由空格分隔的 tc-grps 字段中指定。 这是一个有年头的方法,包含它只是为了能够重现以前的运行,我们强烈建议不要将其用于新的模拟运行。 tau-t常用范围0.1-0.5ps 该方法会造成偏离玻尔兹曼分布,多组分体系可能造成温度不一致,所以引起溶剂温度升高,溶质温度降低,造成溶质冷效应 因此该方法最好使用在预平衡处理,采样时不用 andersen: 通过在每个时间步随机化一部分粒子速度来实现温度耦合。参考温度和耦合组如上一选项。tau-t 是每个分子随机化之间的平均时间。 在某种程度上抑制了粒子动力学特征,但很少或没有遍历性问题。目前仅使用 velocity Verlet 实现,未使用约束实现。是一种随机碰撞模型,它模机了系统和热浴之间的随机碰撞。 这种方法通过在一定时间间隔内为粒子分配或重新生成速度,来控制系统的温度。缺点是由于速度被重置之后模拟生成的 相轨远不连续,所以会用的比较少。 andersen-massive: 通过在不频繁的时间步长上随机化所有粒子的速度进行温度耦合。参考温度和耦合组如上一选项。tau-t 是所有分子随机化之间的时间。 在某种程度上抑制粒子动力学,但很少或没有遍历性问题。目前仅使用 velocity Verlet 实现。 nose-hoover: 使用 Nose-Hoover 扩展系综的温度耦合。参考温度和耦合基团如上一选项,但在这种情况下,tau-t 控制平衡时的温度波动周期,这与松弛时间略有不同。对于 NVT 模拟,守恒能量将写入能量和日志文件。 tau-t常用值0.5ps 因为包合了额外的耦合变量,这些耦合变量引入了额外的自由度和耦合项,可能导致系统能量的快速增加或减小。该方法中的耦合变量的动力学方程是非线性的,可以导致系统的能量在较短的时间内产生剧烈的涨落,导致容易丢失应该存在的温度以至于遍历性不好。所以这个方法用在平衡在的采样中。 为了解决nose-hoover方法的遍历性问题,采用NHC解决,引入了多个嵌套的虚拟变量或热浴链每个虚机变量都有一个与之对应的温度,并且彼此通过松弛时间相互耦合通过增加这些虚拟变量和耦合链,nh-chain方法提供了更高的灵活性和更好的温度控制性能 v-rescale: 使用具有随机项的速度重标度的温度耦合(JCP 126, 014101)。这个恒温器类似于 Berendsen 耦合,使用 tau-t 进行相同的缩放,但随机项确保生成适当的正则系综。 用 ld-seed 设置随机种子。即使 tau-t=0,该恒温器也能正常工作。对于NVT模拟,守恒的能量量会写入能量和日志文件。 1.计算当前系统的温度:通过计算所有粒子的动能(速度的平方乘以质量的一半)得到系统的总动能,进而得到当前系统的温度。 2.计算温度的缩放因子:基于当前温度和目标温度之间的差异计算一个缩放因子,缩放因子通常为目标温度除以当前温度的平方根这样可以将系统的动能按比例缩放,以实现温度的控制。 3.缩放粒子的速度:将所有粒子的速度乘以缩放因子,以调整温度可以比较好的用于平衡 3dc:倒数和仍然在3D中执行,但在 z 维度中应用力和电势校正以产生伪 2D 和。如果系统在 x-y 平面中具有 slab geometry,则可以尝试增加 box 的 z 尺寸(box 高度通常为 slab 高度的3倍),并使用此选项。 nsttcouple (-1) 耦合温度的频率。默认值 -1 将 nsttcouple 设置为 10,如果需要精确积分,则设置为更少的步长。请注意,默认值不是1,因为获得动能需要额外的计算和通信。对于 velocity Verlet 积分器,nsttcouple 设置为 1。 nh-chain-length (10) 对于 velocity Verlet 积分器,integrator=md 仅支持 1。默认情况下,NH(Nose-Hoover)链变量的数据不会输入到 edr 文件,但可以使用 print-nose-hoover-chain-variables 选项打开。 print-nose-hoover-chain-variables no: 不在能量文件中存储Nose-Hoover chain变量。 yes: 将 Nose-Hoover chain的所有位置和速度存储在能量文件中。 tc-grps 用于耦合到单独的温度浴的组别,各组间以空格间隔 tau-t [ps] 耦合时间常数(tc-grps中每一个均应有对应),-1 表示无温度耦合。 ref-t [K] 耦合参考温度(tc-grps中每一个均应有对应)。 |