多尺度分子动力学

设计的设计 Forcejob. 类允许灵活扩展其行为,同时保持客户端代码不知道其性质:它可以充当ADF程序的简单包装,或者它可以是一个更复杂的协调类,即结合更简单 Forcejob. 课程实现多尺度策略。可以在该可扩展设计中找到一个应用 qmmmforcejob. 在IMOMM型方案中结合QM和MM方法的对象(机械嵌入)。这 qmmmforcejob. 对象被分配了另外两个 Forcejob. 对象,第一代表高分辨率计算(QM),而另一个代表低分辨率(mm)。两个都 Forcejob. 对象包含A. mdmolecule. 全部分子系统的对象。 QM区域的选择由此处理 qmmmforcejob.,其中包含有关构成QM区域的分子部分的信息。当从部队要求的时候 qmmmforcejob.,策划以下行为:首先,在整个系统上执行MM强制计算;然后,选择QM区域,仅针对该区域执行QM计算,并且能量和力被添加到来自完整系统MM计算的那些。最后,计算小QM区域的MM计算,并减去能量和力,产生最终结果,返回给调用。在符号中:

EQM / MM(FULL)= EMM(FULL)+ EQM(QMREGION) - EMM(QMREGION)

qmmmforcejob. 如果低级(mm)方法支持此功能(即NAMD),请处理周期性边界条件。 QM区域的周期性相互作用是否自身由高或低分辨率处理取决于用于QM计算的方法。 QM / MM MD计算的示例可以在示例目录示例/ scmlib / qmmm_dftbuff_2h2o中找到。这 qmmmforcejob. 当QM边界通过共价键时允许使用链路原子。但是,此功能以提高脚本复杂性的价格出现。在示例/ scmlib / qmmm_linkatom_dftbnamd_glutamate下,在示例目录中提供了QMMM链路-Tom MD模拟的示例。

对于更复杂的多尺度计算 HybridForceJob. 可以使用类。此类允许组合大量不同的 Forcejob.S,它们中的每一个描述相同或不同的分子系统。每个 Forcejob. 可以涉及完整的计算 mdmolecule. 它包含的对象或限制在相应分子的指定区域。来自每种贡献的力量 Forcejob. 可以根据用户偏好从总力添加或减去,如在构造 HybridForceJob. object.

为了对溶液中的化学反应性进行QM / MM模拟,重要的是,当分子朝向或远离反应区域时,溶剂分子的描述可以随着速度而变化。促进这一点,一个 AdaptiveQmmmmmmmforcejob. 类可使用额外的方案提供自适应QM / MM模拟,如Bulo等人所述。[4在这些方案中,扩散分子的描述逐渐从QM到mm逐渐变化,反之亦然,基于这些分子对预定的反应性位点的距离。各种方案可用于分配分子的QM和MM字符。该类包含一个 qmmmforcejob. 对象,以及分配对象的分区对象,分配分子的部分qm和mm字符。使用DAS的这种自适应QM / MM模拟的Python脚本的示例[4]方法,在示例目录中提供,examples / scmlib / adqmmm_mopacscmuff_h2o。