当前位置:文档之家› AMBER分子动力学简例

AMBER分子动力学简例

AMBER分子动力学简例
AMBER分子动力学简例

AMBER分子动力学简例

AMBER分子动力学简例(一)

概述

以下是使用AMBER包的简单教程,希望对开始学习分子动力学的同学有用处。申明一下,以下教程原版来自网上,是最最基本的教程,同时也非常实用,有非常好的借鉴意义。

AMBER分子动力学程序包是加州圣弗兰西斯科大学(University of California San Francisco,UCSF)的Peter A Kollman和其同事编的,程序很全,现在已经发展到版本9.0。AMBER功能涵盖种类非常多的生物分子,包括蛋白、核算以及药物小分子。软件详细情况请浏览https://www.doczj.com/doc/9716052655.html,.

以下是AMBER软件包中四个主要的大程序:

Leap:用于准备分子系统坐标和参数文件,有两个程序:

xleap:X-windows版本的leap,带GUI图形界面。

tleap:文本界面的Leap。

Antechamber:用于生成少见小分子力学参数文件的。有的时候一些小分子Leap程序不认识,需要加载其力学参数,这些力学参数文件就要antechamber生成。

Sander:MD数据产生程序,即MD模拟程序,被称做AMBER的大脑程序。

Ptraj:MD模拟轨迹分析程序。

学习项目

本教程研究的题目是脑下垂体荷尔蒙之一的oxytocin,需要X光衍射晶体结构文件1NPO.PDB。该文件包含了该荷尔蒙和其运载蛋白的复合物,可以从蛋白数据库下载。

PDB文件是不包含氢原子的,Leap程序会自动的加上PDB文件缺少的东西。当第一次使用PDB文件的时候,要十分留意文件包含的信息,所以PDB文件缺少的残疾、侧链或者添加的变异都在这个地方记录。可以用文本阅读程序阅读PDB文件头部的信息,即以REMARKS开头的信息文本行。PDB一个重要的信息是SSBOND记录,该记录说明结构中二硫键的位置,这样的信息在使用Leap程序建立分子结构的时候需要。在本教程中,我们将比较oxytocin在真空和溶液中分子动力学的差异,如果没有二硫键,将影响整个结果。整个过程在Linux系统下完成,如对Linux不熟悉,请翻阅有关Linux书籍。

建立项目目录,并进入该目录:

mkdir

myproj

cd myproj

下载1NPO.PDB文件到该目录下,使用文本阅读器阅读该PDB文件。从在文件的开头部分可以得到该文件是一个二聚物的PDB文件,删除文件中A、C、和D链对应的文本行,剩下的就是oxytocin的晶体机构了,

保存为oxyt.pdb文件。

使用Swiss PDB viewer分析以下oxyt.pdb文件,可以得知该pdb文件缺少了一个侧链。如果使用Deep View,它会自动给文件加上侧链。重新保存pdb文件为oxyt.pdb文件。

xleap和tleap程序功能是一样的,都是准备分子结构的坐标文件和拓扑文件。xleap启动一个X界面,比较慢。tleap纯文本,要快一些,我们选择tleap:tleap

-s

-f

leaprc.ff03

其中leaprc.ff03是AMBER的2003力场文件。力场是一个很重要的文件,定义了分子、原子和残疾等的信息,请查阅有关资料。

oxy=loadpdb oxyt.pdb

该命令读入oxyt.pdb文件到oxy变量中。

bond

oxy.1.SG oxy.6.SG

连接oxy变量的第一和第六个残疾的SG原子,即是连接二硫键。可以使用check命令检查oxy是否完好,没有特殊情况的话,最后应该是“OK”,表示分子系统状态是好的,可以保存。

check oxy

接下来就是保存分子系统了:

saveamberparm

oxy

oxy_vac.top

oxy_vac.crd

其中oxy_vac.top和oxy_vac.crd分别是分子系统真空状态下的拓扑和坐标文件。

接下来要给分子系统添加水环境,

solvateoct

oxy

TIP3PBOX9.0

该命令让Leap程序使用TIP3PBOX水模型,水环境距离分子为9纳米。也可以用solvatebox命令,但是solvatebox添加的水环境是一个立方体,不是八面体。一般要求水表面到蛋白距离要达到8.5纳米,避免MD过程中蛋白冲出水环境,但是水环境越大计算时间将越长。如果MD过程内含PME,那么水箱长度要大于2倍截矩(cutoff),截矩在MD配置文件中定义。加溶剂之后,要计算系统是否为电中性,使用命令:

charge oxy

如果现实不是电中性,要使用addions添加反性电荷,如Cl-或者Na +等。

最后保存溶剂环境的系统拓扑结构和坐标文件,并退出Leap程序:

saveamberparm

oxy

oxy.top

oxy.crd

quit

也可以把命令集中到一个,让tleap读取。如将上面的命令集中到以下文件中

"oxy.leaprc"

--------------------------------------------------------------------------------

source

leaprc.ff03

oxy=loadpdb oxyt.pdb

bond oxy.1.SG

oxy.6.SG

check oxy

saveamberparm oxy oxy_vac.top oxy_vac.crd

solvateoct oxy

saveamberparm oxy oxy.top oxy.crd

quit将以上两横线之间的命令保存为"oxy.leaprc",然后使用以下命令一步搞定:

tleap

-s

-f

oxy.leaprc

到此,分子系统准备已经完成,目录中会多了一个leap.log文件,这是Leap程序的记录文件,它包含了leap程序所做的一切,包括自动的和手动命令。

现在已经有了可以进行分子动力学的基本文件了,再编写sander的控制文件,就可以进行模拟了。这些将在后文中介绍。

AMBER分子动力学简例(二)

分子动力学(1)

真空模式

真空模式分子动力学模拟将使用NVT系宗分两步进行,即系统能量最优化和分子动力学过程。

1、系统能量最优化。我们将使用淬火能量最优化解除系统内原子之间的不正常相互作用,这些原子之间的高能量相互作用如果不消除,可能影响后续的分子动力学过程。因为动力学过程是能量梯度变化的,太高的能量壁垒可能让MD局限在某一个能量局部最小化位置中。Sander程序是分子动力学模拟程序,它的主要功能是能量最优化,动力学模拟和NMR优化计算。我们必须给Sander一个运行的配置文件,使其按照我们的要求进行计算。能量最优化的配置文件如下:

"min_vac.in"

oxytocin: initial minimization prior to MD

&cntrl

imin = 1,

maxcyc = 500,

ncyc = 250,

ntb = 0,

igb = 0,

cut = 12

/

--------------------------------------------------------------------------------

Sander程序的基本命令参数如下:

sander –O –i in –o out –p prmtop –c inpcrd –r restrt [-ref refc –x mdcrd –v mdvel –e mden –inf mdinfo]

所以我们的命令可以如下:

sander –O –i min_vac.in –o min_vac.out –p oxy_vac.top –c oxy_vac.crd –r oxy_vacmin.rst &

可以使用more命令或者tail命令查看min_vac.out的输出内容,那是能量最优化的记录。

2、分子动力学模拟。

Sander程序的配置文件为:

md_vac.inoxytocin MD in-vacuo, 12 angstrom cut off, 250 ps

&cntrl

imin = 0, ntb = 0,

igb = 0, ntpr = 100, ntwx = 500,

ntt = 3, gamma_ln = 1.0,

tempi = 300.0, temp0 = 300.0,

nstlim = 125000, dt = 0.002,

cut = 12.0

/

--------------------------------------------------------------------------------

命令为:

sander –O –i md_vac.in –o md_vac.out –p oxy_vac.top –c oxy_vacmin.rst –r oxy_vacmd.rst –x oxy_vacmd.mdcrd –ref oxy_vacmin.rst –inf https://www.doczj.com/doc/9716052655.html, &

