分子动力学模拟(Molecular Dynamics Simulation,简称MD)是一种基于经典力学原理的计算物理方法,用于模拟原子和分子在给定时间内的运动和相互作用。以下是关于分子动力学模拟的一些核心术语和概念:
- 定义系统:在分子动力学模拟中,首先需要将研究对象抽象为由N个相互作用的粒子(如原子或分子)组成的系统。每个粒子具有特定的坐标、质量、电荷和成键方式1。
- 设定初始条件:根据目标温度,按照玻尔兹曼分布为每个粒子分配初始速度,这是模拟开始的初始条件之一1。
- 计算相互作用:利用选定的力场模型,计算粒子间的相互作用能和每个粒子所受的力。力场模型是描述粒子间相互作用的关键1。
- 求解运动方程:应用牛顿运动方程,计算各粒子的加速度和速度,进而更新其位置。这是模拟粒子随时间演化的核心步骤1。
- 迭代计算:重复上述过程,使用适当的时间步长(通常为1飞秒,即1 fs),模拟粒子随时间的运动轨迹。通过大量的迭代计算,可以获得粒子系统的动态行为1。
- 数据分析:对获得的轨迹数据进行分析,提取系统的结构、能量、热力学和动力学等信息。这是理解模拟结果和探究物质性质的关键步骤1。
此外,在分子动力学模拟中,还可能涉及一些其他术语和概念,如力场、时间步长、温度控制方法、压力控制方法等,这些术语和概念对于深入理解分子动力学模拟的原理和应用具有重要意义。
leap-frog 蛙跳算法
Leap-frog算法的更简洁公式主要包括位置和速度的更新公式:
-
位置更新:
r(t+Δt)=r(t)+v(t+Δt2)Δtr(t+Δt)=r(t)+v(t+2Δt)Δt这个公式表示在时间步长ΔtΔt后,粒子的新位置是其当前位置加上半步速度乘以时间步长。
-
速度更新:
v(t+Δt2)=v(t−Δt2)+a(t)Δtv(t+2Δt)=v(t−2Δt)+a(t)Δt这里,速度是在半步时间点上进行更新的,它等于前一步的半步速度加上当前加速度乘以时间步长。加速度a(t)a(t)通常是由力F(t)F(t)和质量mm计算得到的,即a(t)=F(t)ma(t)=mF(t)。
这两个公式共同构成了Leap-frog算法的核心,用于在分子动力学模拟中更新粒子的位置和速度12。虽然Leap-frog算法本身并不直接涉及分子动力学模拟的具体物理量(如力或势能),但其更新规则与这些物理量紧密相关,因为加速度的计算通常依赖于这些物理量。
Velocity-Verlet
Velocity-Verlet算法是分子动力学模拟中常用的一种数值积分方法,用于求解牛顿第二定律,以更新系统中粒子的位置和速度。
Velocity-Verlet算法结合了Verlet算法和显式欧拉法的优点,通过引入速度变量来简化计算过程,同时保持了较高的数值稳定性。与Verlet算法相比,Velocity-Verlet算法能够同时给出位置和速度的精确表达式,从而避免了Verlet算法中速度计算误差较大的问题。
具体来说,Velocity-Verlet算法的更新公式如下:
-
位置更新:
r(t+Δt)=r(t)+v(t)Δt+12a(t)Δt2r(t+Δt)=r(t)+v(t)Δt+21a(t)Δt2其中,r(t)r(t)是粒子在tt时刻的位置,v(t)v(t)是粒子在tt时刻的速度,a(t)a(t)是粒子在tt时刻的加速度,ΔtΔt是时间步长。
-
速度更新:
v(t+Δt)=v(t)+12[a(t)+a(t+Δt)]Δtv(t+Δt)=v(t)+21[a(t)+a(t+Δt)]Δt注意,这里的速度更新使用了当前时刻和下一时刻加速度的平均值,这有助于提高数值稳定性。
-
加速度计算:
加速度通常是通过将位置代入势函数中计算得到的力,再除以质量来计算的,即a(t)=F(t)ma(t)=mF(t)。
Velocity-Verlet算法的优点在于其数值稳定性高,能够长时间保持系统的能量守恒,同时计算过程相对简单,易于实现。因此,在分子动力学模拟中得到了广泛应用
MD分子动力学模拟 4个物理量单位
能量:电子伏特,记作eV约为1.602177*10-19J
长度:埃 angstrom 记作Å 10-10m
质量:道尔顿Dalton 记作Da约为1.660539*10 -27kg
温度:卡尔文 记作K
可推导出的另外物理量
力 =能量/长度 = eV/Å
速度=能量/质量开根号 (eV/Da)
时间=长度/速度 Å(eV/Da) 约为1.018051*10 飞秒,飞秒=秒
玻尔兹曼常数 国际标准1.38* 对应程序里的8.617*eV