目录

分子力场的基本模型

键伸缩能

键长的morse势和立方势

morse势

立方势

键角和扭转角

键角弯折能

二面角扭转能


分子力场的基本模型

公式中,前一部分三项为成键相互作用

  1. bands为(有键相连的两个原子之间)键长,对应于键伸缩能
  2. angles为(三个原子之间形成)键角的函数,
  3. tasians为(用cos函数描述二面角扭转的)扭转角;

后一部分两项为非键相互作用相互作用表示对体系中所有原子的一个遍历,

  1. 第一项表示非键相互作用中的范德华作用,
  2. 第二项表示静电相互作用

在进行分子动力学时需要面向需求选择合适的力场,对复杂的,精度要求很高而不太关注计算量的情况下使用高精度的分子力场。而amber是属于一个低精度但成本较低的分子力场,故在计算时没有考虑交叉项(crossing terms)和附加项的计算。

键伸缩能

键伸缩能的描述方式为谐振子的势函数,基础是中学时学过的胡克定律,即对连接了一个弹簧的两个质点之间形成的谐振子运动的描述。胡克定律中对应的两个参数弹簧平衡长度和伸缩常数,此处对应共价键化学键的强度和平衡位置。

参考键长即上面的,当我们仅仅考虑这一对原子的伸缩震动而不考虑其他的项目作用,在这个体势能最低的时候,它所对应的键长就是参考键长。而事实上我们一个体系,两个原子放在一个化学环境里面,那么会受到周围环境的影响,它的建成呢会偏离这个l零。那么很直接的我们可以想象一个场景,如果我们把一个带正电荷的原子和一个带负电荷的原子放在一个电场里面,那么电场延伸的方向就是这个偶极矩延伸的方向,电场所带来的影响相当于在两个原子上面施加了一个附加的力,那么这个附加的力就会是个体系偏离他的参考键长。那么这时候体系平衡时所属的键长并不,但是是整个体系平衡的键长,所以在文献里面看到参考电量平衡检查的时候要特别注意这两者的区别。一个方式去描述现在这个伸缩的伸缩能是很容易理解的一件事情,但是实际上大家深入想一想的话,为什么是胡克定律?胡克定律是否适合整个共价键的结构,或者胡克定律它适合共价键的结构是在怎样的一个范围内?上图中我们能看到一条黄线和一条白线,黄线是真正的空加键的是函数的形式,而白线是斜阵子式函数的形式。可以看出,在平衡点附近,平衡点附近以及整个图片的左侧黄线和白线吻合的还可以接受,而在右侧方向黄线和白线偏离的就比较远。这个其实也是谐振子势函数一个很大的缺陷。

因为我们常见的体系来说,谐振子势函数有一系列的优点如计算简单,但是他的缺点也非常明显,如只适用于平衡位置附近,就像我们上图看到的黄线和白线,只在左侧重合的相对好一些,右侧偏离的非常大。而超过一定范围时距离越大原子间的受力越大,那么这个显然和共价键不一样(共价键距离越大受力越小),所以谐振子的势函数仅适用于这个两个原子所构成的平衡位置附近的运动的这样一些体系。amber力场里面采用谐振子势函数是因为amber力场往往用来处理这个生物大分子的体系,那么生物大分子的体系往往偏离平衡位置都不会太远。适合采用谐振子势函数,同时它的优势又非常适合生物的体系,因为生物分子往往规模较大,一个体系里面可能会涉及到几万个甚至于十几万个或更多,共价键的数量相当大。那么在这个里面如果减少每一对共价键的计算量就能够有效的降低任何信息的计算量。在图片中里给出一个括号,是我们可以进一步的简化计算,那么简化计算可以引入四次幂势,即胡克定律的是函数的函数形式里面直接用的是键长(两个原子之间的距离)相对于参考键长的差值平方后计算,amber中去描述一个体系结构的方式并不是直接用键长,键角,二面角去描述。而是用构成这个生物分子的每一个原子的xyz,这三个方向是三维坐标。因此amber在进行分子动力学模拟的时候,如果想要描述两个原子所形成的共价键的键长就要从这两个原子的xyz的坐标出发进行计算,这个计算就是中学学过的勾股定理,因此在amber中计算两个原子距离时,如果想要拿到距离,就需要进行一次开平方的计算。而开平方之后再进行平方这个操作有点麻烦,为简化四次幂势,直接替代了,这样得到的差值再去平方就成了四次幂。那么这就是所谓的四次幂势函数。从计算的角度来说,减少了一次开平方,计算量更小。这也是它相对于谐振子的优势。当然他也有缺点,比如胡克定律还有一个弹簧的一个物理模型,而四次幂势并没有一个合适的物理模型对应。