MD的计算过程一般比较久,真空相对与溶剂中要快以下,250ps的模拟大概在一个主频为2。0GHz的Linux单机上运行5分钟。

以上配置文件中用到很多参数,这些参数这是sander程序参数的一小部分,以下将相应解释。如果要了解sander的其他参数,请阅读AMBER 用户指南。

&ctrl和"/":sander的参数一般要求出现在这两个标识符号之间,参数以及这两个标识符被称做控制模块。

cutoff:以纳米为单位的截矩。即超出截矩范围的非键连接相互作用将不计。

ntr:原子位置能量抑制位,1表示抑制,0表示不抑制。

imin:能量最优化标志位。1表示sander将进行能量最优化,0表示让

sander进行分子动力学模拟。

macyc:能量最优化次数。

ncyc:便是经过多少次能量优化以后,能量优化从淬火过程变为梯度变化过程。

ntmin:能量优化方法标志位。0表示前10个能量最优化为淬火过程,然后进行梯度能量优化;1表示ncyc次淬火过程,然后进行梯度能量优化,为默认值;2表示只进行淬火过程。

dx0:表示启动模拟步长。

dxm:最大优化步数。

drms:梯度能量优化标准,默认值为1.0E-4 kcal/mol.A。

更多参数将在后文中解释。

AMBER分子动力学简例(三)

分子动力学(2)

水环境中的分子动力学模拟

溶剂环境中的分子动力学模拟分为以下四步进行:

1、溶剂环境能量最优化。这一步保持溶质(蛋白)不变,去除溶剂中能量不正常的范德华相互作用。

2、整系统能量最优化。去除整个系统中能量不正常的相互作用。

3、有限制的分子动力学。保持蛋白质不动,溶解溶剂的不同层,同时逐渐将系统温度从0K提升到300K。

4、整系统分子动力学模拟。在一个大气压,300K的环境下整个系统分子动力学模拟。可以得到成果的分子动力学模拟。

#############################

1、溶剂环境能量最优化。

该步骤的配置文件min1.in如下:

-------------------------------------------------------------------------------- oxytocin: initial minimisation solvent + ions

&cntrl

imin = 1,

maxcyc = 1000,

ncyc = 500,

ntb = 1,

ntr = 1,

cut = 10

/

Hold the protein fixed

500.0

RES 1 9

END

END该过程保持肽链不动,其中500.0单位是kcal/mol,表示作用在肽链上使其不动的力。“RES 1 9”表示肽链残基数目,因为我们学习使用的oxytocin有9个残基。

模拟命令如下:

sander –O –i min1.in –o min1.out –p oxy.top –c oxy.crd –r oxy_min1.rst –ref oxy.crd &

2、整系统能量最优化。

配置文件min2.in如下:

-------------------------------------------------------------------------------- oxytocin: initial minimisation whole system

&cntrl

imin = 1,

maxcyc = 2500,

ncyc = 1000,

ntb = 1,

ntr = 0,

cut = 10

/

--------------------------------------------------------------------------------

命令如下:

sander –O –i min2.in –o min2.out –p oxy.top –c oxy_min1.rst –r oxy_min2.rst &

3、有限制的分子动力学。

第一步分子动力学保持蛋白分子位置不变,但是不是完全固定每个原子,同时缓解蛋白分子周围的水分子,是溶剂环境能量优化。在这个步骤中,我们将主要目的是对特定的原子使用作用力使其能量优化。我们要优化溶剂环境,至少需要10ps,我们将使用20ps用来优化我们上两步制作的分子系统的周期性边界的溶剂环境。

命令配置文件md1.in如下:

-------------------------------------------------------------------------------- oxytocin: 20ps MD with res on protein

&cntrl

imin = 0,

irest = 0,

ntx = 1,

ntb = 1,

cut = 10,

ntr = 1,

ntc = 2,

ntf = 2,

tempi = 0.0,

temp0 = 300.0,

ntt = 3,

gamma_ln = 1.0,

nstlim = 10000, dt = 0.002,

ntpr = 100, ntwx = 500, ntwr = 1000

/

Keep protein fixed with weak restraints

10.0

RES 1 9

END

END

--------------------------------------------------------------------------------

上述参数解释如下:

ntb = 1:表示分子动力学过程保持体积固定。

imin = 0:表示模拟过程为分子动力学,不是能量最优化。

nstlim = #:#表示计算的步数。

dt = 0.002:表示步长,单位为ps,0.002表示2fs。

temp0 = 300:表示最后系统到达并保持的温度,单位为K。

tempi = 100:系统开始时的温度。

gamma_ln = 1:表示当ntt=3时的碰撞频率,单位为ps-1(请参考AMBER手册)

ntt = 3:温度转变控制,3表示使用兰格氏动力学。

tautp = 0.1:热浴时间常数,缺省为1.0。小的时间常数可以得到较好的耦联。

vlimit = 20.0:保持分子动力学稳定性速度极限。20.0为缺省值,当动力学模拟中原子速度大于极限值时,程序将其速度降低到极限值以下。comp = 44.6:溶剂可压缩单位。

ntc = 2:Shake算法使用标志位。1表示不实用使用,2表示氢键将被计算,3表示所有键都将被计算在内。

tol = #.#####:坐标位置重新设置的几何位置相对容忍度。

我们将使用一个较小的作用力,10kcal/mol。在分子动力学中,当ntr

=1时,作用力只需要5-10kcal/mol(我们需要引用一个坐标文件做分子动力学过程的比较,我们需要使用"-ref"参数)。太大的作用力同时使用Shake算法和2fs步长将使整个系统变得不稳定,因为大的作用力使系统中的原子产生大频率的振动,模拟过程并步需要。

运行命令如下:

sander –O –i md1.in –o md1.out –p oxy.top –c oxy_min2.rst –r oxy_md1.rst –x oxy_md1.mdcrd –ref oxy_min2.rst –inf https://www.doczj.com/doc/9716052655.html,&

进行MD的运行时间一般较长,可以使用程序的并行版本提交集群计算。在主频位 2.0GHz的P4单机上,大概需要一个钟头。可以随时查看md1.in文件的程序输出。

4、整系统分子动力学模拟。

这一步中,我们将进行整个系统的分子动力学模拟,而不对某些特定原子位置进行限制。因为知识一个小例子,我们将只进行250ps的MD 计算。配置文件md2.in如下:

-------------------------------------------------------------------------------- oxytocin: 250ps MD

&cntrl

imin = 0, irest = 1, ntx = 7,

ntb = 2, pres0 = 1.0, ntp = 1,

taup = 2.0,

cut = 10, ntr = 0,

ntc = 2, ntf = 2,

tempi = 300.0, temp0 = 300.0,

ntt = 3, gamma_ln = 1.0,

nstlim = 125000, dt = 0.002,

ntpr = 100, ntwx = 500, ntwr = 1000

/

--------------------------------------------------------------------------------

上面一些参数解释如下:

ntb=2:表示分子动力学过程的压力常数。

ntp=1:表示系统动力学过程各向同性。

taup = 2.0:压力缓解时间,单位为ps。

pres=1:引用1个单位的压强。

使用以下命令进行MD:

sander –O –i md2.in –o md2.out –p oxy.top –c oxy_md1.rst –r oxy_md2.rst –x oxy_md2.mdcrd –ref oxy_md1.rst –inf https://www.doczj.com/doc/9716052655.html, & 模拟时间较长,在P4单机2.0GHz的上需要7.5个小时。

到此,模拟全部完成,接下来要对得到的数据进行分析。主要数据文件.out文件,包含系统能量、温度,压力等等;.mdcrd文件,是分子动力学轨迹文件,可以求系统蛋白的RMSD,回转半径等等。数据分析根据不同的研究目的不同而不同,我们将在后文中进行一些简单的分析。

