分子模拟 ——从算法到应用 UNDERSTANDING MOLECULAR SIMULATION - FROM ALGORITHMS TO APPLICATIONS [荷] Frenkel & Smit 著 化工业出版社
译者的话 理论分析、实验测定及模拟计算已成为现代科学研究的三种主 要方法。20世纪90年代以来,由于计算机科学和技术的飞速发展, 模拟计算的地位日渐突显。在化工新产品及新材料的研究和开发 中,采用分子模拟技术,从分子的做观性质推算及预测产品及材料的 介观、宏观性质,已成为新兴学术方向。仅据1999年的统计,美国各 大学的化工系,已有50多个研究组在从事分子模拟方面的研究,显 示出分子模拟正处在蓬勃发展的阶段。近几年内,国内有越来越多 的研究组积极开展分子模拟研究,也得了可喜的成绩。 本组从20世纪80年代中期开始分子模拟方面的研究。多年来 深惑在分子模拟领城内,需要一本兼顾旗拟理论和应用的参考书。 荷兰Frenkel及Smit合著的此书,是这方面的代表作。他们都是国 际上物理界和化工界享有盛名的科学家,具有扎实的分子模拟理论 功底和解决实际问题的经验,因而本书在世界上为引用最广的分子 模拟专著之一。为此我们将此书译出,介绍给国内从事此领域研究 的工作者、研究生及教师,以期推动国内分子模拟的研究。 本书译者有汪文川(序言,1、2、3章及附录F),周健(4、6、10、 11、14章及附录A、C、E),曹达鹅(5、12、13章及脓录F、D、G),金文 正(第7、8、9章及附录B、I、H)。汪文川和周键对全书进行了译校。 最后汪文川和曹达鹏对全书做了统稿处理。由于本书涉及了数学、 物理、化学及计算机科学等基础学科,有一定的理论深度,相应给翻 译者也带来了一些困难。因此译文中难免有不少缺感,数请读者能 不吝赐教,指出不足之处,以利于我们今后改进。 本书在翻译过程中,得到作者之一Sit教授的大力支持和化工 出版社的热情帮助。本组研究生、博士后多年的工作积票,对本书中 的有关章节的御译,有所神益,借此机会对他们致以衷心的感谢。 汪文川 2002年6月于北京化工大学
前 言 本书并非计算机模拟操作手册。本书旨在介绍分子模拟实施方 法中涉及的物理知识。当然,也要给出实施方法,否则本书内容会太 抽象,以至于无多大实际用途。本书的视野是有限的。我们不打算 讨论计算机模拟的各个方面,只偏向于给出一些计算工具的统一表 述,而这些工具目前正用于研究相平衡,尤其是分子和大分子物质的 相行为。此外,我们有意将讨论局限于经典多体体系,即使这些提及 的方法也可适用于量子体系。总之,在经典多体体系的描述中,只讨 论平衡现象。 本书是针对活跃于计算机模拟领域中或有志于此的读者。计算 机模拟工作者不断面临:与方法选择有关的各种问题,因为,总是有缤 纷集多的计算工具可供选用。我们应该作一合理的选择来了解壅含 在其中的至关重要的物理知识。本书的目的正是向读者提供这些 背景。 必须在-一开始就坦盲,我们认为某些方法确实比另一些方法更有 用,因此在叙述中有所侧重。实际上我们相信读者不会因为作者没有 平等对待各种方法这一事实而抱怨。然而凡是当我们表达个人的偏 好时,总是用基于物理、应用数学甚至仅仅经验的一些观点来支持它。 事实上我们将叙述与实例相结合以达到两重目的。首先,表明选定的 方法是如何起作用的,其次,给作者一种对于可用数值模拟来研究的 现象的感受。 读者也将会看出有两类模拟方法被详加讨论:一级相转变及各 种偏倚Monte Carlo方法。我们花费这么多篇幅于这些主题并不是 认为它们比其他较少涉及的题目更重要,而是感到对上述两主题的 讨论目前较为支离破碎。 本导言是为非专业人士面写的,此举出于有心。随着计算机实
验变成通用的工具,计算机模拟者群体正迅速扩张。许多新的模拟 工作者将用计算机模拟作为一种工具,而并不对各种方法有太大兴 趣。然而我们希望说服那些认为计算机模拟程序是一“黑箱”的读 者,“黑箱”内部是有趣的,而且尤为重要的是了解模拟程序的运作将 大大改进将其仅作为“黑箱”的效率。 在理论构架之外,本书还讨论一些在模拟界已成为常用知识的 实用技巧和规则。要追湖这些规则的起源往往是困难的。因此有些 技巧在某种情况下很有用,而在其他情况下会导致程序效率低下。 在本书中将按合理的文字叙述,讨论各种技巧内的理论内涵,而将主 要文字用来描述各种方法的理论构架。为了表明这些想法,本书给 出3类内容:算法,实例研究及例题。 (1)算法 算法表述构成了本书的主要部分。这种表述并不给出多少该算 法如何有效地执行的信息。当然该算法的执行细节可以从全部程序 清单中获取。然而,即使是在一个精心组织的程序中,程序代码也会 含有工作程序所必须的多个程序行,他们会掩盖这些程序行所欲表 达的算法的真意。作为一种折中方案,我们对每一种算法提供一些 虚拟代码。这意味着用于真实程序时,必须赋予虚拟代码的某些基 本特征。例如虚拟代码只考虑x方向,如果此代码将用于一种模 拟,类似的程序行必须加上y及?方向。此外,我们也省略了大多数 变量的初始化。 (2)实例研究 在实例研究中,在本书正文中所讨论的各种算法将综合在一完 整的程序中。这些程序用来说明各种模拟的概貌。有些实例研究着 重于模拟中会发生的问题或有时会犯的错误。我们用于实例研究的 Fortran码的全部列表,读者可通过Internet●获取。 (3)例题 在例题中将演示正文中所讨论的方法如何用于一个实例中。我 ● http://www.hpcn.tudelft.nl/frenkel.smit.html
们尽可能涉及目前所关心的研究课题。这样读者能获得用模拟研究 这一类体系的一些感悟。此外,我们还试图在这些例题中说明模拟 是如何有助于求解各种“真实的”实验或理论问题的。 在本书中所讨论的许多主题都已在公开文献中出现。然而例题 及实例研究是为本书而备的。在编写这一部分材料时,我们只得包 容一些据本人所知文献中未加报道过的一些计算技巧。 在计算机科学中,一般推断任何一个超过200行的源程序代码 至少含有一个错误。全体实例研究的源程序码含有25000行编码。 假如我们的编程能力不低于平均水平,则意味着至少在源程序代码 中有125处错误。 基于上一段的观点,我们必须补充以下的不能承诺的事项, 我们不保证,表露或隐喻在本书中所含的各个程序没有错误,或 能满足对任何特殊应用的需要。不能依靠这些程序去解决这类问 题,其不正确答案可能会导致人身伤害、破坏或财产损失。本书作者 和出版社对您使用各个程序所引起的直接的或随之而来的损害不承 担任何责任和义务。 虽然本书及所含的程序受版权保护,但只允许作出恰当的引用, 我们授权本书读者采取本书的各个程序的各部分为已所用。 最后,衷心感谢我们许多同事的帮助和合作。事实上有几十位 同事在本书所叙述的主题中共同切磋。此处无法列出他们的全部姓 名,我们将在正文的恰当之处提及。诚然,我们感激他们的贡献。此 外,Daan Frenkel受益于在阿姆斯特丹原子及分子物理FOM研究所 及Utrecht大学van't Hoff实验室的同事的无数次激动人心的讨论。 而Berend Smit受惠于与Sheli公司的几位同事的切磋。此外,数位 同事阅读了全文或部分内容以帮助完稿。他们是Giovanni Ciccotti, Mike Deem,Simon de Leeuw,Toine Schlijper,Stefano Ruffo,Maria- Jose Ruiz及Guy Verbist。.我们还感谢Klaas Esselink及Sami Karaborni的封面图。总之,在此感谢诸位的努力。不过我们强调文 中的各种错误,由我们自负,责无旁贷
目 录 1概述… 第一部分基本原理 2统计力学… 9 2.1嫡及温度…… 9 2,2经典统计力学 13 2.2.1各态历经性 15 3 Moute Carlo模拟 18 3.1 Monte Carlo方法… 18 3.1.1重要性抽样 19 3.1.2 Metropolis方法… 21 3.2基本Mo0 te Carlo算法… 25 3.2.】算法…… 26 3.2.2技术细节 27 3.3尝试移动 36 3,3.1平动…… 36 3.3.2方位移动 40 3.4应用 … 44 4分子劝力学摸拟……… 51 4,1概念…………… 51 4.2程序 52 4.2.1初始化 54 4.2.2力的计算 55 4.2.3运动方程积分 57 4.3运动方程…… 59 4.3.1其他算法 62 4.3.2高阶算法 65
4.3.3时间可逆算法的刘维公式 65 4,3,4李雅普诺夫非稳定性……… 69 4.4混合Monte Carl0…………… 71 45汁算机实验………………………………… 72 4,5.1扩散……………… 75 4.5.2测定相关性的-阶算法 80 4.6一些应用…………………… *………86 第二部分系 综 5不同系综中的M0 nte Carlo模拟……… 95 5.1一般方法 96 5,2正则系综 …… 96 5.2.1 Monte Carlo模拟… 96 5.2.2算法的证明………… 97 5,3微正则Monte Carlo… 98 5.4等祖等压系综……… 99 5.4.1统计力学基础… 99 5.4.2 Monte Carlo模拟…… 102 5.4.3应用………… 106 5.5等张力等沮系综… 108 5.6巨正则系综…… 109 5.6.1统计力学原理… 110 5.6.2 Monte Carlo摸拟. 112 5.6.3算法的证明……… 114 5.6.4应用…… 116 6不同系绵中的分子动力学…… 119 6.1恒祖下的分子动力学 120 6.1.1 Ander5en热浴…………… 121 6,1.2 Nose-Hoover热浴 127 6.1.3 Nose-Ho0ver链…………, 134 6.2在线优化:Car-Parrinello方法 138 第三部分相平衡 7自由能计算………。 0…………………………143
7.1热力学积分… 144 7.2化学势…… 148 7.2.1粒子插入法…… 149 7,2.2其他系综………… 152 7.2.3重叠分布法 154 7.3其他自由能方法…… 158 7.3.1多直方图 159 7.3.2接受率法…… 165 7.4伞形抽样…………… 167 8无界面的共存相…………… 173 8.1 Gibbs系综法 174 8.1.1配分函数…… 175 8,1.2 Monte Carlo模拟 176 8.1.3方法的实施…… 179 8.1.4结果分析… 185 8.2应用…… 191 8.3半耳正则系综…… 194 9含相体的相平衡…… 202 9.1热力学积分…… 202 9.2園体的自由能…… 204 ·9.2.1具有不连续势能的原子固体…… 204 9.2.2具有连续势能的原子固体……… 214 9,3分子固体的自由能…… 216 9,4描绘共存曲线……… 219 第四部分高等方法 0约桌 …225 10.1约束 226 10.2约束及非约束平均 231 11稀有事件…………… 237 11.1理论背景 238 11.2逾越势垒模拟…… ……0243 12熊移动 249
12.1簇 249 12.2早期拒受方法 255 13复杂流体 258 13,1偏绮抽样方法…… 259 13,1.1 Metropolis之外的方法…… 259 13,1,2取向偏待………………… 260 13.2链状分子………… 267 13.2.1构型伯犄Monte C8rlo… 267 13.2.2格子棋型。………… 268 13.2.3非格子模型 272 13.3尝试取向的产生 278 13.3.1强分子内部相互作用 278 13.4固定末揹…………… 286 13.4.1格子棋型…… 286 13.4,2充分柔性链 .. 288 13.5巨正则系综…… 290 13.5.1算法……… 291 13,6Gbbs系综棋拟…… 295 13.6.1算法……… 295 13.7聚合物之外的棋拟…… 298 14链状分子的自由能……………… 300 14.1作为可逆功的化学势…………………… 300 14.2 Rosenbluth抽样………- 301 14.2.1具有离散构象的大分子 301 14.2.2扩展至连续可变形分子 306 14.2.3重叠分布Rosenbluth方法 313 14.2.4递归抽样 第五部分附 隶 附景A娘性响应理论 319 A静态响应…… 319 A2动态响应 320 A3托散……… …323
附录B长程作用 ……4329 B1 Ewald加和 329 B2其他替代算法 338 附录C节省CPU时间 344 C1 Verlet列表 344 C2元胞列表… 348 C3 Verlet和元胞联合列表 351 C4效率…… 354 附录D统计误差……… 358 D1统计性质:体系尺度…… 358 D2相关函数…… 360 D3块平均…… 362 附录E积分方法 365 E1高阶方法……… 365 E2No8 e-Hoover算法… 366 E3No3 e-Hoover链…… 372 附录F参考态… 375 巨正则系综模拟 375 附录GG北bs系综中的统计力学 378 G1 Gibbs系综自由能… 378 G2Gibs系综的化学势… 384 附录H一些通用裤法 387 附录【豪合物的量叠分布… 391 静考文就………… 395