没有看过上一篇的小伙伴,可以点击上篇[分子随记]分子动力学模拟基础(一)
4.限制性分子动力学(NVT、NpT、NpH…)
系综
在一定宏观条件下,大量宏观状态相同而微观状态不同的独立系统的集合,称为统计系综。
守恒量与特征函数 | 宏观条件 | 典型适用场所 | |
---|---|---|---|
微正则系综 | S ( N , V , E ) S(N,V,E) S(N,V,E) | 孤立系统 | 输运过程 |
正则系综 | F ( N , V , T ) F(N,V,T) F(N,V,T) | 封闭系统 | 凝聚系统过程 |
巨正则系统 | J ( μ , V , T ) J(\mu,V,T) J(μ,V,T) | 开放系统 | 吸附过程 |
等温等压系综 | G ( N , p , T ) G(N,p,T) G(N,p,T) | 相变过程 | |
等压等焓系综 | ℘ ( N , p , H ) \wp(N,p,H) ℘(N,p,H) | 节流过程 |
NVT系综分子动力学
- 温度控制
在NVE系综的分子动力学基础上,通过温度控制使系统的温度维持在给定值,或根据环境温度使系统温度发生涨落,即可实现NVT系综分子动力学。
(1)Woodcock速度标度法(fix temp/rescale命令):
根据能量均分定理进行标度
1 2 ∑ i = 1 N m i v i → 2 = 3 2 N k B T \frac{1}{2}\sum_{i=1}^{N}m_{i}\overrightarrow{v_{i}}^{2}=\frac{3}{2}Nk_{B}T 21i=1∑Nmivi2=23NkBT
λ = ( 3 N − 3 ) k B T ~ ∑ i = 1 N m i v i → 2 ( t ) = T ~ T ( t ) v i → ( t ) → λ v i → ( t ) \lambda=\sqrt{\frac{\left(3N-3\right)k_{B}\tilde{T} }{\sum_{i=1}^{N}m_{i}\overrightarrow{v_{i}}^{2}\left(t\right)}}=\sqrt{\frac{\tilde{T} }{T\left(t\right)}}\quad\quad\quad\overrightarrow{v_{i}}\left(t\right)\to\lambda\overrightarrow{v_{i}}\left(t\right) λ=∑i=1Nmivi2(t)(3N−3)kBT~=T(t)T~vi(t)→λvi(t)
(2)Berendsen热浴标度法(fix temp/berendsen命令):
根据Fourier定律进行标度
d T ( t ) d t = 1 τ [ T ~ − T ( t ) ] \frac{dT\left(t\right)}{dt}=\frac{1}{\tau}\left[\tilde{T}-T\left(t\right)\right] dtdT(t)=τ1[T~−T(t)]
λ = 1 + ( T ~ T ( t ) − 1 ) △ t τ v i → ( t + △ t ) → λ v i → ( t ) \lambda=\sqrt{1+\left(\frac{\tilde{T}}{T\left(t\right)}-1\right)\frac{\triangle t}{\tau}}\quad\quad\quad\overrightarrow{v_{i}}\left(t+\triangle t\right)\to\lambda\overrightarrow{v_{i}}\left(t\right) λ=1+(T(t)T~−1)τ△tvi(t+△t)→λvi(t)
改进版本(fix temp/csvr命令):在Fourier定律基础上引入随机项
d T ( t ) d t = 1 τ [ T ~ − T ( t ) ] + 2 τ T ~ T ( t ) 3 N d W ( t ) d t \frac{dT\left(t\right)}{dt}=\frac{1}{\tau}\left[\tilde{T}-T\left(t\right)\right]+\frac{2}{\sqrt{\tau}}\sqrt{\frac{\tilde{T}T\left(t\right)}{3N}}\frac{dW\left(t\right)}{dt} dtdT(t)=τ1[T~−T(t)]+τ23NT~T(t)dtdW(t)
(3)Andersen热浴法:
系统中的粒子以一定的频率v与温度为T的热浴进行碰撞,碰撞后粒子从温度为T的Maxwell-Boltzmann分布中随机获得一个速度。
v = κ ρ N 2 3 v=\frac{\kappa}{\sqrt[3]{\rho N^{2}}} v=3ρN2κ
(4)限制控温法/阻尼力法/等动能法(fix nvk命令):
根据恒温动力学方程 { d r i → d t = v i → ( t ) d v i → d t = F i → ( t ) m i − ξ ( t ) v i → ( t ) \left\{\begin{array}{l}\frac{d\overrightarrow{r_{i}}}{dt}=\overrightarrow{v_{i}}\left(t\right) \\ \frac{d\overrightarrow{v_{i}}}{dt}=\frac{\overrightarrow{F_{i}}\left(t\right)}{m_{i}}-\xi\left(t\right)\overrightarrow{v_{i}}\left(t\right) \end{array}\right. {dtdri=vi(t)dtdvi=miFi(t)−ξ(t)vi(t)
引入温度限制 d T d t = 0 \frac{dT}{dt}=0 dtdT=0(即恒温),则待定系数 ξ ( t ) \xi(t) ξ(t)的选择应使动力学方程轨迹与温度限制轨迹的差异最小化。
由Gauss最小约束原理,有
ξ ( t ) = ∑ i m i v i → ( t ) ⋅ F i → ( t ) ∑ i m i 2 v i → 2 ( t ) \xi\left(t\right)=\frac{\sum_{i}m_{i}\overrightarrow{v_{i}}\left(t\right)\cdot\overrightarrow{F_{i}}\left(t\right)}{\sum_{i}m_{i}^{2}\overrightarrow{v_{i}}^{2}\left(t\right)} ξ(t)=∑imi2vi2(t)∑imivi(t)⋅Fi(t)
(5)Nose-Hoover热浴法(fix nvt命令):
根据恒温动力学方程,增加额外的自由度,在扩展的微正则系综中完成体系的正则系综模拟,则待定系数 ξ ( t ) \xi(t) ξ(t)满足如下方程。
d ξ ( t ) d t = g k B Q [ T ( t ) − T ~ ] = 1 Q [ ∑ i m i v i → 2 ( t ) − g k B T ~ ] 其中 Q = g k B T ~ τ 2 \frac{d\xi\left(t\right)}{dt}=\frac{gk_{B}}{Q}\left[T\left(t\right)-\tilde{T}\right]=\frac{1}{Q}\left[\sum_{i}m_{i}\overrightarrow{v_{i}}^{2}\left(t\right)-gk_{B}\tilde{T}\right]\quad\quad\quad其中Q=gk_{B}\tilde{T}\tau^{2} dtdξ(t)=QgkB[T(t)−T~]=Q1[i∑mivi2(t)−gkBT~]其中Q=gkBT~τ2
(6)Langevin动力学法(fix langevin命令):
执行Brown动力学,每个粒子受力
F i → = ∑ j [ − ▽ i U ( r i j ) − m i τ ( v i j → ⋅ r i j → ^ ) r i j → ^ + 2 k B T ~ m i τ d W ( t ) d t r i j → ^ ] \overrightarrow{F_{i}}=\sum_{j}\left[-\bigtriangledown_{i}U\left(r_{ij}\right)-\frac{m_{i}}{\tau}\left(\overrightarrow{v_{ij}}\cdot\hat{\overrightarrow{r_{ij}} } \right)\hat{\overrightarrow{r_{ij}} } +\sqrt{2k_{B}\tilde{T}\frac{m_{i}}{\tau}}\frac{dW\left(t\right)}{dt}\hat{\overrightarrow{r_{ij}} } \right] Fi=j∑[−▽iU(rij)−τmi(vij⋅rij^)rij^+2kBT~τmidtdW(t)rij^]
改进版本(fix temp/csld命令):对粒子速度的更新是在原速度上线性叠加一个温度为 T → \overrightarrow{T} T的Gauss分布的随机速度,来实现控温。
(7) 耗散粒子动力学法(pair_style dpd/tstat命令):
与Langvin动力学法原理相同,不同的是耗散力和随机力在Langvin动力学法中通过fix命令施加的,而在耗散粒子动力学中是通过pair_style命令由力场施加的。
附加到粒子上的耗散力和随机力为
F i → = { ∑ j [ − γ ( 1 − r i j r c u t ) 2 ( v i j → ⋅ r i j → ^ ) r i j → ^ + 2 k B T ~ γ ( 1 − r i j r c u t ) d W ( t ) d t r i j → ^ ] ( r i j ≤ r c u t ) 0 ( r i j > r c u t ) \overrightarrow{F_{i}}=\begin{cases}\sum_{j}\left[-\gamma\left(1-\frac{r_{ij}}{r_{cut}}\right)^{2}\left(\overrightarrow{v_{ij}}\cdot\hat{\overrightarrow{r_{ij}} } \right)\hat{\overrightarrow{r_{ij}} } +\sqrt{2k_{B}\tilde{T}_{\gamma }}\left(1-\frac{r_{ij}}{r_{cut}}\right)\frac{dW\left(t\right)}{dt}\hat{\overrightarrow{r_{ij}} }\right]\quad&\left(r_{ij}\le r_{cut}\right) \\0&\left(r_{ij}> r_{cut}\right) \end{cases} Fi=⎩ ⎨ ⎧∑j[−γ(1−rcutrij)2(vij⋅rij^)rij^+2kBT~γ(1−rcutrij)dtdW(t)rij^]0(rij≤rcut)(rij>rcut)
NpT系综分子动力学
- 压强控制
在NVT系综的分子动力学基础上,通过体积控制使系统的压力维持在给定值,或根据环境压力使系统压力发生涨落,即可实现NpT系综分子动力学。
(1)Berendsen体积标度法(fix press/berendsen命令):
根据移动方程进行标度
d p ( t ) d t = 1 τ [ p ~ − p ( t ) ] \frac{dp\left(t\right)}{dt}=\frac{1}{\tau}\left[\tilde{p}-p\left(t\right)\right] dtdp(t)=τ1[p~−p(t)]
λ μ v = δ μ v + 1 V ( ∂ V ∂ p μ v ) T [ p ~ μ v − p μ v ( t ) ] △ t τ \lambda_{\mu v}=\delta_{\mu v}+\frac{1}{V}\left(\frac{\partial V}{\partial p_{\mu v}} \right)_{T}\left[\tilde{p}_{\mu v}-p_{\mu v}\left(t\right)\right]\frac{\triangle t}{\tau} λμv=δμv+V1(∂pμv∂V)T[p~μv−pμv(t)]τ△t
( x i ( t + △ t ) y i ( t + △ t ) z i ( t + △ t ) ) → ( λ x x λ x y + λ y x λ x z + λ z x 0 λ y y λ y z + λ z y 0 0 λ z z ) 1 3 ( x i ( t ) y i ( t ) z i ( t ) ) \begin{pmatrix}x_{i}\left(t+\triangle t\right) \\y_{i}\left(t+\triangle t\right) \\z_{i}\left(t+\triangle t\right) \end{pmatrix}\to \begin{pmatrix} \lambda_{xx}&\lambda_{xy}+\lambda_{yx}&\lambda_{xz}+\lambda_{zx}\\ 0& \lambda_{yy}&\lambda_{yz}+\lambda_{zy}\\ 0& 0 &\lambda_{zz} \end{pmatrix}^{\frac{1}{3}}\begin{pmatrix}x_{i}\left(t\right) \\y_{i}\left(t\right) \\z_{i}\left(t\right) \end{pmatrix} ⎝ ⎛xi(t+△t)yi(t+△t)zi(t+△t)⎠ ⎞→⎝ ⎛λxx00λxy+λyxλyy0λxz+λzxλyz+λzyλzz⎠ ⎞31⎝ ⎛xi(t)yi(t)zi(t)⎠ ⎞
(2)Nose-Hoover热浴压浴法(fix npt命令):
根据恒温恒压动力学方程
{ d v i → d t = F i → ( t ) m i − ξ ( t ) v i → ( t ) − ζ ( t ) v i → ( t ) − ( 1 + d g ) η ( t ) v i → ( t ) d r i → d t = v i → ( t ) + ζ ( t ) r i → ( t ) + η ( t ) r i → ( t ) \begin{cases}\frac{d\overrightarrow{v_{i}}}{dt}=\frac{\overrightarrow{F_{i}}\left(t\right)}{m_{i}}-\xi\left(t\right)\overrightarrow{v_{i}}\left(t\right)-\zeta\left(t\right)\overrightarrow{v_{i}}\left(t\right)-\left(1+\frac{d}{g}\right)\eta\left(t\right)\overrightarrow{v_{i}}\left(t\right) \\ \frac{d\overrightarrow{r_{i}}}{dt}=\overrightarrow{v_{i}}\left(t\right)+\zeta\left(t\right)\overrightarrow{r_{i}}\left(t\right)+\eta\left(t\right)\overrightarrow{r_{i}}\left(t\right) \end{cases} ⎩ ⎨ ⎧dtdvi=miFi(t)−ξ(t)vi(t)−ζ(t)vi(t)−(1+gd)η(t)vi(t)dtdri=vi(t)+ζ(t)ri(t)+η(t)ri(t)
增加额外的温度限制 ξ ( t ) \xi (t) ξ(t)、压强限制 ζ ( t ) \zeta (t) ζ(t)和 η ( t ) \eta (t) η(t),则待定系数满足如下方程。
d ξ ( t ) d t = g k B Q T [ T ( t ) − T → ] + Q p Q T η 2 ( t ) + Q 0 Q T t r ( ζ ⊤ ( t ) ζ ( t ) ) − d 2 k B Q T T → Q T = g k B T → τ T 2 d ζ ( t ) d t = V ( t ) Q 0 [ p ( t ) − p → I ] − V ( t ) d Q 0 t r ( [ p ( t ) − p → I ] I ) − ξ ( t ) ζ ( t ) Q p = g k B T → τ p 2 d η ( t ) d t = d V ( t ) Q p [ p ( t ) − p → ] + d k B Q p T ( t ) − ξ ( t ) η ( t ) d V ( t ) d t = d η ( t ) V ( t ) \frac{d\xi\left(t\right)}{dt}=\frac{gk_{B}}{Q_{T}}\left[T\left(t\right)-\overrightarrow{T}\right]+\frac{Q_{p}}{Q_{T}}\eta^{2}\left(t\right)+\frac{Q_{0}}{Q_{T}}tr\left(\zeta^{\top}\left(t\right)\zeta\left(t\right)\right)-\frac{d^{2}k_{B}}{Q_{T}}\overrightarrow{T}\quad\quad Q_{T}=gk_{B}\overrightarrow{T}\tau_{T}^{2} \\ \frac{d\zeta\left(t\right)}{dt}=\frac{V\left(t\right)}{Q_{0}}\left[p\left(t\right)-\overrightarrow{p}I\right]-\frac{V\left(t\right)}{dQ_{0}}tr\left(\left[p\left(t\right)-\overrightarrow{p}I\right]I\right)-\xi\left(t\right)\zeta\left(t\right)\quad\quad\quad Q_{p}=gk_{B}\overrightarrow{T}\tau_{p}^{2} \\ \frac{d\eta\left(t\right)}{dt}=\frac{dV\left(t\right)}{Q_{p}}\left[p\left(t\right)-\overrightarrow{p}\right]+\frac{dk_{B}}{Q_{p}}T\left(t\right)-\xi\left(t\right)\eta\left(t\right) \\ \frac{dV\left(t\right)}{dt}=d\eta\left(t\right)V\left(t\right) dtdξ(t)=QTgkB[T(t)−T]+QTQpη2(t)+QTQ0tr(ζ⊤(t)ζ(t))−QTd2kBTQT=gkBTτT2dtdζ(t)=Q0V(t)[p(t)−pI]−dQ0V(t)tr([p(t)−pI]I)−ξ(t)ζ(t)Qp=gkBTτp2dtdη(t)=QpdV(t)[p(t)−p]+QpdkBT(t)−ξ(t)η(t)dtdV(t)=dη(t)V(t)
NpH系综分子动力学
- 等焓压强控制
(1)Andersen压浴法
根据恒压动力学方程
{ d v i → d t = F i → ( t ) m i − η ( t ) v i → ( t ) d r i → d t = v i → ( t ) + η ( t ) r i → ( t ) \begin{cases} \frac{d\overrightarrow{v_{i}}}{dt}=\frac{\overrightarrow{F_{i}}\left(t\right)}{m_{i}}-\eta\left(t\right)\overrightarrow{v_{i}}\left(t\right) \\ \frac{d\overrightarrow{r_{i}}}{dt}=\overrightarrow{v_{i}}\left(t\right)+\eta\left(t\right)\overrightarrow{r_{i}}\left(t\right) \end{cases} {dtdvi=miFi(t)−η(t)vi(t)dtdri=vi(t)+η(t)ri(t)
将一个虚拟质量为W,势能为 p → V \overrightarrow{p}V pV,动能为 1 2 M ( d V d t ) 2 \frac{1}{2}M(\frac{dV}{dt})^2 21M(dtdV)2的活塞与体系相关联,则待定系数 η ( t ) \eta (t) η(t)满足如下方程。
η ( t ) = 1 3 d l n V ( t ) d t 其中 M d 2 V d t 2 = 1 3 V ( t ) ( ∑ i m i v i → 2 ( t ) − ∑ i r i → ( t ) ∂ U ∂ r i → ) − p ~ \eta\left(t\right)=\frac{1}{3}\frac{dlnV\left(t\right)}{dt}\quad\quad其中M\frac{d^{2}V}{dt^{2}}=\frac{1}{3V\left(t\right)}\left(\sum_{i}m_{i}\overrightarrow{v_{i}}^{2}\left(t\right)-\sum_{i}\overrightarrow{r_{i}}\left(t\right)\frac{\partial U}{\partial \overrightarrow{r_{i}}}\right) -\tilde{p} η(t)=31dtdlnV(t)其中Mdt2d2V=3V(t)1(i∑mivi2(t)−i∑ri(t)∂ri∂U)−p~
(2)Parrinello-Rahman压浴法(fix nph命令):
记 s i → = ( p r j a 1 → r i → p r j a 2 → r i → p r j a 3 → r i → ) , 引入晶胞度规矩阵 G = h → ⊤ h → = ( a 1 → a 2 → a 3 → ) ( a 1 → a 2 → a 3 → ) 记\overrightarrow{s_{i}}= \begin{pmatrix} prj_{\overrightarrow{a_{1}}}\overrightarrow{r_{i}} \\prj_{\overrightarrow{a_{2}}}\overrightarrow{r_{i}} \\prj_{\overrightarrow{a_{3}}}\overrightarrow{r_{i}} \end{pmatrix},引入晶胞度规矩阵G=\overrightarrow{h}^{\top}\overrightarrow{h}=\begin{pmatrix}\overrightarrow{a_{1}} \\ \overrightarrow{a_{2}} \\ \overrightarrow{a_{3}} \end{pmatrix}\left(\overrightarrow{a_{1}}\quad\overrightarrow{a_{2}}\quad\overrightarrow{a_{3}}\right) 记si=⎝ ⎛prja1riprja2riprja3ri⎠ ⎞,引入晶胞度规矩阵G=h⊤h=⎝ ⎛a1a2a3⎠ ⎞(a1a2a3)
则动力学方程转化为:
{ M d 2 h → d t 2 = V 2 2 π [ 1 V ( ∑ i m i v i → v i → − ∑ i ∑ j ≠ i 1 r i j d U ( r i j ) d r i j r i j → r i j → ) − p ] ( h → ⊤ ) − 1 ( 晶胞运动方程 ) d 2 s i → d t 2 = − 1 2 ∑ j ≠ i 1 m i r i j d U ( r i j ) d r i j ( s i → − s j → ) − G − 1 d G d t d s i → d t ( 晶胞内粒子运动方程 ) \begin{cases}M\frac{d^{2}\overrightarrow{h}}{dt^{2}}=\frac{V^{2}}{2\pi}\left[\frac{1}{V}\left(\sum_{i}m_{i}\overrightarrow{v_{i}}\overrightarrow{v_{i}}-\sum_{i}\sum_{j\neq i}\frac{1}{r_{ij}}\frac{dU\left(r_{ij}\right)}{dr_{ij}}\overrightarrow{r_{ij}}\overrightarrow{r_{ij}}\right)-p\right]\left(\overrightarrow{h}^{\top}\right)^{-1}\quad &\left(晶胞运动方程\right) \\ \frac{d^{2}\overrightarrow{s_{i}}}{dt^{2}}=-\frac{1}{2}\sum_{j\neq i}\frac{1}{m_{i}r_{ij}}\frac{dU\left(r_{ij}\right)}{dr_{ij}}\left(\overrightarrow{s_{i}}-\overrightarrow{s_{j}}\right)-G^{-1}\frac{dG}{dt}\frac{d\overrightarrow{s_{i}}}{dt} & \left(晶胞内粒子运动方程\right) \end{cases} ⎩ ⎨ ⎧Mdt2d2h=2πV2[V1(∑imivivi−∑i∑j=irij1drijdU(rij)rijrij)−p](h⊤)−1dt2d2si=−21∑j=imirij1drijdU(rij)(si−sj)−G−1dtdGdtdsi(晶胞运动方程)(晶胞内粒子运动方程)