键长的morse势和立方势

morse势

共价键的函数形式不是一个经典的谐振子的形式,在距离接近的方向上可能和谐阵子有一定的相似之处,而距离远的方向这两者之间会有很大的差异。如上面的第二个图,黑色实线是真正的共价键函数形式,蓝色的细线是谐振子势函数的形式。我们判断在右侧随着距离的增长,那么共价键的能量缓慢的增长,最后达到一个平衡值,所谓的平衡值其实指的就是两个原子之间没有共价键,即没有共用电子对,共价键断裂了。所以它是一个左边抖右边平的结构,那么能够有效描述这个左边走右边平的函数形式是有的,也即morse势。

可以看到势函数公式是一个指数形式,这样一个函数形式做出来会比较好的接近上述共价键势函数的函数形式。这个函数形式里共引入了三个参数,分别是平衡位置,A是指数,以及,那么其中这个第一只描述的是势阱的深度,指平衡位置时体系的能量和两个原子处于无限远的时候体系能量之间的能积差,也可看作他描述势阱的深度。描述的是势阱的位置,就是能量最低点时体系所处的这个l值,A影响到的是整个函数所形成的图像的宽度。整个这个体系是变得宽一些还是窄一些对应的是弹簧的硬度,即这个弹簧所形成的共价键的振动频率有多高.

可以看到morse是这个是函数和谐振子势函数的函数形式之间差别比较大。但是实际上这两者之间可以建立一定的关联,用泰勒展开的形式去对于整个函数进行处理,在一个给定的这个函数取值附近进行泰勒展开就能够得到得到一组函数,这一组函得到一个新的函数(由一个一个的泰勒展开项叠加所形成) 。用这种方法在我们关注点附近去拟合我们所关注的函数形式。也就是图中底部给出的函数,分别由一个谐振子式及后面的高次项所构成。故可以把morse式展开中的前一项看作是谐振子势,或者说我们可以把谐振子式看作是其在平衡位置进行展开的一个近似函数。

如图示,morse势函数有一系列的特点,那么这就是我们真正的共价键所应有的这样的一开始形式。同时在平衡点附近就意味着在平衡点附近展开,平衡点附近morse式可以退化成谐振子式。为提高谐振子势的精度可以在展开里面多保留一些展开项,展开项多了就准确了。故可以通过引入三次项形式来修正,这就构成了立方势函数。

立方势

立方式势函数从本质上来说是在谐振子势的基础上引入了一个立方项,使得函数的图像看起来更像morse势函数,但是和morse势函数有一个最大的区别,morse势函数随着距离的增加会收敛,无论是立方式还是谐振子势本质上都是一个二次函数或三次函数,都不是随着距离增加能够收敛的函数。那么平方式就是谐振子式,随着距离增长能量会无限制的增大,所以体系不可能偏离平衡位置太远,因为能量的越远越高,那么仍然是一个可以稳定平衡的体系。而立方式函数是一个奇函数,奇函数就意味着随着距离的增加函数的方向会一路向下,因为向左肯定随着距离的增加的缩短,这些能量会增加;那么向右随着距离的增长,作为三次方的函数能量一定是一路下降,也就意味着说立方势函数有一个适用的范围。超出的适用范围立方势函数就会一去不返,意味这个体系的模拟会发生异常。立方式函数只适合在平衡位置附近非常近的区域进行模拟,那么如果离开了平衡位置附近,进入到一路向下的这样一个函数的这个区间的话,用立方式函数开展的模拟就会得到非常错误的结论,那么这一点是和平方式函数或者叫谐振子势函数最大的差别。用谐振子势函数进行模拟的时候,不太担心体系会炸掉;而用立方式函数进行模拟的时,要防止体系穿过了能量的高点进入到一个异常远距离的风险,导致能量降低。故立方势函数也不适合模拟较长时长的分子动力学模拟。

