3-分子动力学方法-微正则系综解析_第1页
3-分子动力学方法-微正则系综解析_第2页
3-分子动力学方法-微正则系综解析_第3页
3-分子动力学方法-微正则系综解析_第4页
3-分子动力学方法-微正则系综解析_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

三、分子动力学方法

赖文生清华大学材料系技科楼2315室8/16/20241§3.1常规等容方法(NVE系综)

分子动力学模拟是一种用来计算一个经典多体体系的平衡和传递性质的方法。经典这个词意味着组成粒子的核心运动遵守经典力学定律。真实实验:准备试样,将试样同一测试仪器连结,在一定的时间间隔内测量一下感兴趣的性质。如果测定服从统计噪音,那么测定的次数越多,结果就越准确。分子动力学模拟:准备试样:选择一个由N个粒子组成的模型体系,解体系的牛顿运动方程直到体系的性质不再随时间改变(体系达到平衡)。平衡以后,就进行实际的测定。模拟和实验容易犯的错误很相似:如试样未准备好,测定时间太短,体系在实验过程中经历一不可逆的变化,或者并未测定相要测定的量。8/16/20242温度在分子动力学模拟中,测定一个可观测的量,必须能将这一量表达为体系中粒子的位置与动量的函数。例如,对温度的方便定义是采用在所有自由度上的等配分能,以使它们以二次型进入哈密尔顿函数。实际过程中,温度是由测量体系的总动能除以体系的自由度数Nf(对总动能固定的体系Nf=3N-3,N是粒子数)得到。由于体系总动能涨落,体系的瞬时温度也随之改变温度的相对涨落的数量级在左右。因此要达到温度的一个准确的估计,应对许多涨落进行平均才行。

8/16/20243程序对分子动力学模拟的最好介绍就是考察一个程序。程序按以下方式构成。1)读入指定运算条件的参数(如初始温度、粒子数、密度、时间等)。2)体系初始化(即选定初始位置和速度)。3)计算作用于所有粒子上的力4)解牛顿运动方程。这一步和上一步构成了模拟的核心。重复这两步直至我们计算体系的演化到指定的时间长度。5)中心循环完成之后,计算并打印测定的平均值,模拟结束。8/16/20244虚拟算法Programmd

简单的MD程序callinit初始化t=0dowhile(t.lt.tmax)MD循环

callforce(f,en)计算力

callintegrate(f,en)积分运动方程

t=t+deltcallsample抽样平均enddostopend8/16/20245初始化3.1.1初始化要启动模拟,应对体系中所有的粒子赋予初始位置和速度。所选粒子位置应与要模拟的结构相容。通常,将粒子初始放在立方晶格上来完成。然后对每一个粒子的分速度赋予一个区间(-0.5,0.5)上随机分布的值。接着,改变所有粒子的速度以确保总动量为零,并标定速度以使平均动能为指定值。热平衡时有式中v

是给定粒子速度的

分量。瞬时温度T(t):显然,通过因子fs=[T/T(t)]1/2来调整所有粒子的速度以使得瞬时温度与指定温度相一致。8/16/20246分子动力学的初始化subroutineinitMD程序的初始化sumv=0sumv2=0doi=1,npart

x(i)=lattice_pos(i)将粒子放在晶格上

v(i)=(ranf()-0.5)给定随机速度

sumv=sumv+v(i)质心速度

sumv2=sumv2+v(i)*v(i)动能enddosumv=sumv/npart

质心速度sumv2=sumv2/npart均方速度fs=sqrt(3*temp/sumv2)速度的标定因子doi=1,npart

v(i)=(v(i)-sumv)*fs

设定所需的动能和质心速度零

xm(i)=x(i)–v(i)*dt

