分子动力学方法.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 9 分子动力学方法 一、引言 计算机模拟中的另一类确定性模拟方法,即统计物理中的所谓合于动力学方法 (Molecular Dynamics Method)。这种方法是按该体系内部的内禀动力学规律来计算并确定位形的转变。它首先需要建立一组分子的运动方程,并通过直接对系统中的一个个分子运动方程进行数值求解,得到每个时刻各个分子的坐标与动量,即在相空间的运动轨迹,再利用统计计算方法得到多体系统的静态和动态特性,从而得到系统的宏观性质。在这样的处理过程中我们可以看出:MD方法中不存在任何随机因素。在MD方法处理过程中方程组的建立是通过对物理体系的微观数学描述给出的。在这个微观的物理体系中,每个分子都各自服从经典的牛顿力学。每个分子运动的内禀动力学是用理论力学上的哈密顿量或者拉格朗日量来描述,也可以直接用牛顿运动方程来描述。确定性方法是实现Boltzman的统计力学途径。这种方法可以处理与时间有关的过程,因而可以处理非平衡态问题。但是使用该方法的程序较复杂,讨算量大,占内存也多、本节将介绍分子动力学方法及其应用。 原则上,MD方法所适用的微观物理体系并无什么限制。这个方法适用的体系既可以是少体系统,也可以是多体系统;既可以是点粒子体系,也可以是具有内部结构的体系;处理的微观客体既可以是分子,也可以是其他的微观粒子。 实际上,MD模拟方法和随机模拟方法一样都面临着两个基本限制:一个是有限观测时间的限制;另一个是有限系统大小的限制。通常人们感兴趣的是体系在热力学极限下(即粒子数日趋于无穷时)的性质。但是计算机模拟允许的体系大小要比热力学极限小得多,因此可能会出现有限尺寸效应。为了减小有限尺寸效应,人们往往引入周期性、全反射、漫反射等边界条件。当然边界条件的引入显然会影响体系的某些性质。 对于MD方法,向然的系综是微正则系综,这时能量是运动常量。然而,当我们想要研究温度和(或)压力是运动常量的系统时,系统不再是封闭的。例如当温度为常量的系统可以认为系统是放置在一个热俗中。当然,在MD方法中我们只是在想像中将系统放入热浴中。实际上,在模拟计算中具体所采取的做法是对一些自由度加以约束。例如在恒温体系的情况下,体系的平均动能是一个不变量。这时我们可以设计一个算法,使平均动能被约束在一个给定值上。由于这个约束,我们并不是在真正处理一个正则系综,而实际上仅仅是复制了这个系综的位形部分。只要这一约束不破坏从一个状态到另一个状态的马尔科夫特性,这种做法就是正确的。不过其动力学性质可能会受到这一约束的影响。 自五十年代中期开始,MD方法得到了广泛的应用。它与蒙特卡洛方法一起已经成为计算机模拟的重要方法。应用MD方法取得了许多重要成果,例如气体或液体的状态方程、相变问题、吸附问题等,以及非平衡过程的研究。其应用已从化学反应、生物学的蛋白质到重离子碰撞等广泛的学科研究领域。 二、分子运动方程的数值求解 采用MD方法时,必须对一组分于运动微分方程做数值求解。从计算数学的角度来看,这个求解是一个初值问题。实际上计算数学为了求解这种问题己经发展了许多的算法,但并不是所有的这些算法都可以用来解决物理问题。下面我们先以一个一维谐振子为例,来看一下如何用计算机数值计算方法求解初值问题。一维谐振子的经典哈密顿量为 (2.1) 这里的哈密顿量(即能量)为守恒量。假定初始条件为x(p)、p(0),则它的哈密顿方程是对时间的一阶微分方程 (2.2) 现在我们要用数值积分方法计算在相空间中的运动轨迹(X(t)、p(t)) 。我们采用有限差分法,将微分方程变为有限差分方程,以便在计算机上做数值求解,并得到空间坐标和动量随时间的演化关系。首先,我们取差分计算的时间步长为h,采用我们有限差分法中的一阶微分形式的向前差商表示,即直接运用展开到h的一阶泰勒展开公式 即 (2.3) 则微分方程(2.2)可以被改写为差分形 (2.4) (2.5) 将上面两个公式整理后,我们得到解微分方程(2.2)的欧拉(Euler)算法 (2.6) (2.7) 这是x(t)、p(t)的一组递推公式、有了初始条件x(0)、p(0),就可以一步一步地使用前一时刻的坐标、动量值确定下一时刻的坐标、动量值。这个方法是一步法的典型例子。 由于在实际数值计算时h的大小是有限的,因而在上述算法中微分被离散化为差分形式来计算时总是有误差的。可以证明一步法的局部离散化误差与总体误差是相等的,都为O(h2)的量级。在实际应用中,适当地选择h的大小是十分重要的。h取得太大,得到的结果偏离也大,甚至于连能量都不守恒:h取得太小,有可能结果仍然不够好。这就要求我们改进计算方法,进一步考虑二步法。 实际上泰勒展开式的

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档