使用pdbviewer软件load structure的时候,假设侧链缺失会有提示错

误信息。

直接使用xleap产生该结构的top crd后,再使用ambpdb重新产生structure即可加上侧链

mber中生成小分子模板(转)

第一步:生成小分子模板

蛋白质中各氨基酸残基的力参数是预先存在的,但是很多模拟过程会涉及配体分子,这些有机小分子有很高的多样性,他们的力参数和静电信息不可能预存在库文件中,需要根据需要自己计算生成模板。amber 中的antechamber 程序就是生成小分子模板的。生成模板要进行量子化学计算,这一步可以由antechamber中附带的mopac完成,也可以由gaussian完成,这里介绍用gaussian计算的过程。

建议在计算前用sybyl软件将小分子预先优化,不要用gaussian优化,大基组从头计算进行几何优化花费的计算时间太长。gaussian计算的输入文件可以用antechamber程序直接生成,生成后去掉其中关于几何优化的参数即可

将小分子优化后的结构存储为mol2各式,上传到工作目录,用antechamber程序生成gaussian输入文件,命令如下:antechamber -i 49.mol2 -fi mol2 -o 49.in -fo gzmat

这样可以生成49.in文件,下载到windows环境,运行gaussian计算这个文件,如果发现计算时间过长或者内存不足计算中断,

可以修改文件选择小一些的基组。

获得输出文件49.out之后将它上传到工作目录,再用antechamber生成模板,命令如下:

antechamber -i 49.out -fi gout -o 49mod.mol2 -fo mol2 -c resp

运行之后就会生成一个新的mol2文件,如果用看图软件打开这个文件会发现,原子的颜色很怪异,这是因为mol2的原子名称

不是标准的原子名称,看图软件无法识别。下面一步是检查参数,因为可能会有一些特殊的参数在gaff中不存在需要程序注入,

命令如下:

parmchk -i 49mod.mol2 -f mol2 -o 49mod

这样那些特殊的参数就存在49mod这个文件中了

第二步:处理蛋白质文件

amber自带的leap程序是处理蛋白质文件的,他可以读入PDB各式的蛋白质文件,根据已有的力场模板为蛋白质赋予键参数和静电参数。PDB格式的文件有时会带有氢原子和孤对电子的信息,但是在这种格式下氢原子和孤对电子的命名不是标准命名,力场模板无法识别这

种不标准的命名,因此需要将两者的信息删除

ATOM 12 1H ARG A 82 12.412 8.891 34.128 1.00 0.00 H

在PDB各式里面,氢原子的信息会在第13或者14列出现H字符,可以应用grep命令删除在13或者14列出现H的行

命令如下:

grep -v '^.............H' 1t4j.pdb > x

grep -v '^............H' x > 1t4j_noh.pdb

除了删除氢和孤对电子,还应该把文件中的结晶水、乙酸等分子删除,

这些分子的信息常常集中在文件的尾部,可以直接删除。

处理过之后的蛋白质文件,只包括各氨基酸残基和小分子配体的重原子信息,模拟需要的氢原子和水分子将在leap中添加

接下来需要进一步整理蛋白质文件,主要关注氨基酸的不同存在形态和小分子的原子名称。

半胱氨酸有两种存在形态,有的是两个半胱氨酸通过二硫键相连,有的则是自由的,两种半胱氨酸在力场文件中是用不同的unit来表示的,这相当于是两个完全不同的氨基酸,需要手动更改蛋白质文件中半胱氨酸的名字,桥连的要用CYX,自由的用CYS,可以通过查看晶体的PDB 文件来查看以二硫键存在的半胱氨酸残基。

组氨酸有若干种质子态,和半胱氨酸一样,也需要查阅文献确定这些质子态,并更改残基名称

最后需要修改的是配体分子的原子名,这是工作量最大的事情,仔细观察可以发现,一般PDB文件中配体的各个原子名称,和我们上面通过antechamber 生成的49mod.mol2中原子名称并不一致,这会造成leap 无法识别这些原子,无法为这些原子赋予力参数和静电参数,

因此需要手动更改蛋白质文件中配体分子的原子名称。

进行这一步可以同时用看图软件打开49mod.mol2和蛋白质文件,隐藏蛋白质文件中除配体分子以外的所有结构,旋转两个文件,

让他们姿态相近,以方便观察,并且在各自均标识原子名称,然后用文字编辑软件打开蛋白质文件,核对看图软件中两个分子对

应的原子名称,手动逐一修改。

修改原子名称需要极大的耐心和细心,如果发生错误下一步的操作会无法继续。我现在想到的也只有这个笨办法,如果谁还有别的好法子

,欢迎告诉我。

现在文件的准备工作都已经完成,该开始正式的模拟了

第三步:生成拓扑文件和坐标文件

用amber进行分子动力学模拟需要坐标和拓扑文件,坐标文件记录了各个质点所座落的坐标,拓扑文件记录了整个体系各质点之间的

链接状况、力参数电荷等信息。这两个文件是由leap 程序生成的amber中有两个leap程序,一个是纯文字界面的tleap,一个是带有图形界面的Xleap。但是amber的图形界面做得很差,用远程登录使用图形界面不仅麻烦而且慢,所以我比较偏爱使用tleap,两个leap的命令是完全一样的,其实用哪一个都无所谓。

启动tleap,在shell里输入命令tleap,leap就启动了,shell里会显示

-I: Adding /usr/local/amber8/antechamber-1.23/dat/leap/prep to search path.

-I: Adding /usr/local/amber8/antechamber-1.23/dat/leap/lib to search path.

-I: Adding /usr/local/amber8/antechamber-1.23/dat/leap/parm to search path.

-I: Adding /usr/local/amber8/antechamber-1.23/dat/leap/cmd to search path.

Welcome to LEaP!

(no leaprc in search path)

>

这个>是leap的提示符

下面要调入库文件。amber是模拟生物分子的好手,主要就是依靠专门

分子动力学的模拟过程

分子动力学的模拟过程 分子动力学模拟作为一种应用广泛的模拟计算方法有其自身特定的模拟步骤,程序流程也相对固定。本节主要就分子动力学的模拟步骤和计算程序流程做一些简单介绍。 1. 分子动力学模拟步驟 分子动力学模拟是一种在微观尺度上进行的数值模拟方法。这种方法既可以得到一些使用传统方法,热力学分析法等无法获得的微观信息,又能够将实际实验研究中遇到的不利影响因素回避掉,从而达到实验研宄难以实现的控制条件。 分子动力学模拟的步骤为: (1)选取所要研究的系统并建立适当的模拟模型。 (2)设定模拟区域的边界条件,选取粒子间作用势模型。 (3)设定系统所有粒子的初始位置和初始速度。 (4)计算粒子间的相互作用力和势能,以及各个粒子的位置和速度。 (5)待体系达到平衡,统计获得体系的宏观特性。 分子动力学模拟的主要对象就是将实际物理模型抽象后的物理系统模型。因此,物理建模也是分子动力学模拟的一个重要的环节。而对于分子动力学模拟,主要还是势函数的选取,势函数是分子动力学模拟计算的核心。这是因为分子动力学模拟主要是计算分子间作用力,计算粒子的势能、位置及速度都离不开势函数的作用。系统中粒子初始位置的设定最好与实际模拟模型相符,这样可以使系统尽快达到平衡。另外,粒子的初始速度也最好与实际系统中分子的速度相当,这样可以减少计算机的模拟时间。 要想求解粒子的运动状态就必须把运动方程离散化,离散化的方法有经典Verlet算法、蛙跳算法(Leap-frog)、速度Veriet算法、Gear预估-校正法等。这些算法有其各自的优势,选取时可按照计算要求选择最合适的算法。 统计系统各物理量时,便又涉及到系统是选取了什么系综。只有知道了模拟系统采用的系综才能釆用相对应的统计方法更加准确,有效地进行统计计算,减少信息损失。 2. 分子动力学模拟程序流程 具体到分子动力学模拟程序的具体流程,主要包括: (1)设定和模拟相关的参数。 (2)模拟体系初始化。 (3)计算粒子间的作用力。 (4)求解运动方程。 (5)循环计算,待稳定后输出结果。 分子动力学模拟程序流程图如2.3所示。

