文档介绍:时间积分算法基于有限差分法,对时间进行离散,为时间步长,由时刻的变量及其时间导数推演得到+时刻的物理量,逐步计算即得到整个历史过程的物理量。这个过程是近似的,不可避免地引入误差,包括截断误差和舍入误差。前者主要是有限差分算法采用Taylor展开截断某些高阶项引入的,后者是计算机本身数值精度引入的。两种误差都能通过减小时间步长而减小。对于比较大的,截断误差起主导作用;但随着下降截断误差迅速降低,舍入误差随下降变化不大,并在较小的时起主导作用。分子动力学时间步长一般随模拟的材料、温度、物理过程而变化,一般为fs(秒)量级。进行数值求解的算法有多种,其共同的出发点是,将粒子的位置和其它力学量如速度、加速度等展开为Taylor级数。最常用的数值求解算法有Verlet算法,leap-frog算法,Beeman算法及Gear所提出的校正预测法。,也是最简单的。它运用原子在时刻的位置和加速度及时刻的位置,计算出时刻的位置。将粒子的位置以Taylor公式展开,即将式中的换为-,得两式相减得速度式两式相加得因,故依据上式可由及的位置预测时的位置。Verlet算法执行简明,需要的内存小,但其缺点在于速度式中含有项,而实际计算中通常选取很小的值,且位置要通过小项与非常大的两项与的差的相加得到,容易造成精度损失。另外,它不是一个自启动算法,新位置必须由时刻与前一时刻的位置得到。在t=O时刻,只有一组位置,所以必须通过其他方法得到的位置。获得时刻的位置的方法之一时应用近似式。(leap-frogmethod)鉴于Verlet算法的一些缺点,Hockney提出了跳蛙法。跳蛙法是从Verlet法推导出来的。它在半个积分时间步得到速度,并利用这一速度计算新的位置。位置和速度表达式为计算时假设已知与,由时的位置计算质点所受的力与加速度,再预测时间为时的速度,以此类推。根据与,可得时间为时的速度为利用跳蛙法计算仅需储存与两类信息,既节约储存空间,而且准确性及稳定性较高。跳蛙法不需要计算下一步位置就可以得出速度,但需要注意的是速度并未与位置在同一时间定义,结果是动能和势能也未同时定义。所以不能直接计算总能量。,另一种较为常见的方法。其积分公式如下此方法需储存、与,储存量大于Verlet的跳蛙法。但优点在于可以引用较长的积分间隔。Beeman方法所引用的积分步长可为Verlet方法的倍,而具有相同的准确性。(predictor-correctormethod)Gaer提出了基于预测-校正积分方法的校正预测法。因为经典运动粒子的轨迹为连续的,故于时间时的位置、速度等可由时间的Taylor展开式预测得由于这些物理量来自Taylor展开式,并非由解Newton运动方程式而来,所以式()中所产生的速度、加速度等并非完全正确。为了解决这个问题,用所预测的位置计算所受的力及正确的加速度。设正确的加速度与预测的加速度之间的误差为得各量之校正式为式中,、、、均为常数。这仅为Gear的一次预测校正法,也可以推展至更高次的校正法。对于大多数MD应用来说,Verlet型的算法就可以满足基本的要求了。但有时采用高阶算法更方便。一般来说Gear算法中的Taylor展开阶数越高,精度越好。但占用内存比较大,这对于大量分子系统的模拟不如Verlet算法方便。当减小时,Gear的高次预测校正法误差较小,但增大时,Verlet方法较佳。边界条件执行分子动力计算通常选取一定数目N的分子,将其置于一立方体的盒子中。设盒子的边长为,则其体积为=。若分子的质量为,则系统的密度为:计算系统的密度应等于实验所测定的密度。介质的宏观性质是由大量粒子所为,所以在模拟中,粒子的数量只有足够多,才能真实地再现介质的宏观性质。然而由于计算机的计算能力的限制,我们在模拟时粒子数一般应少于10000个。同时粒子数量越少,表面效应越明显,因为此时大量的粒子是处于表面的。这样少的粒子组成的集团和真实体系相比,其表面原子与体内原子数之比显然过大,这必然造成表面效应。无论模拟的区域是否在容器中,表面的粒子受力仍不同于实际情况,从而很难正确的描述其宏观性质。为了减小有限尺寸的影响,在分子动力学模拟中采用了各种有效的边界条件。通常用于分子动力学模拟中的边界条件有两种:周期性边界条件、非周期性边界条件。(1)模拟计算中,为使计算中系统的密度维持恒定,通常采用周期性边界条件[2],以二维的计算系统为例,。,其周围盒子与模拟系统具有相同的排