键角和扭转角

键角弯折能

弯折能指的是由三个原子所形成的键角变化所形成的能量,常见的完整函数形式一般使用的是谐振子势函数。这个函数形式只不过是把原来的键长替换成了键角,此处谐振子势函数仍然是有两个参数,一个是平衡键角,那么另一个是键角的弯折力常数。有了两个参数之后,那么就可以完整的描述一个键角所形成的变化,当然键角键长之间会有一个巨大的区别,键长在一个从零到正无穷变化的区间里面,键角的变化是从0度到之间变化的数据,它的右侧不是无限扩展。谐振子势函数在键角的描述里面的和键长的描述一样都是对于平衡位置附近的一个近似。因此谐振子势模型在偏离平衡位置不远的情况下,可以得到很好的结果。同时他也有一个计算量小这样的一个优势。

谐振子模型处理键角弯折时存在一些问题,首先是长度,上述讨论中直接计算两原子的坐标,就可以得到长度。其次是角度,在这里面角度的计算应用到了向量点乘的定义。我们说向量点乘指的是两个向量相乘,它可以有点乘和差乘两种方式。其中的点成指的是两个向量的模,就是两个向量的长度,相乘后再乘以两个向量夹角的cos值,那么我们会得到一个数字即点乘的乘积。如果我们已知三个原子坐标,以水分子为例,把两个氢的坐标分别减去氧的坐标就得到了由氧指向氢的两个向量,之后再利用这两个向量进行点乘,就可以得到一个点乘的乘积。再用该乘积除以氧氢键这两个键向量的模(两个键向量的长度)就可以得到了这个水分子两个氢和一个氧所形成的键角的cos值。对这个值进行一个arccos的反三角函数计算,就可以得到这个键角的角度。此计算过程和这个键长计算有类似之处,有一个反三角函数的复杂计算。因此在实际操作中会有一些力场选择反三角函数不去做计算而直接用键角的cos值去进行拟合形成谐振子函数,如图所示,通过引入cos之后简化了计算。

可以看出这个体系的函数形式变了,那我这个能量算的还准不准?还是之前讨论,在平衡位置附近只要调整好了这个这个就是前面的k值的话,函数所得到的能量还是可以准确的。他的优势是减少计算量,缺点是构造的这个函数形式不那么有明确的物理,同时偏离平衡位置比较远的这个情况下与谐振子之间存在一定的差异。

二面角扭转能

二面角扭转能在整个分子力学的成键相互作用的能量中是比较特殊的一个能量。前面看到的这个共价键所对应的伸缩能以及键角所对应的弯折能都有一个平衡位置,而且整个体系不可能偏离平衡位置太远,无论键长还是键角,都有一个唯一的稳定状态。那我们可以想象一下,在一个水分子里面键角无论怎么运动,都只可能是在109度28分附近变化。一个键长也是在1.09i附近变化。而扭转角不一样,扭转角会有很多个稳定点。例如有两个  杂化的原子所构成的扭转角则会有三种交错式的结构都是能量最低点,三种重叠式的结构都是能量最高点。那如果是一个  杂化的结构则会有两个最低点和两个最高点。因此对于前面讨论过的键长和键角有唯一稳定结构的这样的模型可以用谐振子模型进行一个拟合。而对于这种二面角扭转能一类具有多个最低点和最高点且有一定的周期性的结构来说,最好用一个有周期性的势函数的函数形式对它进行描述,这里用的比较多的就是cos函数(如上图所示)。

