模拟物理-06 第三章 分子动力学方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 撞击这些表面的粒子将反射回元胞内部,这对于任何一种性质都 会有重大影响,特别是粒子数目很少的系统。
周期性边条件
• 为了减小表面的效应,我们加上周期性边条件(pbc)
– 令元胞完全等同地重复无穷多次。 – 即对于任何可观察量A,有
– 在计算中,如果有一个粒子穿过了基本元胞的一个表
面,那么这个粒子就穿过对面的墙重新进入元胞,速
于无穷时)的性质。
• 但是,计算机模拟允许的系统大小要比热力学极限小得多,因 此可能出现有限尺寸效应。 • 为了减小有限尺寸效应,要作一个近似,即引进了边界条件。 • 边界条件显然会影响某些性质。
有限尺寸的一个好处
• 在一个有限尺寸的系统中,描述该系统的各个强度量会偏
离它们的平均值,即它们会围绕平均值涨落。 • 它使我们可以计算二阶热力学性质。
• 按照统计力学观点。
– 为了计算A,我们需要规定一个分布函数f()。 – 于是量A由下式给出:
统计理论中的平均
这是带有配分函数Z的系综平均。分布函数f为所研究的问题 规定了相应的系综。
计算机模拟中的平均
• 计算机模拟求出的不是系综平均。 • 在模拟中物理量A是沿着相空间中的轨道来 计算的。
• 以简谐振子问题为例,如果要计算温度
积分方法
• 令 • 可以改写为
• 从位置ri0 和ri1 出发,随后的所有位置都由上面这个递推关 系决定。 • 换句话说,n+1时刻的粒子位置由紧在此时刻之前的两个 时刻的位置外推或预报出来。(这是一个二步法)
积分方法
• 有了位置我们还需要速度,以便计算动能(及速度自关联 函数,用来研究输运特性)。 • 按照 • 速度由下式计算
• 因此,相空间实际上是作了抽样。 • 我们只能满足于
• 对于某些问题,有限观测时间可以看成是无穷长。
– 例如,考虑对一个分子系统的计算,它的观测时间远大于分子时
间尺度。
1.4 模拟物理学的两个基本限制(二)
• 除了有限观测时间之外,模拟物理学(simulational physics)
还面对着另一个基本限制:有限的系统大小。 • 一般说来,人们感兴趣的是计算热力学极限下(即粒子数目趋
• 为了避免无限求和,引进一个约定
• 最小影像约定:ri处的粒子i同rj处的粒子j之间的距离
(对所有的元胞)
最小影像约定
• 最小影像约定意味着
– 基本元胞中的一个粒子只同基本元胞中的另外N-1个粒子中的每个 粒子或其最近邻影像发生相互作用。 – 实际上,这是根据条件
– 来截断位势。 – 为此付出的代价是忽略了背景 – L的数值应当选的很大,使得距离大于L/2的粒子的相互作用力小 的可以忽略,以避免有限尺寸效应。
4 微正则系综分子动力学
本节介绍基本的能量守恒的分子动 力学算法
系统
• 我们来发展一种计算方法,使系统沿着相空间中的恒定能 量轨道演化。 • 出发点是描述N个粒子相互作用的哈密顿量。 • 为简单起见,我们像以前一样假定一个球对称的二体位势
• • • •
rij代表粒子i和j之间的距离。 上式不显含时间。系统的 是运动常数。 系统的粒子数N也恒定。 另外一个约束是,总动量P为零。
• 在第n+1步算出的速度是前一时刻即第n步的速度! • 因此,动能要比算出的势能落后一步。 • 以上计算位置和速度的公式连同初始位置,构成所谓 verlet算法
Verlet方法的启动
• 上述形式的Verlet算法不是自启动的。 • 为了启动它,除了给出初始位置外,还必须另外再给出一组位 置。可以采用的一种做法是:把N个粒子的初始位置放在一个 格子的格点上,然后加以扰动。 • 如果初始条件是位置和速度,则可以用下面的公式来计算位置 ri1
例子
• 当考虑大量的放射性原子核时,尽管原子核的数目是离散的,我们经常可 以把这个数目当做连续的变量来处理。在这种情况下,放射性衰减的规律 是衰减率正比于原子核数目,即原子核数目满足:
dN N dt

这里,N是原子核数,λ是衰减常数。当然我们无须使用计算机解这个衰减 方程,它的解析解是:
t N ( t ) N e 0 • 这里N0是粒子的初始数目。
2 分子动力学
分子动力学
• 本节讲述分子动力学方法的数学背景
• 引进一些基本观念, – 如计算元胞、 – 边界条件、 – 计算作用力的最少影像约定
• 顾名思义,分子动力学方法是用每个分子的运动方程来计 算系统的性质。 • MD方法的具体做法是在计算机上求运动方程的数值解。 • 为此要对方程进行近似。把连续描述变为离散描述。 • 这种近似显然会有误差。 • 误差的阶数取决于具体的近似机制,即算法。 • 原则上,可以使这个误差任意小(但是受到计算机的速度
• 我们需要引进一个体积(即分子动力学元胞),把N个粒 子限制在其内部,以维持密度。
– 如果系统处于热平衡,那么这个体积的形状是无关紧要的。 – 对于气体和液体,这是正确的。 – 对于晶体,元胞的形状是有影响的。
元胞
• 对于液态和气态,为了计算简便,我们取一个立方形体积
为元胞。 • 设MD元胞的线度大小为L,体积为V=L**3 • 引进这个立方箱子产生了六个我们不想要的表面。
大多数应用中已经足够。
如何选择时间步长h
• 在确定了求运动方程数值解的算法之后,面临的问题是如 何选择基本时间步长h(分子动力学步)。
– h决定算出的轨道的精度。 [为了精度,取小一点] – 在许多问题中我们想要模拟足够长的实际时间,以对更大的部分抽 样。 [为了时间,取大一点]问题是时间步长究竟可以取多大?
• 由于变化量R(t)是一个随机变量,这个随机微分方程的解
v(t)将是一个随机函数。
系统
• 为简单起见,本章讨论单原子分子系统
– 分子相互作用与分子取向无关
• 一般说来,系统由下述哈密顿量描写
• 其中rij是粒子i和粒子j之间的距离。
• 把位形内能简写为
分子动力学元胞
• 我们往往研究在给定密度下一块物质的性质,
• 然后就按照前几页上的算法进行计算
• NVE分子动力学
1. 2. 3. 4. 规定初始位置ri0 和ri1 计算第n时间步的力:Fin 按照公式计算第n+1时间步的位置:rin+1 按照公式计算第n时间步的速度:vin
相加形式
• Verlet算法可以重新表述,得出一个在数值计算上更稳定 的算法。令
– 在计算机模拟中我们不是对大量相似系统来计 算温度值, – 而是使粒子沿相空间中的轨道运动,并沿着这 条轨道计算动能。
计算机模拟中的平均
两种平均的差别导致的问题
• 系综平均和时间平均相等吗? • 必须求助于遍历性。它允许把系综平均换 成时间平均
1.3 计算机模拟方法的两个基本限制(一)
• 显然,一次计算机模拟不能进行无穷长时间。
积分方法
• 我们这里从牛顿形式的运动方程出发。
• 初始位置确定了势能对总能量的贡献,初始速度决定论动 能的贡献。
• 规定了初始条件之后,系统就沿着相空间中的恒定能量路
径运动。
积分方法
• 对方程左边的二阶微分算符使用离散化近似 • 得到显式中心差分方法
• 这个方法从粒子在前两步即t和t-h时刻的位置及t时刻的作 用力,得出粒子在t+h时刻的位置。 • 对t+h时刻的粒子位置求解,得
分子动力学方法
1 模拟方法概述
1.1 一次计算机模拟的出发点是一个物理系统的
一个完全确定的模型。
• 在多数情形下我们假定,所考虑的系统有一个模型哈 密顿量H。
1.2 统计平均
• MD常用于模拟多体系统。这个系统可以是一个少体系统。
• 对于多体系统,统计性质是重要的。 • 用x =(x1,…, xn)表示系统的状态,其中n是系统的自 由度的个数。(状态的集合构成系统的相空间Ω。) • 要计算的量A是系统状态的函数。
• •
使用欧拉算法写一个程序去求解这个衰减方程,计算10000个衰减到初始数 目的10%需要的时间。 已知:铀238的半衰期是4.5E9年,μ介子的半衰期是2.2E-6秒。
如何选择时间步长h
• 时间尺度依据及困难
– 必须考虑系统中发生变化的时间尺度。 – 但是,有些系统具有几种不同的时间尺度。 – 例如,一个分子系统,分子间的行为模式可能有一个时间尺度,分 子内的行为模式可能有另一个时间尺度。 – 可惜,没有一个选择h的判据存在。只有一个很一般的经验定则: 总能量的涨落不应超过势能涨落的百分之几。现在还不清楚这个经 验定则有多大的意义。常常不同的量有不同的弛豫时间,因而只看 能量可能会被误导。
和内存大小限制。)
定义:分子动力学方法
• 分子动力学方法计算一组分子的相空间轨道,其中每个分
子各自都服从经典运动定律。
系统
• 通常,我们需要处理的是下述形式的方程
• 其中u可以是例如速度、角度或位置等,K
是一个已知算符。变量t通常解释为时间。
系统
• 未知变量也可以是一个随机变量,
• 例如用来描述布朗粒子运动的朗之万方程
wenku.baidu.com
3 积分算法与误差来源
积分算法
• 从数学的观点来看,MD方法是一个初值问题。
• 对这种问题已发展了大量的算法。 • 不过,并非所有这些算法都可以用来解决物理问题。
• 具体地说,设从哈密顿量导出了微分方程,即运动方程
• 对于N个粒子,每次计算右边的值需要作N(N-1)/2次相当费 时的运算。
• 为了避免这一点,我们使用较简单的格式,它们的精度在
趋衡
• 一般而言,对应于给定能量的精确初始条件是人们不知道 的。
• 为了把系统调节到给定的能量,先给一个合理的初始条件, 然后对能量进行增减,直至系统到达所要的状态位置。 • 对于Verlet算法或其速度形式变形中的趋衡阶段,能量调 整是通过对速度进行特别的标度来实现的。 • 这种标度可以使速度发生很大的变化。 • 为了消除可能带来的效应,必须给系统足够的时间以再次 建立平衡。
• 则
• 与 等价 • 这个新的形式,叫做相加形式。减法被换成了z的迭代, 有助于数值计算的稳定性。
速度形式
• 1. 2. 3. 再进一步重新表述可以给出Verlet算法的速度形式 规定初始位置ri1 规定初始速度vi1 计算第n+1时间步上的位置
4. 计算第n+1时间步上的速度
上面的算法在许多方面优于原来的算法。主要是,成功地 得到了同一时间步上的位置和速度。其次,数值稳定性也 加强了。
误差起源
• 能量涨落的原因
– 位势截断 由于采用了分子动力学元胞,势能在元胞尺寸L范围上被截断了, 忽略了大于元胞范围的背景相互作用。由于忽略了部分势能,造 成能量的偏离。而这种偏离不是固定的,可以看作随机的。从而 导致模拟系统能量的涨落。 – 近似式包含的误差 不论一个算法近似的阶数有多高,只要h是有限大,系统迟早会偏 离真实的轨道。有限大小的时间步长h会使能量产生一个偏移,虽 然这个偏移可能很小。
对力求和的顺序
• 计算作用在一个粒子上的力时就可能遇到数量级相差很大 的求和。
• 设想至少有一个粒子对这个粒子施加一个很强的排斥力
• 有些粒子位于位势的极小点处,给出的贡献小得可以忽略
• 而其他粒子则离得很远。 • 把小贡献同强排斥力相加,将会损失几位数字的精度。
• 但是如果求和之前首先对各个贡献按其大小排序,再从最 小项开始相加,有效数字位数就能保持。
度不变。
周期性边条件
• 有了周期性边条件,我们就消除了表面,并且建造出一个
准无穷大体积,以使元胞更精确地代表宏观系统。 • 这里所作的假设是,这个小体积是嵌在一个无穷大的大块 之中。
最小影像约定
• 位置矢量的每个分量由0和L之间的一个数表示。如果粒子
i在ri处,那么有一组影像粒子位于 • 由于周期性边条件,位能受到影响,形式为 处。
误差起源
• 能量涨落的起源,也可以由计算机的有限位精度引起。
– 计算机的精度有限,不得不进行舍入。(演示)
– 舍入误差的重要性通常都比不上其他因素, – 但是应当对舍入误差加以考虑。 – 每一次算术运算都有一个舍入误差。一次加法的结果是以有限的 精度得到的。它的最后一位并不是真值,而是舍入的结果。 – 数量级相差很远的两个量想加时也会带来误差。(这导致加法的结 合率在计算机上并不成立。)
能量守恒算法,以及相应的误差
• 算法守恒性质的问题
– 针对有限大小时间步长h导致能量偏移的问题,其实可以提出能量 守恒的算法。采用特殊的形式,可以在一次分子动力学模拟中保 持能量、动量和角动量守恒。
• 然而,误差的问题没有完全解决
– 即使能量守恒,仍有离散化误差,因而算出的轨道并不是真正的 轨道。系统遵循的将是等能面上的另一条路径。 – 对于有限大小的盒子,我们仍不能给出正确的位势。
相关文档
最新文档