分子动力学方法模拟基本步骤

分子动力学方法模拟基本步骤 1.第一步 即模型的设定,也就是势函数的选取。势函数的研究和物理系统上对物质的描述研究息息相关。最早是硬球势,即小于临界值时无穷大,大于等于临界值时为零。常用的是LJ势函数,还有EAM势函数,不同的物质状态描述用不同的势函数。 模型势函数一旦确定,就可以根据物理学规律求得模拟中的守恒量。 2 第二步 给定初始条件。运动方程的求解需要知道粒子的初始位置和速度,不同的算法要求不同的初始条件。如:verlet算法需要两组坐标来启动计算,一组零时刻的坐标,一组是前进一个时间步的坐标或者一组零时刻的速度值。 一般意思上讲系统的初始条件不可能知道,实际上也不需要精确选择代求系统的初始条件,因为模拟实践足够长时,系统就会忘掉初始条件。当然,合理的初始条件可以加快系统趋于平衡的时间和步伐,获得好的精度。 常用的初始条件可以选择为:令初始位置在差分划分网格的格子上,初始速度则从玻尔兹曼分布随机抽样得到;令初始位置随机的偏离差分划分网格的格子上,初始速度为零;令初始位置随机的偏离差分划分网格的格子上,初始速度也是从玻尔兹曼分布随机抽样得到。 第三步 趋于平衡计算。在边界条件和初始条件给定后就可以解运动方程,进行分子动力学模拟。但这样计算出的系统是不会具有所要求的系统的能量,并且这个状态本身也还不是一个平衡态。 为使得系统平衡,模拟中设计一个趋衡过程,即在这个过程中,我们增加或者从系统中移出能量,直到持续给出确定的能量值。我们称这时的系统已经达到平衡。这段达到平衡的时间成为驰豫时间。 分子动力学中,时间步长的大小选择十分重要,决定了模拟所需要的时间。为了减小误差,步长要小,但小了系统模拟的驰豫时间就长了。因此根据经验选择适当的步长。如,对一个具有几百个氩气Ar分子的体系,lj势函数,发现取h为0.01量级,可以得到很好的相图。这里选择的h是没有量纲的,实际上这样选择的h对应的时间在10-14s的量级呢。如果模拟1000步,系统达到平衡,驰豫时间只有10-11s。 第四步 宏观物理量的计算。实际计算宏观的物理量往往是在模拟的最后揭短进行的。它是沿相空间轨迹求平均来计算得到的(时间平均代替系综平均)

vasp做分子动力学

vasp做分子动力学的好处,由于vasp是近些年开发的比较成熟的软件,在做电子scf速度方面有较好的优势。 缺点:可选系综太少。 尽管如此,对于大多数有关分子动力学的任务还是可以胜任的。 主要使用的系综是NVT和NVE。 下面我将对主要参数进行介绍! 一般做分子动力学的时候都需要较多原子,一般都超过100个。 当原子数多的时候,k点实际就需要较少了。有的时候用一个k点就行,不过这都需要严格的测试。通常超过200个原子的时候,用一个k点,即Gamma点就可以了。 INCAR: EDIFF 一般来说,用1E-4或者1E-5都可以,这个参数只是对第一个离子步的自洽影响大一些,对于长时间的分子动力学的模拟,精度小一点也无所谓,但不能太小。 IBRION=0 分子动力学模拟 IALGO=48 一般用48,对于原子数较多,这个优化方式较好。 NSW=1000 多少个时间步长。 POTIM=3 时间步长,单位fs,通常1到3. ISIF=2 计算外界的压力. NBLOCK= 1 多少个时间步长,写一次CONTCAR,CHG和CHGCAR,PCDAT. KBLOCK=50 NBLOCK*KBLOCK个步长写一次XDATCAR. ISMEAR=-1 费米迪拉克分布. SIGMA =0.05 单位:电子伏 NELMIN=8 一般用6到8,最小的电子scf数.太少的话,收敛的不好. LREAL=A APACO=10 径向分布函数距离,单位是埃. NPACO=200 径向分布函数插的点数. LCHARG=F 尽量不写电荷密度,否则CHG文件太大. TEBEG=300 初始温度. TEEND=300 终态温度。不设的话,等于TEBEG. SMASS -3 NVE ensemble;-1 用来做模拟退火;大于0 NVT 系综。 ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// 1)收敛判据的选择 结构弛豫的判据一般有两种选择:能量和力。这两者是相关的,理想情况下,能量收敛到基态,力也应该是收敛到平衡态的。但是数值计算过程上的差异导致以二者为判据的收敛速度差异很大,力收敛速度绝大部分情况下都慢于能量收敛速度。这是因为力的计算是在能量的基础上进行的,能量对坐标的一阶导数得到力。计算量的增大和误差的传递导致力收敛慢。 到底是以能量为收敛判据,还是以力为收敛判据呢?关心能量的人,觉得以能量

分子动力学模拟

分子动力学模拟 分子动力学就是一门结合物理,数学与化学的综合技术。分子动力学就是一套分子模拟方法,该方法主要就是依靠牛顿力学来模拟分子体系的运动,以在由分子体系的不同状态构成的系统中抽取样本,从而计算体系的构型积分,并以构型积分的结果为基础进一步计算体系的热力学量与其她宏观性质。 这门技术的发展进程就是: 1980年:恒压条件下的动力学方法(Andersenの方法、Parrinello-Rahman法) 1983年:非平衡态动力学方法(Gillan and Dixon) 1984年:恒温条件下的动力学方法(能势‐フーバーの方法) 1985年:第一原理分子动力学法(→カー?パリネロ法) 1991年:巨正则系综的分子动力学方法(Cagin and Pettit)、 最新的巨正则系综,即为组成系综的系统与一温度为T、化学势为μ的很大的热源、粒子源相接触,此时系统不仅同热源有能量交换,而且可以同粒子源有粒子的交换,最后达到平衡,这种系综称巨正则系综。 进行分子动力学模拟的第一步就是确定起始构型,一个能量较低的起始构型就是进行分子模拟的基础,一般分子的其实构型主要就是来自实验数据或量子化学计算。在确定起始构型之后要赋予构成分子的各个原子速度,这一速度就是根据玻尔兹曼分布随机生成,由于速度的分布符合玻尔兹曼统计,因此在这个阶段,体系的温度就是恒定的。另外,在随机生成各个原子的运动速度之后须进行调整,使得体系总体在各个方向上的动量之与为零,即保证体系没有平动位移。 由上一步确定的分子组建平衡相,在构建平衡相的时候会对构型、温度等参数加以监控。 进入生产相之后体系中的分子与分子中的原子开始根据初始速度运动,可以想象其间会发生吸引、排斥乃至碰撞,这时就根据牛顿力学与预先给定的粒子间相互作用势来对各个例子的运动轨迹进行计算,在这个过程中,体系总能量不变,但分子内部势能与动能不断相互转化,从而体系的温度也不断变化,在整个过程中,体系会遍历势能面上的各个点,计算的样本正就是在这个过程中抽取的。 用抽样所得体系的各个状态计算当时体系的势能,进而计算构型积分。 作用势的选择与动力学计算的关系极为密切,选择不同的作用势,体系的势能面会有不同的形状,动力学计算所得的分子运动与分子内部运动的轨迹也会不同,进而影响到抽样的结果与抽样结果的势能计算,在计算宏观体积与微观成分关系的时候主要采用刚球模型的二体势,计算系统能量,熵等关系时早期多采用Lennard-Jones、morse势等双体势模型,对于金属计算,主要采用morse势,但就是由于通过实验拟合的对势容易导致柯西关系,与实验不符,因此在后来的模拟中有人提出采用EAM等多体势模型,或者采用第一性原理计算结果通过一定的物理方法来拟合二体势函数。但就是对于二体势模型,多体势往往缺乏明确的表达式,参量很多,模拟收敛速度很慢,给应用带来很大困难,因此在一般应用中,通过第一性原理计算结果拟合势函数的L-J,morse等势模型的应用仍非常广泛。 分子动力学计算的基本思想就是赋予分子体系初始运动状态之后,利用分子的自然运动在相空间中抽取样本进行统计计算,时间步长就就是抽样的间隔,因而时间步长的选取对动力学模拟非常重要。太长的时间步长会造成分子间的激烈碰撞,体系数据溢出;太短的时间步长会降低模拟过程搜索相空间的能力,因此一般选取的时间步长为体系各个自由度中最短运动周期的十分之一。但就是通常情况下,体系各自由度中运动周期最短的就是各个化学键的振动,而这种运动对计算某些宏观性质并不产生影响,因此就产生了屏蔽分子内部振动或其她无关运动的约束动力学,约束动力学可以有效地增长分子动力学模拟时间步长,提高搜索相空间的能