我们看到这个结构里面包含了几个参数,

  1.  指的是二面角扭转能最高点的情况
  2. n描述的是多重度,决定了一个二面角扭转过程中转这个二派转了一整圈里面会有多少个最低点
  3. 是初始相位角,决定了我们如何去定义这个二面角,也就是说能量最低点相对于我们所定义的二面角的角度为零的点的偏离有多少

有了这三个值之后,我们实际上可以构造一系列波风相同的高度的二角扭转成的势能,波峰和波谷之间能量差是一样的,波峰是一样高的,波谷是一样低的,间隔也是一样大的。这里面间隔一样大这件事情是相对来说比较容易合理的,容易想到  杂化,转1/3圈就到了下一个能量的小点,不会偏差太多。但是波峰波谷差一样大,这件事情其实是不合理的。我们说两个同样属于扭转式大体积的取代基相互远离的时候,能量是更低的;而两个取代机相互挨着的时候,这两个波谷能量是相对高一些的。

为解决波峰和波谷是不是完全一致的矛盾,在分子里选其实采用了不同的方案。有想法是把这个扭转式作一个展开,这种展开可以看作对于这种周期函数进行了一个傅里叶展开,分别用不同频率的cos函数去描述同一个体系,这样就能够形成不同高度的波峰和波谷了。这里也分别给这些不同频率的cos三角函数赋予物理意义。一般来说,我们认为说一倍项对应的是键偶极之间的相互作用,两倍向作用的是超级相互作用,而三倍项对应的是14相互作用,这是平常讨论的展开形式。

在amber力场里选择了一个不一样的解决方案,用到的是扭转角加14相互作用,amber力场认为扭转角所形成的能量仅是扭转角本身,那它就应该是一个波峰和波谷高度相同的简单的势函数。平时见到的分子里面波峰和波谷差距比较大的情形主要原因是来自于一号位和四号位两个取代基之间的相互作用。有较大体积且有较强斥力的两个取代基处于相邻的扭转式时体系的势函数会增高;那么处于相对位的相远离的交错式的扭转式时,他的能量会比较的低。这并不是由扭转本身所带来的影响,而是由一位和四位两个大体积取代基之间的非键相互作用所带来的影响。

因此在amber力场里,会把二面角扭转能分解成两个能量项,一个是成键的扭转能,能只用一个cos函数去描述;另一个则是长程的一次相互作用,用范德华和静电去进行描述。那么因此在进行amber的分子动力学模拟里经常可以看到选择的方法是用一个一次意思相互作用描述这种长程的扭转角能量,同时大家可以在进行数据分析时加以选择,对一四相互作用(即一号位和四号位的原子间的相互作用),是将其归结为成键作用的扭转能进行统计,还是把它归结为非键相互作用的长城相互作用进行统计。其背后的原因,其实就来自于他的势函数形式。

