分子动力学模拟方法
Verlet
Leapfrog
Velocity Verlet
四、预测-校正(Predictor-Corrector)格式算法:
1. 预测(Predictor)阶段:其基本思想是Taylor展开,
1 1 2 r (t t ) r (t ) v (t )t a(t )t b(t )t 3 2 6 1 p v (t t ) v (t ) a(t )t b(t )t 2 2 a p (t t ) a(t ) b(t )t
1 1 1 r0 (t ) 1 2 3 r1 (t ) 0 1 3 r2 (t ) 0 0 1 r3 (t )
校正阶段运动方程的变换:
r0c (t t ) r0p (t t ) c0 c p r1 (t t ) r1 (t t ) c1 c p C0, c r r2 (t t ) r2 (t t ) 2 r c (t t ) r p (t t ) c 3 3 3
c3
1/6 1/3 35/72
c4
c5
1/24 5/48 1/120
② 二阶运动方程之一:
f (r) r
Values
3 4 5 6
r r (t t ) r (t t )
c 2 p 2
c0
0 1/6 19/120 3/20
c1
1 5/6 3/4 251/360
c2
1 1 1 1
a i (t) mi
r(t) r(0) v i (0) t
缺点:Verlet算法处理速度非常笨拙
Verlet算法的表述:
算法启动
① 规定初始位置 ② 规定初始速度
③ 扰动初始位置:
④ 计算第n步的力
r(t) r(0) v i (0) t
⑤ 计算第n+1步的位置:
C0, C1, C2, C3的值以及
取决于运动方程的阶数。
r
的形式:
① 一阶运动方程:
r f (r)
Values
3 4 5 6
r r1c (t t ) r1p (t t )
c1
1 1 1 1
c0
5/12 3/8 251/720 95/288
c2
1/2 3/4 11/12 25/24
ri
t 0
ri (0)
dri dt
t 0
v i (0)
分子动力学方法特征:
分子动力学是在原子、分子水平上求解多体问题的重要的计 算机模拟方法,可以预测纳米尺度上的材料动力学特性。 通过求解所有粒子的运动方程,分子动力学方法可以用于模 拟与原子运动路径相关的基本过程。 在分子动力学中,粒子的运动行为是通过经典的Newton运动 方程所描述。
2. 计算下一步长时刻的位置:
开始运动时需要v(-Δt/2):
1 ri (t t) ri (t) v i (t t) t 2
v(t/2) v(0) ai (0) t/2
1 1 v i (t t) v i (t - t) 3. 计算当前时刻的速度: 2 2 v i (t) 2
p
b p (t t ) b(t )
2. 校正(Corrector)阶段:
根据新的原子位置rp,可以计算获得校正后的ac(t+t),定义预测误差:
a(t t ) a c (t t ) a p (t t )
利用此预测误差,对预测出的位置、速度、加速度等量进行校正:
定义一组矢量:
r0 r (t ) d r (t ) t dt d 2 r (t ) 1 2 r2 t 2 dt 2 d 3 r (t ) 1 3 r3 t 3 dt 6 r1
r0p (t t ) 1 p r1 (t t ) 0 p 0 r2 (t t ) r p (t t ) 0 3
1 1 ri (t t) ri (t) v i (t) t ai (t) t 2 bi (t) t 3 2 6
+
2
ri (t t) 2ri (t) ri (t - t) ai (t) t 粒子位置 : r (t t) ri (t - t) v i (t) i 粒子速度 2t : 开始运动时需要r(t-Δt): Fi (t) 粒子加速度:
原理: 计算一组分子的相空间轨道,其中每个分子各自服从 牛顿运动定律:
1 N pi2 N 1 N H U (rij ) 2 i 1 mi i 1 j i 1
dri p i mi mi v i dt
初始条件:
N 1 N U ( r ) dp i N 1 N ij F(rij ) dt rij i 1 j i 1 i 1 j i 1
•1985年:第一原理分子動力学法(→Car-Parrinello法)
•1991年:巨正则系综的分子动力学方法(Cagin and Pettit)
课程讲解内容:经典分子动力学 (Classical Molecular Dynamics)
粒子的运动取决于经典力学 (牛顿定律(F=ma)
分子动力学方法基础:
ri (t t) ri (t) v i (t 1 t) t 2
优点:速度计算更加准确
1 1 v i (t t) v i (t t) a i (t t)t 2 2
Velocity Verlet算法的表述:
算法启动
① 规定初始位置 ② 规定初始速度
③ 计算第n+1步的位置:
④ 计算第n+1步的力
ri (t t) ri (t) v i (t) t
1 ai (t) t 2 2
⑤ 计算第n+1步的速度:
⑥ 重复③至⑤
1 v i (t t) v i (t) [ai (t) ai (t t)]t 2
Verlet三种形式算法的比较:
分子动力学方法是确定性方法,一旦初始构型和速度确定了, 分子随时间所产生的运动轨迹也就确定了。
分子动力学的算法:有限差分方法
一、Verlet算法
粒子位置的Taylor展开式:
ri (t t) ri (t) v i (t) t 1 1 a i (t) t 2 b i (t) t 3 2 6
c3
c4
c5
1/3 1/2 11/18 1/12 1/6 1/60
② 二阶运动方程之二:
f (r, r r (t t ) r (t t )
c 2 p 2
c0
0 1/6 19/90 3/16
c1
1 5/6 3/4 251/360
c2
三、Velocity Verlet算法:
ri (t t) ri (t) v i (t) t 1 ai (t) t 2 2
1 v i (t t) v i (t) [ai (t) ai (t t)]t 2
等价于
1 1 v i (t t) v i (t) ai (t)t 2 2
预测阶段运动方程的变换:
1 1 r p (t t ) r (t ) v (t )t a(t )t 2 b(t )t 3 2 6 1 v p (t t ) v (t ) a(t )t b(t )t 2 2 a p (t t ) a(t ) b(t )t b p (t t ) b(t )
Verlet算法的优缺点:
优点: 1、精确,误差O(Δ4) 2、每次积分只计算一次力 3、时间可逆
缺点: 1、速度有较大误差O(Δ2) 2、轨迹与速度无关,无法与热浴耦联
二、蛙跳(Leap-frog)算法:半步算法
1. 首先利用当前时刻的加速度,计算半个时间步长后的速度:
1 1 v i (t t) v i (t - t) ai (t) t 2 2
v(t/2) v(0) ai (0) t/2
1 ri (t t) ri (t) v i (t t) t 2
1 1 v i (t t) v i (t - t) 2 2 v i (t) 2
Leap-frog算法的优缺点:
优点: 1、提高精确度 2、轨迹与速度有关,可与热浴耦联 缺点: 1、速度近似 2、比Verlet算子多花时间
计算第n步的速度: 重复④至⑥
ri (t t) 2ri (t) ri (t - t) ai (t) t 2
v i (t) ri (t t) ri (t - t) 2t
Verlet算法程序:
Do 100 I = 1, N RXNEWI = 2.0 * RX(I) RXOLD(I) + DTSQ * AX(I) RYNEWI = 2.0 * RY(I) RYOLD(I) + DTSQ * AY(I) RZNEWI = 2.0 * RZ(I) RZOLD(I) + DTSQ * AZ(I) VXI = ( RXNEWI – RXOLD(I) ) / DT2 VYI = ( RYNEWI – RYOLD(I) ) / DT2 VZI = ( RZNEWI – RZOLD(I) ) / DT2 RXOLD(I) = RX(I) RYOLD(I) = RY(I) RZOLD(I) = RZ(I) RX(I) = RXNEWI RY(I) = RYNEWI RZ(I) = RZNEWI 100 CONTINUE
v
t-Δt/2
r
t t+Δt/2 t+Δt