分子动力学模拟-经验谈

分子动力学攻略 此文为dddc_redsnow发表于biolover上的关于分子动力学的系列原创文章,相当经典与精彩,特此将系列文章整合,一起转载,望学习动力学的新手们共同学习,提高进步,在此特向dddc_redsnow本人表示感谢。 动力学系列之一(gromacs,重发) 在老何的鼓励下,发一下我的gromacs上手手册(我带人时用的,基本半天可以学会gromcas) ###################################################### # Process protein files step by step # ###################################################### pdb2gmx -f 2th_cap.pdb -o 2th_cap.gro -p 2th_cap.top -ignh -ter nedit 2th_cap.top editconf -f 2th_cap.gro -o 2th_cap_box.gro -d 1.5 genbox -cp 2th_cap_box.gro -cs -p 2th_cap.top -o 2th_cap_water.gro make_ndx -f 2th_cap_water.gro -o 2th_cap.ndx genpr -f 2th_cap_water.gro -n 2th_cap.ndx -o 2th_cap_All.itp genpr -f 2th_cap_water.gro -n 2th_cap.ndx -o 2th_cap_M.itp genpr -f 2th_cap_water.gro -n 2th_cap.ndx -o 2th_cap_C.itp nedit Flavo.itp grompp -f em.mdp -c 2th_cap_water.gro -p 2th_cap.top -o prepare.tpr genion -s prepare.tpr -o 2th_cap_water_ion.gro -np 1 -pq 1 ##################################################### # Minimize step by step # # 1. minimization fixing whole protein # # 2. minimization fixing maincharin of protein # # 3. minimization fixing Ca of protein # # 4. minimization without fix # ##################################################### grompp -np 4 -f em.mdp -c 2th_cap_water_ion.gro -p 2th_cap.top -o minimize_water.tpr mpirun -np 4 mdrun -nice 0 -s minimize_water.tpr -o minimize_water.trr -c minimize_water.gro -e minimize_water.edr -g minimize_water.log & grompp -np 4 -f em.mdp -c minimize_water.gro -p 2th_cap.top -o minimize_sidechain.tpr mpirun -np 4 mdrun -nice 0 -s minimize_sidechain.tpr -o minimize_sidechain.trr -c minimize_sidechain.gro -e minimize_sidechain.edr -g minimize_sidechain.log & grompp -np 4 -f em.mdp -c minimize_sidechain.gro -p 2th_cap.top -o minimize_sidechain_ex.tpr mpirun -np 4 mdrun -nice 0 -s minimize_sidechain_ex.tpr -o minimize_sidechain_ex.trr -c minimize_sidechain_ex.gro -e minimize_sidechain_ex.edr minimize_sidechain_ex.log & grompp -np 4 -f em.mdp -c minimize_sidechain_ex.gro -p 2th_cap.top -o minimize_all.tpr mpirun -np 4 mdrun -nice 0 -s minimize_all.tpr -o minimize_all.trr -c minimize_all.gro -e minimize_allx.edr -g minimize_all.log&

MS分子动力学模拟具体实施步骤

第3章 铁基块体非晶合金‐纳米晶转变的动力学模拟过程 3.1 Discover模块 3.1.1 原子力场的分配 在使用Discover模块建立基于力场的计算中,涉及几个步骤。主要有:选择力场、指定原子类型、计算或指定电荷、选择non‐bond cutoffs。 在这些步骤中,指定原子类型和计算电荷一般是自动执行的。然而,在某些情形下需要手动指定原子类型。原子定型使用预定义的规则对结构中的每个原子指定原子类型。在为特定的系统确定能量和力时,定型原子使工作者能使用正确的力场参数。通常,原子定型由Discover使用定型引擎的基本规则来自动执行,所以不需要手动原子定型。然而,在特殊情形下,人们不得不手动的定型原子,以确保它们被正确地设置。 图 3-1 1)计算并显示原子类型:点击Edit→Atom Selection,如图3‐1所示 图3-2 弹出对话框,如图3‐2所示 从右边的…的元素周期表中选择Fe,再点Select,此时所建晶胞中所有Fe

原子都将被选中,原子被红色线圈住即表示原子被选中。再编辑集合,点击Edit →Edit Sets,如图3‐3、3‐4所示。 图3-3 图3-4 弹出对话框见图3‐4,点击New...,给原子集合设定一个名字。这里设置为Fe,则3D视图中会显示“Fe”字样,再分配力场:在工具栏上点击Discover按 钮,从下拉列表中选择Setup,显示Discover Setup对话框,选择Typing选项卡,见图3‐5。 图3-5 在Forcefield types里选择相应原子力场,再点Assign(分配)按钮进行原子力场分配。注意原子力场中的价态要与Properties Project里的原子价态(Formalcharge)一致。

分子动力学在材料科学中的应用

分子动力学在材料科学中的应用 摘要:本文综述了几种常见条件下的分子动力学模拟方法以及分子动力学模拟的最新发展趋势.介绍用分子动力学模拟方法研究固休的休相结构,表面问题,界面问题以及薄膜形成过程等方面的研究成果。 关键词:分子动力学; 计算机模拟; 材料科学 1引言 分子动力学(Molecular Dyanmica,简称MD)用于计算以固体、液体、气体为模型的单个分子运动,它是探索各种现象本质和某些新规律的一种强有力的计算机模拟方法,具有沟通宏观特性与微观结构的作用,对于许多在理论分析和实验观察上难以理解的现象可以做出一定的解释[1]。MD方法不要求模型过分简化,可以基于分子(原子、离子)的排列和运动的模拟结果直接计算求和以实现宏观现象中的数值估算。可以直接模拟许多宏观现象,取得和实验相符合或可以比较的结果,还可以提供微观结构、运动以及它们和体系宏观性质之间关系的极其明确的图象[2]。MD以其不带近似、跟踪粒子轨迹、模拟结果准确[3],而倍受研究者的关注,在物理、化学、材料、摩擦学等学科及纳米机械加工中得到广泛而成功的应用。本文主要评述MD方法在材料科学中的应用. 目前在材料微观结构的研究中,由于实验条件的限制,使得许多重要的微观结构的信息难以得到,如,对于由液态金属快速凝固的非晶转变过程,其微观结构的瞬时变化根本无法用实验仪器去测量。理论分析、实验测定及模拟计算已成为现代材料科学研究的3种主要方法[2]。20世纪90年代以来,由于计算机科学和技术的飞速发展,模拟计算的地位日渐突显。计算机模拟可以提供实验上尚无法获得或很难获得的信息。虽然计算机模拟不能完全取代实验,但可以用来指导实验的进行,从而促进理论和实践的发展,所以有必要对这一领域进行介绍。 2 分子动力学基本原理 分子动力学将连续介质看成由N个原子或分子组成的粒子系统,各粒子之间的作用力可以通过量子力学势能函数求导得出,忽略量子效应后,运用经典牛顿力学建立系统粒子运动数学模型,通过数值求解得到粒子在相空间的运动轨迹,然后由统计物理学原理得出该系统相应的宏观动态、静态特性。图1所示是MD