分子动力学(二)-成键相互作用相关推荐

  1. 分子动力学(三)-非键相互作用

    目录 点电荷法 中心多极展开 偶极矩 四极矩 范德华作用 上一篇讲了成键相互作用里面的键长键角和二面角,常见的势函数的函数形式,以及常见amber力场里面所采取的这些函数形式的优点和缺点.下面是非键相 ...

  2. 用神经网络二分类理论重述双原子化合物的成键过程

    电子是物质的共有成分,物质的化学性质完全由核外电子决定. 一个化合物的化学性质也当然的仅由核外电子决定,因此核外电子应该携带了实现成键原子彼此分类的全部信息. 比如Na和Cl成键,形成了一个公共的电子 ...

  3. [转载] pythonjson构建二维数组_python二维键值数组生成转json的例子

    参考链接: python json 10: Datetime与json的相互转化 python二维键值数组生成转json的例子 今天出于需要,要将爬虫爬取的一些数据整理成二维数组,再编码成json字符 ...

  4. 基于MS的Dmol3模块计算离子液体的电子转移和成键

    离子液体是由氢键供体(HBDs)和氢键受体(HBAs)按照一定比例混和组成的低共熔混合物,常温下呈液态.氯化胆碱由于其价格低廉.来源广泛.可生物降解等特点成为了最常用的氢键受体之一,形成了一系列胆碱类 ...

  5. 形态分类法的迭代次数与成键的稳定性

    (0,1)---m*n*k---(1,0)(0,1) (0,2)---m*n*k---(1,0)(0,1) 0*2 0*1 迭代次数n 迭代次数n 收敛误差δ 3217.467 5326.01 1.0 ...

  6. 将成化学键的成键过程理解成是用分子测量本征值的过程

    当我们测量一个实的力学变量ξ时,包含的测量动作中的干扰就会引起力学系统态的突然变化, 测量总是使系统突变到所测量的力学变量的本征态,这个本征态所属的本征值等于测量结果, 对于任意态的力学系统,测量一实 ...

  7. 《新财富》:泡沫难破 房价至少被高估二成

    为什么80%的码农都做不了架构师?>>>    全局性的中国房地产泡沫至少在二成以上.经济学告诉我们:泡沫导致资源的无效配置,所以是泡沫最好让它破灭,而且越早破灭越好.而且纵观从17 ...

  8. 读EMBA花费过百万 仅二成学员自掏腰包

    近日,清华大学博士生王进文微博爆料称,山东省国土资源厅厅长徐景颜与自己同为法学院在读博士生,但从未见过此人上课.对此,清华大学法学院回应称,徐景颜确实是该院在读生,但并非全日制,而是"论文博 ...

  9. 计算机国二外键题,2015年计算机二级考试《MySQL》练习试题模拟

    1[填空题]在MySQL中,可以使用INSERT或________语句,向数据库中一个已有的表插入一行或多行元组数据. 参考解析: REPLACE 2[单选题]数据模型反映的是( ) A.事物本身的数 ...

最新文章

  1. [Java in NetBeans] Lesson 01. Java Programming Basics
  2. Qt Creator和VS2010中添加槽信号_差异与详解
  3. 关于手机游戏Ogame
  4. 《D3.js数据可视化实战手册》—— 1.1 简介
  5. linux常用命令 java,Java工程在Linux常用命令
  6. POJ 2255/递归:前序中序求后序
  7. 厉害了!谷歌新发布的半监督学习算法降低4倍错误率
  8. “小程序 · 云开发”重磅上线,让小程序开发更高效!
  9. php开发完整教程 pdf,PHP完整教程.pdf
  10. Windows 7语言包下载
  11. Arduino米思齐Mixly---旋转可调灯
  12. 已写完的二十本最经典原创小说巨作!你都看过吗?
  13. 四川师范大学自然地理(1-地球)90分以上版本
  14. wps连接mysql odbc_如何在WPS中使用ADO连接数据库?
  15. ue4显示变量_【程序猿】虚幻引擎4: 将C++变量暴露给蓝图
  16. 计算机埃尼阿克的主要元件采用的是,计算机埃尼阿克(ENIAC)的主要元件采用的是()。...
  17. 项目经理应该如何提高团队执行力
  18. L1-051 打折 (5 分) Java 篇
  19. super()的用法
  20. Diablo3 的所失和所得

热门文章

  1. 乐视:基于 Docker 的 RDS,我们是这样做的
  2. 2019 码云 最流行的开源项目 TOP 50
  3. 华为cpe虚拟服务器,华为5G CPE Pro:让你不用换手机就能体验5G网络
  4. a1sd测试软件准确,A1 SD Bench测试:手机端限制不少
  5. 测试是ufs3.0的软件,UFS3.0极限测试 安装1000个App后手机会不会变卡
  6. 浅谈 Android 的安全启动和完整性保护
  7. 牛顿法及其下山法+C代码
  8. 三周年课程促销中奖名单公布!赶紧来看看有没有你!
  9. python将str写入csv_【python3】中str转成bytes类型后用csv.writerow()写入csv文件仍然出错...
  10. mysql partition 语法,MySQL与瀚高数据库的范围分区的语法及实例(APP)