分子动力学笔记

自牛顿提出牛顿三定律到量子力学被提出之前,分子运动都是由经典的牛顿力学描述。牛顿力学中,应用最广泛的是牛顿第二定律:
F = m ∗ a F = m * a F=ma ( 1 ) (1) (1)
在分子动力学中,力 F F F由分子间的相互作用势能 U U U对小球的位置 x x x求导得到,即
F = d U ( x ) d x F = \frac{dU(x)}{dx} F=dxdU(x) ( 2 ) (2) (2)
( 1 ) (1) (1)式中的加速度 a a a则可以通过分子的位置 x x x对时间的二次导得到
a = d 2 x d t 2 a = \frac{d^2x}{dt^2} a=dt2d2x ( 3 ) (3) (3)
而在实际的计算机模拟中,我们只能通过数值模拟的方式,对导数进行求解。即速度 v v v可以表示成 Δ x \Delta x Δx比上 Δ t \Delta t Δt:
v ˉ = Δ x Δ t \bar v=\frac{\Delta x}{\Delta t} vˉ=ΔtΔx ( 4 ) (4) (4)
我们只有知道 t t t时刻分子的位置以及 t + Δ t t+\Delta t t+Δt时刻分子的位置,才能知道分子在 [ t , t + Δ t ] [t ,t+\Delta t] [t,t+Δt]这段时间的平均速度,当 t t t足够小时,这种平均速度即等价于瞬时速度。在欧拉积分中,我们将这种平均速度视作分子在时刻t的瞬时速度,即可以将 ( 4 ) (4) (4)式改写为:
x ( t + Δ t ) = x ( t ) + v ( t ) ∗ Δ t x(t+\Delta t)=x(t) + v(t) * \Delta t x(t+Δt)=x(t)+v(t)Δt ( 5 ) (5) (5)
对于加速度 a a a,由于我们已经将分子间的相互作用势能写作了 x x x的函数形式,则为
a = F m = d U ( x ) d x a=\frac{F}{m}=\frac{dU(x)}{dx} a=mF=dxdU(x) ( 6 ) (6) (6)
因此只要知道 t t t时刻分子的受力 F F F,我们就可以通过力 F F F得到 t + Δ t t+\Delta t t+Δt时刻的速度 v ( t + Δ t ) v(t+\Delta t) v(t+Δt)
v ( t + Δ t ) = v ( t ) + F m ∗ Δ t v(t+\Delta t)=v(t) + \frac{F}{m}*\Delta t v(t+Δt)=v(t)+mFΔt ( 7 ) (7) (7)

在计算机中,通过迭代 ( 5 ) (5) (5)式和 ( 7 ) (7) (7)式就能简单地模拟出分子的运动。
我们可以用C++代码接口简单地模拟出分子运动`:

void Move::Euler_integration(particle* s, const int& N, const double& dt)
{
	for (int i = 0; i < N; ++i) {
		vecScaleAdd(s[i].x, s[i].x, dt, s[i].v);
		vecScaleAdd(s[i].v, s[i].v, dt, s[i].f);
	}
}`
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值