分子动力学作业概要

分子动力学(MD) 1 分子动力学(MD)基础 1.1 MD分类 1.2 MD简介 1.3 MD适用范围 2 分子动力学运动方程数值求解 2.1 基础知识 2.1.1 运动方程 2.1.2 空间描述 2.1.3 最小作用量原理 2.1.4 拉格朗日(Lagrange)方程 2.1.5 哈密顿(Hamilton)方程 2.2 粒子运动方程的数值解法 2.2.1 Verlet算法 2.2.2 欧拉(Euler)预测—矫正公式 2.2.3 Gear预测—矫正方法 3 分子动力学原胞与边界条件 3.1 分子动力学原胞 3.2 边界条件 3.2.1 自由表面边界 3.2.2 固定边界 3.2.3 柔性边界 3.2.4 周期性边界 4 势函数与分子力场 4.1 势函数 4.1.1 两体势 4.1.2 多体势 4.2 分子力场 4.2.1 分子力场函数的构成

4.2.2 常用力场函数和分类 5 分子动力学模拟的基本步骤 5.1 设定模拟所采用的模型 5.2 给定初始条件 5.3 趋于平衡计算 5.4 宏观物理量的计算 6 平衡态分子动力学模拟 6.1 系综 6.2 微正则系综的分子动力学模拟6.3 正则系综的分子动力学模拟

1 分子动力学(MD)基础 1.1MD分类 微正则系综(VNE) 正则系综(VNP) 平衡态MD 等温等压系综(NPT) 经典MD 等焓等压系综(NPH) 巨正则系综(VTμ) 非平衡态MD 量子MD 1.2分子动力学(MD)简介 分子动力学是在原子、分子水平上求解多体问题的重要的计算机模拟方法。分子动力学方法为确定性模拟方法,广泛地用于研究经典的多粒子体系的研究中,是按该体系内部的内禀动力学规律来计算并确定位形的转变。 分子动力学方法是通过建立一组分子的运动方程,并通过直接对系统中的一个个分子运动方程进行数值求解,得到每个时刻各个分子的坐标与动量,即在相空间的运动轨迹,再利用统计计算方法得到多体系统的静态和动态特性, 从而得到系统的宏观性质。 在分子动力学中,粒子的运动行为是通过经典的Newton运动方程所描述。系统的所有粒子服从经典力学的运动规律,它的动力学方程就是从经典力学的运动方程——拉格朗日(lagrange)方程和哈密顿(Hamilton)方程导出。 1.3适用范围 原则上,分子动力学方法所适用的微观物理体系并无什么限制。这个方法适用的体系既可以是少体系统,也可以是多体系统;既可以是点粒子体系,也可以是具有内部结构的体系;处理的微观客体既可以是分子,也可以是其它的微观粒子。 实际上,分子动力学模拟方法和随机模拟方法一样都面临着两个基本限制:

分子动力学方法

分子动力学方法 一、引言 计算机模拟中的另一类确定性模拟方法,即统计物理中的所谓合于动力学方法(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)) 。我们采用有限差分法,将微分方程变为有限差分方程,以便在计算机上做数值求解,并得到空间坐标和动量随时间的演化关系。首先,

分子动力学模拟

分子动力学模拟 The Standardization Office was revised on the afternoon of December 13, 2020

分子动力学模拟 分子动力学是一门结合物理,数学和化学的综合技术。分子动力学是一套分子模拟方法,该方法主要是依靠牛顿力学来模拟分子体系的运动,以在由分子体系的不同状态构成的系统中抽取样本,从而计算体系的构型积分,并以构型积分的结果为基础进一步计算体系的热力学量和其他宏观性质。 这门技术的发展进程是: 1980年:恒压条件下的动力学方法(Andersenの方法、Parrinello-Rahman法)1983年:非平衡态动力学方法(Gillan and Dixon) 1984年:恒温条件下的动力学方法(能势‐フーバーの方法) 1985年:第一原理分子动力学法(→カー?パリネロ法) 1991年:巨正则系综的分子动力学方法(Cagin and Pettit). 最新的巨正则系综,即为组成系综的系统与一温度为T、化学势为μ的很大的热源、粒子源相接触,此时系统不仅同热源有能量交换,而且可以同粒子源有粒子的交换,最后达到平衡,这种系综称巨正则系综。 进行分子动力学模拟的第一步是确定起始构型,一个能量较低的起始构型是进行分子模拟的基础,一般分子的其实构型主要是来自实验数据或量子化学计算。在确定起始构型之后要赋予构成分子的各个原子速度,这一速度是根据玻尔兹曼分布随机生成,由于速度的分布符合玻尔兹曼统计,因此在这个阶段,体系的温度是恒定的。另外,在随机生成各个原子的运动速度之后须进行调整,使得体系总体在各个方向上的动量之和为零,即保证体系没有平动位移。由上一步确定的分子组建平衡相,在构建平衡相的时候会对构型、温度等参数加以监控。

第6章-分子动力学方法

第6章分子动力学方法 经典分子动力学方法无疑是材料,尤其是大分子体系和大体系模拟有效的方法之一。分子动力学可以用于NPT,NVE,NVT等不同系综的计算,是一种基于牛顿力学确定论的热力学计算方法。与蒙特卡罗法相比在宏观性质计算上具有更高的准确度和有效性,可以广泛应用于物理,化学,生物,材料,医学等各个领域。本章在介绍分子动力学的基本概念的基础上,简单介绍了分子动力学的基本思想,势函数分类和基本方程。然后介绍了分子动力学的常用系综和典型的NPT,NVE,NVT系综基本方程。结合材料建模中的基本简化方法和技巧,阐述了边界条件和时间积分的数值处理技巧。最后,利用统计力学的基本概念给出分子动力学的计算信息的解析方式。并且结合Materials Explore软件计算分析了CNT的几何结构稳定性。 6.1引言 分子动力学方法(Molecular Dynamics, MD)方法是一种按该体系部的禀动力学规律来计算并确定位形的变化的确定性模拟方法。首先需要在给定的外界条件下建立一组粒子的运动方程,然后通过直接对系统中的一个个粒子运动方程进行数值求解,得到每个时刻各个分子的坐标与动量,即在相空间的运动轨迹,再利用统计力学方法得到多体系统的静态和动态特性,从而获得系统的宏观性质。可以看出,分子动力学方法中不存在任何随机因素,这个也是分子动力学方法和后文要提到的蒙特卡洛方法的区别之一。在分子动力学方法的处理过程中,方程组的建立是通过对物理体系的微观数学描述给出的。在这个微观的物理体系中,每个分子都各自服从经典的牛顿力学定律(或者是拉格朗日方程)。每个分子运动的禀动力学是用理论力学上的哈密顿量或者拉格朗日函数来描述,也可以直接用牛顿运动方程来描述。确定性方法是实现玻尔兹曼的统计力学途径。这种方法可以处理与时间有关的过程,因而可以处理非平衡态问题。但是分子动力学方法的计算机程序相对蒙特卡罗较复杂,其计算成本较高。 分子动力学方法发展历史改革经历了近60年,分子动力学方法是20世纪50年代后期由Alder B J 和Wainwright T E创造发展的。Alder和Wainwright在1957年利用分子动力学模拟,发现了“刚性球组成的集合系统会发生由其液相到结晶相的相转变”,后来人们称这种相变为Alder相变。其结果表明,不具有引力的粒子系统也具有凝聚态。到20世纪70年代,产生了刚性体系的动力学方法,成功地被应用于水和氮等分子性溶液体系的处理;1972年,Less A W和 Edwards S F 等发展了该方法并扩展到了存在速度梯度,即处于非平衡状态的系统。之后,此方法被 Ginan M J等推广到了具有温度梯度的非平衡系统,从而构造并形成了所谓的非平衡分子动力学方法体系。进人20世纪80年代之后,出现了在分子部对一部分自由度施加约束条件的新的分子动力学方法,从而使分子动力学方法可适用于类似蛋白质等生物大分子的解析与设计。分子动力学方法真正作为材料科学领域的一个重要研究方法,开始于由Andersen, Parrinello和Rahman等创立恒压分子动力学方法和Nǒse 等完成恒温分子动力学方法的建立及在应用方面的成功。后来,针对势函数模型化比较困难的半导体和金属等,1985 年人们又提出了将基于密度泛函理论的电子论和分子动力学方法有机统一起来的所谓Car-Parrinello 方法,亦即第一性原理分子动力学方法。这样,分子动力学的方法进一步得到发展和完善,它不仅可以处理半导体和金属的间题,同时还可应用