先前时间步的位置enddoreturnend8/16/20247力的计算3.1.2力的计算我们以Lennard-Jones体系为例,来计算粒子间的互作用力。第i个原子受的力为:如果粒子对i,j足够近以至可发生作用的话,必须计算它们之间的力及其对势能的贡献。假设希望计算x方向上的力8/16/20248力的计算subroutineforce(f,en)确定力和能量en=0doi=1,npart

f(i)=0设置力为零enddodoi=1,npartdoj=i+1,npart

xr=x(i)-x(j)

xr=xr–box*nint(xr/box)周期性边界条件

r2=xr*xr

if(r2.lt.rc2)then检验截断距离

r2i=1/r2r6i=r2i**3ff=48*r2i*r6i(r6i-0.5)Lennard-Jones势

8/16/20249力的计算(续)

f(i)=f(i)+ff*xr

更新力

f(j)=f(j)–ff*xren=en+4*r6i*(r6i-1)-ecut更新能量,ecut=4(rc-12-rc-6)

endif

enddoenddoreturnend8/16/202410运动方程积分3.1.3运动方程积分采用Verlet算法,这一算法不仅是最简单的,而且通常是最好的。

其推导可通过对在t时刻某粒子的坐标泰勒展开获得类似地,将这两个方程相加,可得或

(3.1)新位置的估计值有一t4级别的误差,式中t是分子动力学模拟中的时间步长。注意Verlet算法并不使用速度来计算新的位置。8/16/202411运动方程积分(续)将上面两个泰勒展开式相减,可以得到速度(可从轨迹知识得到)。

(3.2)速度的这一表达式的精度只在t2级别左右。由上可以看出,如果原子的前两个位置是已知的,则根据式(3.1)和式(3.2)就可进行相关的计算。然而,在典型的分子动力学模拟中,只有初始位置和初始速度是给定的。所以,在利用递归的Verlet算法开始计算之前,首先要找到原子第二个位置的计算方法。一般地,应用普通运动学方程可得8/16/202412积分动动方程subroutineintegrate(f,en)积分动动方程sumv=0sumv2=0doi=1,npartMD循环

xx=2*x(i)-xm(i)+dt*dt*f(i)/2Verlet算法(3.1)vi=(xx-xm(i))/(2*dt)速度(3.2)

sumv=sumv+vi质心速度

sumv2=sumv2+vi*vi

总动量

xm(i)=x(i)更新先前步的位置

x(i)=xx更新当前步的位置enddotemp=sumv2/(3*npart)瞬时温度etot=en+sumv2/2总能量returnend8/16/202413§3.2等压方法(Isobaricmethod)上节我们讨论的分子动力学是一种研究在体积V中N个粒子的经典体系的自然的时间演绎的方法。在这些模拟中,总能量E是运动的常数。若我们假设时间平均等效于系综平均,那么在一般的MD模拟中得到的时间平均等价于在微正则系综(恒NVE)的系综。在其他系综(如NVT或NpT)中进行模拟更方便,更接近实际情况。乍一看,在不是微正则系综的其他系综中进行MD模拟是不可能。但已提出了两种相当不同的解决这一问题的方法。一种是基于这样一种思想,即其他系综的动力学模拟可以通过混合牛顿力学的MD和一定的MonteCarlo移动来实现。另一种方法完全源自动力学,它基于对体系拉格朗日运动方程的重新推导。8/16/202414经典粒子服从牛顿力学、分析力学?*牛顿力学可以解决经典粒子的运动问题:牛顿力学用矢量形式建立运动基本方程(矢量力学)。在处理约束系统、变形体的动力学等问题时有些困难。分析力学(标量力学)属于牛顿力学的范畴,但是又高于牛顿力学。*分析力学也可以解决经典粒子的运动问题(哈密顿方程):qi

是粒子i的广义坐标,pi是与之共轭的广义动量。8/16/202415牛顿力学用力、加速度等矢量表示质点运动规律,着眼于体系内每个质点受到的力及其产生的效果。分析力学通过动能、势能等标量表示运动规律,并能将着眼点由质点转为体系整体(能量是标量,是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论