分子动力学模拟I

Gromacs中文教程 淮海一粟 分子动力学(MD)模拟分为三步:首先,要准备好模拟系统;然后,对准备好的系统进行模拟;最后,对模拟结果进行分析。虽然第二步是最耗费计算资源的,有时候需要计算几个月,但是最耗费体力的步骤在于模拟系统准备和结果分析。本教程涉及模拟系统准备、模拟和结果分析。 一、数据格式处理 准备好模拟系统是MD最重要的步骤之一。MD模拟原子尺度的动力学过程,可用于理解实验现象、验证理论假说,或者为一个待验证的新假说提供基础。然而,对于上述各种情形,都需要根据实际情况对模拟过程进行设计;这意味着模拟的时候必须十分小心。 丢失的残基、原子和非标准基团 本教程模拟的是蛋白质。首先需要找到蛋白质序列并选择其起始结构,见前述;然后就要检查这个结构是否包含所有的残基和原子,这些残基和原子有时候也是模拟所必需的。本教程假定不存在缺失,故略去。 另一个需要注意的问题是结构文件中可能包含非标准残基,被修饰过的残基或者配体,这些基团还没有力场参数。如果有这些基团,要么被除去,要么就需要补充力场参数,这牵涉到MD的高级技巧。本教程假定所有的蛋白质不含这类残基。 结构质量 对结构文件进行检查以了解结构文件的质量是一个很好的练习。例如,晶体结构解析过程中,对于谷氨酰胺和天冬酰胺有可能产生不正确的构象;对于组氨酸的质子化状态和侧链构象的解析也可能有问题。为了得到正确的结构,可以利用一些程序和服务器(如 WHATIF)。本教程假定所用的结构没有问题,我们只进行数据格式处理。 二、结构转换和拓扑化 一个分子可以由各个原子的坐标、键接情况与非键相互作用来确定。由于.pdb 结构文件只含有原子坐标,我们首先必须建立拓扑文件,该文件描述了原子类型、电荷、成键情况等信息。拓扑文件对应着一种力场,选择何种力场对于拓扑文件的建立是一个值得仔细考虑的问题。这里我们用的是GROMOS96 53a6连接原子力场,该力场对于氨基酸侧链的自由能预测较好,并且与NMR试验结果较吻合。

分子动力学模拟方法的基本原理与应用

分子动力学模拟方法的基本原理与应用 摘要: 介绍了分子动力学模拟的基本原理及常用的原子间相互作用势, 如Lennard-Jones势; 论述了几种常用的有限差分算法, 如Verlet算法; 说明了分子动力学模拟的几种系综及感兴趣的宏观统计量的提取。 关键词: 分子动力学模拟; 原子间相互作用势; 有限差分算法; 分子学是一门结合物理,和化学的综合技术。分子学是一套方法,该方法主要是依靠牛顿力学来模拟分子体系的运动,以在由分子体系的不同状态构成的系统中抽取样本,从而计算体系的构型积分,并以构型积分的结果为基础进一步计算体系的量和其他宏观性质。 从统计物理学中衍生出来的分子动力学模拟方法(Molecular Dynamics Simulation, MDS) , 实践证明是一种描述纳米科技研究对象的有效方法, 得到越来越广泛的重视。所谓分子动力学模拟, 是指对于原子核和电子所构成的多体系统, 用计算机模拟原子核的运动过程, 从而计算系统的结构和性质, 其中每一个原子核被视为在全部其他原子核和电子所提供的经验势场作用下按牛顿定律运动。它被认为是本世纪以来除理论分析和实验观察之外的第三种科学研究手段, 称之为“计算机实验”手段, 在物理学、化学、生物学和材料科学等许多领域中得到广泛地应用。 科学工作者在长期的科学研究实践中发现,当实验研究方法不能满足研究工作的需求时,用计算机模拟却可以提供实验上尚无法获得或很难获得的重要信息;尽管计算机模拟不能完全取代实验,但可以用来指导实验,并验证某些理论假设,从而促进理论和实验的发展。特别是在材料形成过程中许多与原子有关的微观细节,在实验中基本上是无法获得的,而在计算机模拟中即可以方便地得到。这种优点使分子动力学模拟在材料研究中显得非常有吸引力。 分子动力学模拟就是用计算机方法来表示统计力学,作为实验的一个辅助手段。分子模拟就是对于原子核和电子所构成的多体系统,求解运动方程(如牛顿方程、哈

分子动力学模拟Word版

分子动力学模拟 分子动力学是一门结合物理,数学和化学的综合技术。分子动力学是一套分子模拟方法,该方法主要是依靠牛顿力学来模拟分子体系的运动,以在由分子体系的不同状态构成的系统中抽取样本,从而计算体系的构型积分,并以构型积分的结果为基础进一步计算体系的热力学量和其他宏观性质。 这门技术的发展进程是: 1980年:恒压条件下的动力学方法(Andersenの方法、Parrinello-Rahman法) 1983年:非平衡态动力学方法(Gillan and Dixon) 1984年:恒温条件下的动力学方法(能势‐フーバーの方法) 1985年:第一原理分子动力学法(→カー?パリネロ法) 1991年:巨正则系综的分子动力学方法(Cagin and Pettit). 最新的巨正则系综,即为组成系综的系统与一温度为T、化学势为μ的很大的热源、粒子源相接触,此时系统不仅同热源有能量交换,而且可以同粒子源有粒子的交换,最后达到平衡,这种系综称巨正则系综。 进行分子动力学模拟的第一步是确定起始构型,一个能量较低的起始构型是进行分子模拟的基础,一般分子的其实构型主要是来自实验数据或量子化学计算。在确定起始构型之后要赋予构成分子的各个原子速度,这一速度是根据玻尔兹曼分布随机生成,由于速度的分布符合玻尔兹曼统计,因此在这个阶段,体系的温度是恒定的。另外,在随机生成各个原子的运动速度之后须进行调整,使得体系总体在各个方向上的动量之和为零,即保证体系没有平动位移。 由上一步确定的分子组建平衡相,在构建平衡相的时候会对构型、温度等参数加以监控。进入生产相之后体系中的分子和分子中的原子开始根据初始速度运动,可以想象其间会发生吸引、排斥乃至碰撞,这时就根据牛顿力学和预先给定的粒子间相互作用势来对各个例子的运动轨迹进行计算,在这个过程中,体系总能量不变,但分子内部势能和动能不断相互转化,从而体系的温度也不断变化,在整个过程中,体系会遍历势能面上的各个点,计算的样本正是在这个过程中抽取的。 用抽样所得体系的各个状态计算当时体系的势能,进而计算构型积分。 作用势的选择与动力学计算的关系极为密切,选择不同的作用势,体系的势能面会有不同的形状,动力学计算所得的分子运动和分子内部运动的轨迹也会不同,进而影响到抽样的结果和抽样结果的势能计算,在计算宏观体积和微观成分关系的时候主要采用刚球模型的二体势,计算系统能量,熵等关系时早期多采用Lennard-Jones、morse势等双体势模型,对于金属计算,主要采用morse势,但是由于通过实验拟合的对势容易导致柯西关系,与实验不符,因此在后来的模拟中有人提出采用EAM等多体势模型,或者采用第一性原理计算结果通过一定的物理方法来拟合二体势函数。但是对于二体势模型,多体势往往缺乏明确的表达式,参量很多,模拟收敛速度很慢,给应用带来很大困难,因此在一般应用中,通过第一性原理计算结果拟合势函数的L-J,morse等势模型的应用仍非常广泛。 分子动力学计算的基本思想是赋予分子体系初始运动状态之后,利用分子的自然运动在相空间中抽取样本进行统计计算,时间步长就是抽样的间隔,因而时间步长的选取对动力学模拟非常重要。太长的时间步长会造成分子间的激烈碰撞,体系数据溢出;太短的时间步长会降低模拟过程搜索相空间的能力,因此一般选取的时间步长为体系各个自由度中最短运动周期的十分之一。但是通常情况下,体系各自由度中运动周期最短的是各个化学键的振动,而这种运动对计算某些宏观性质并不产生影响,因此就产生了屏蔽分子内部振动或其他无关运动的约束动力学,约束动力学可以有效地增长分子动力学模拟时间步长,提高搜索相空间的能力。

分子动力学课程小结

分子动力学模拟课程小结 一.分子动力学的基本原理 在分子动力学模拟中,体系原子的一系列位移是通过对牛顿运动方程积分得到的,结果是一条运动轨迹,它表明了系统内原子的位置与速度如何随时间而发生变化。通过解牛顿第二定律的微分方程,可以获得原子的运动轨迹。方程如下: 这个方程描述了质量为m i的原子i在力Fi的作用下,位置矢量为r i时的运动方程。其中,Fi可以由势函数U的梯度给出: 系统的温度则与系统中全部原子的总动能K通过下式相联系: N是原子数,Nc是限制条件,k B是波尔兹曼常数。 二. MD模拟的积分算法 为了得到原子的运动轨迹,可以采用有限差分法来求解运动方程。有限差分法的基本思想就是将积分分成很多小步,每一小步的时间固定为δt。用有限差分解运动方程有许多方法,所有的算法都假定位置与动态性质(速度、加速度等)可以用Taylor级数展开来近似: 在分子动力学模拟中,常用的有以下的几中算法: 1.Verlet算法 运用t时刻的位置和速度及t-δt时刻的位置,计算出t+δt时刻的位置: 两式相加并忽略高阶项,可以得到: 速度可以通过以下方法得到: 用t+δt时刻与t-δt时刻的位置差除以2δt:

同理,半时间步t+δt时刻的速度也可以算: Verlet算法执行简单明了,存储要求适度,但缺点是位置r(t+δt)要通过小项与非常大的两项2r(t)与r(t-δt)的差相加得到,容易造成精度损失。另外,其方程式中没有显示速度项,在没有得到下一步的位置前速度项难以得到。它不是一个自启动算法:新位置必须由t时刻与前一时刻t-δt的位置得到。在t=0时刻,只有一组位置,所以必须通过其它方法得到t-δt的位置。一般用Taylor级数: 2.Velocity-Verlet算法 3.Leap-frog算法 为了执行Leap-frog算法,必须首先由t-0.5δt时刻的速度与t时刻的加速度计算出速度v(t+δt),然后由方程 计算出位置r(t+δt)。T时刻的速度可以由: 得到。速度蛙跳过此t时刻的位置而得到t+0.5δt时刻的速度值,而位置跳过速度值给出了t+δt时刻的位置值,为计算t+0.5δt时刻的速的作准备,依此类推。其缺点是位置与速度不同步。这意味着在位置一定时,不可能同时计算动能对总能量的贡献。 三. 分子动力学计算的时间间隔 时间间隔δt在积分算法中是一个非常重要的参数。为了充分利用CPU时间,尽量选择比较大的时间间隔,但是如果时间间隔太大,就会造成积分过程的不稳定性和不精确性。时间间隔的设置同时依赖于算法和模型的情况。模型本身给时间间隔带来的最大的限制就是最高频率的运动。由于Verlet算法要求在每个时间间隔内模型的速度和加速度保持一边,时间间隔就应该低于振动周期的八分之一到十分之一。对大多数的有机模型来讲,最高的振动频率是C-H键的伸缩振动,其振动周期的数量级为10-14s。这样,时间间隔就应该是0.5-1fs左右。如果采用受约束的SHAKE或者RATTLE算法,可以使用更长的时间间隔。如果研究对象是液态或者固态简单模型,对体系内作用模式不感兴趣,也可以采用一些更长的时间间隔,比如20fs。对离子态的材料模型,5fs左右是合适的。时间间隔必须跟选择的算法相匹配。比如,ABM4算法的时间间隔应该是Verlet算法的一半左Runge-Kutta-4

分子动力学基本知识

第六章 分子动力学方法 6.1引言 对于一个多粒子体系的实验观测物理量的数值可以由总的平均得到。但是由于实验体系又非常大,我们不可能计算求得所有涉及到的态的物理量数值的总平均。按照产生位形变化的方法,我们有两类方法对有限的一系列态的物理量做统计平均: 第一类是随机模拟方法。它是实现Gibbs的统计力学途径。在此方法中,体系位形的转变是通过马尔科夫(Markov)过程,由随机性的演化引起的。这里的马尔科夫过程相当于是内禀动力学在概率方面的对应物。该方法可以被用到没有任何内禀动力学模型体系的模拟上。随机模拟方法计算的程序简单,占内存少,但是该方法难于处理非平衡态的问题。

另一类为确定性模拟方法,即统计物理中的所谓分子动力学方法(Molecular Dynamics Method)。这种方法广泛地用于研究经典的多粒子体系的研究中。该方法是按该体系内部的内禀动力学规律来计算并确定位形的转变。它首先需要建立一组分子的运动方程,并通过直接对系统中的一个个分子运动方程进行数值求解,得到每个时刻各个分子的坐标与动量,即在相空间的运动轨迹,再利用统计计算方法得到多体系统的静态和动态特性, 从而得到系统的宏观性质。因此,分子动力学模拟方法可以看作是体系在一段时间内的发展过程的模拟。在这样的处理过程中我们可以看出:分子动力学方法中不存在任何随机因素。 系统的动力学机制决定运动方程的形式: 在分子动力学方法处理过程中,方程组的建立是通过对物理体系的微观数学描述给出的。在这个微观的物理体系中,每个分子都各自服从经典的牛顿力学。每个分子运动的内禀动力学是用理论力学上的哈密顿量或者拉格朗日量来描述,也可以直接用牛顿运动方程来描述。这种方法可以处理与时间有关的过程,因而可以处理非平衡态问题。但是使用该方法的程序较复杂,计算量大,占内存也多。

相关主题
文本预览
相关文档 最新文档