Ewald求和在分子静电势能计算中的应用

技术背景

分子动力学模拟中,计算周期性边界条件的静电势常被视作计算的瓶颈之一。形式上是比较容易的,例如不考虑周期性边界条件的话,静电势能就是:

E=14πϵ0N2i=0N1j=i+1qiqjrij E = 1 4 π ϵ 0 ∑ i = 0 N − 2 ∑ j = i + 1 N − 1 q i q j r i j

如果考虑周期性边界条件,那么静电势能变为:

E=14πϵ0nN2i=0N1j=i+1qiqjrij+nL+14πϵ0|n|>0q2i|nL|,n=(n1,n2,...,nd)Z E = 1 4 π ϵ 0 ∑ n ∑ i = 0 N − 2 ∑ j = i + 1 N − 1 q i q j | r i j + n L | + 1 4 π ϵ 0 ∑ | n | > 0 q i 2 | n L | , n = ( n 1 , n 2 , . . . , n d ) ∈ Z

且不说对无穷个盒子的叠加,就算是单个的盒子,也是O(N2) O ( N 2 ) 的计算复杂度,这也是求解困难的原因。在分子动力学中,为了简化这个计算量,使用了三种思想:傅里叶变换、Ewald Summation以及Particle Mesh的方法,本文主要涉及傅里叶变换与Ewald求和计算的部分。

周期性电势

首先我们从物理概念上理解静电势能项的含义:单一的电荷qi q i 会在空间中形成一个电势Vi V i ,当另一个电荷qj q j 位于Vi V i 对应的电场中时,就会受到静电相互作用,其能量为Eij E i j 。因为无穷远处的静电势能为0,这也就以为着,如果我们需要将qj q j 从原始的位置推到无穷远之外,就需要Eij E i j 的能量。这个思路告诉我们,可以先计算电势Vi V i ,再计算电势能Eij E i j ,也就是这个东西:

Vi(r)=14πϵ0qi|rri| V i ( r ) = 1 4 π ϵ 0 q i | r − r i |

如果考虑上周期性边界条件就是:

Vi(r)=14πϵ0nqi|rri+nL| V i ( r ) = 1 4 π ϵ 0 ∑ n q i | r − r i + n L |

因为这个无穷多的求和没办法直接计算,只能明确电势具有周期性:Vi(r)=Vi(r+nL) V i ( r ) = V i ( r + n L )

静电场泊松方程

空间中的电荷i i r处的电势,由泊松方程给出:

ΔVi(r)=ρi(r)ϵ0 Δ V i ( r ) = − ρ i ( r ) ϵ 0

其中Δ Δ 是拉普拉斯算子,ρi ρ i 表示电荷密度。如果考虑一个点电荷的的情况,那么就有:ρi(r)=qiδ(rri) ρ i ( r ) = q i δ ( r − r i ) 。进而写出欧几里得空间中的泊松方程:

2Vi(r)=qiδ(rri)ϵ0 ∇ 2 V i ( r ) = − q i δ ( r − r i ) ϵ 0

其中2Vi(r)=2Vi(r)x2+2Vi(r)y2+2Vi(r)z2 ∇ 2 V i ( r ) = ∂ 2 V i ( r ) ∂ x 2 + ∂ 2 V i ( r ) ∂ y 2 + ∂ 2 V i ( r ) ∂ z 2 。再考虑周期性边界条件,每个盒子中都有一个点电荷qi q i ,于是方程应该写为:

2Vi(r)=nqiδ(rri+nL)ϵ0 ∇ 2 V i ( r ) = − ∑ n q i δ ( r − r i + n L ) ϵ 0

傅里叶空间泊松方程

对上述单点形式的泊松方程的两边同时进行傅里叶变换(关于傅里叶变换的理解,可以参考前序文章1前序文章2,有比较详细的原理介绍和相关代码实现)有:

(2Vi(r)x2+2Vi(r)y2+2Vi(r)z2)e2πjkrdr=qiϵ0δ(rri)e2πjkrdr ∫ ( ∂ 2 V i ( r ) ∂ x 2 + ∂ 2 V i ( r ) ∂ y 2 + ∂ 2 V i ( r ) ∂ z 2 ) e − 2 π j k r d r = − q i ϵ 0 ∫ δ ( r − r i ) e − 2 π j k ⋅ r d r

先使用分部积分计算左边中的一项:

2Vi(r)x2e2πjkrdr=Vi(r)xe2πjkr+2πjkxVi(r)xe2πjkrdr ∫ ∂ 2 V i ( r ) ∂ x 2 e − 2 π j k ⋅ r d r = ∂ V i ( r ) ∂ x e − 2 π j k ⋅ r | − ∞ ∞ + 2 π j k x ∫ ∂ V i ( r ) ∂ x e − 2 π j k ⋅ r d r

需要注意的是,这里Vi(r)x=Fi(r) ∂ V i ( r ) ∂ x = F i ( r ) 的物理意义是作用力,那么我们就可以取第一类边界条件:

limxVi(x)=0 lim x → ∞ V i ( x ) = 0

这样根据微分的定义有:

limxVi(x)x=limxlimϵ0Vi(x+ϵ)Vi(x)ϵ=0 lim x → ∞ ∂ V i ( x ) ∂ x = lim x → ∞ lim ϵ → 0 V i ( x + ϵ ) − V i ( x ) ϵ = 0

上面这个极限代入了Vi(r) V i ( r ) 的单点形式,其意义为,位于ri r i 处的点电荷qi q i ,在无穷远处生成的电场为0,对无穷远处的电荷q q ∞ 的作用力也是0,这里不考虑周期性边界条件。则有:

2Vi(r)x2e2πjkrdr=2πjkxVi(r)xe2πjkrdr=2πjkx[Vi(r)e2πjkrx=x=+2πjkxVi(r)e2πjkrdr]=4π2k2xVi(k) ∫ ∂ 2 V i ( r ) ∂ x 2 e − 2 π j k ⋅ r d r = 2 π j k x ∫ ∂ V i ( r ) ∂ x e − 2 π j k ⋅ r d r = 2 π j k x [ V i ( r ) e − 2 π j k ⋅ r | x = − ∞ x = ∞ + 2 π j k x ∫ V i ( r ) e − 2 π j k ⋅ r d r ] = − 4 π 2 k x 2 V i ( k )

同理可得泊松方程左侧形式为:

2Vi(r)e2πjkrdr=4π2k2Vi(k) ∫ ∇ 2 V i ( r ) e − 2 π j k ⋅ r d r = − 4 π 2 k 2 V i ( k )

而右侧形式需要用到狄拉克函数的抽样特性:

δ(t)f(t)dt=δ(t)f(0)dt=f(0)δ(t)dt=f(0) ∫ − ∞ ∞ δ ( t ) f ( t ) d t = ∫ − ∞ ∞ δ ( t ) f ( 0 ) d t = f ( 0 ) ∫ − ∞ ∞ δ ( t ) d t = f ( 0 )

即:

δ(rri)e2πjkrdr=e2πjkri ∫ δ ( r − r i ) e − 2 π j k ⋅ r d r = e − 2 π j k ⋅ r i

得到傅里叶空间的单点泊松方程:

4π2k2Vi(k)=qiϵ0e2πjkri 4 π 2 k 2 V i ( k ) = q i ϵ 0 e − 2 π j k ⋅ r i

倒易空间

涉及到傅里叶空间,我们很自然的想到使用固体物理学的倒易空间变换,也就是把周期性盒子当作一个原胞。根据倒易空间(也叫k k 空间)晶格矢(倒格矢)定义有:

k=m1k1+m2k2+m3k3 k = m 1 k 1 + m 2 k 2 + m 3 k 3

其中:

kiLj=δi,jδi,j={1,i=j0,ij k i ⋅ L j = δ i , j δ i , j = { 1 , i = j 0 , i ≠ j

按照我们常用的长方体周期性边界条件:

L=(Lx,Ly,Lz)=L1+L2+L3L1=(Lx,0,0)L2=(0,Ly,0)L3=(0,0,Lz) L = ( L x , L y , L z ) = L 1 + L 2 + L 3 L 1 = ( L x , 0 , 0 ) L 2 = ( 0 , L y , 0 ) L 3 = ( 0 , 0 , L z )

可以计算得:

k1=2π(L2×L3)L1(L2×L3)=2πΩ(L2×L3)=πLyLzΩLxL1=2πL2xL1 k 1 = 2 π ( L 2 × L 3 ) L 1 ⋅ ( L 2 × L 3 ) = 2 π Ω ( L 2 × L 3 ) = π L y L z Ω L x L 1 = 2 π L x 2 L 1

其中Ω Ω 表示周期性盒子的体积,类似的有:

k2=2π(L3×L1)L2(L3×L1)=2πL2yL2 k 2 = 2 π ( L 3 × L 1 ) L 2 ⋅ ( L 3 × L 1 ) = 2 π L y 2 L 2

以及

k3=2π(L1×L2)L3(L1×L2)=2πL2zL3 k 3 = 2 π ( L 1 × L 2 ) L 3 ⋅ ( L 1 × L 2 ) = 2 π L z 2 L 3

经过倒易空间变换之后,原胞体积从Ω=LxLyLz Ω = L x L y L z 变成:Ω=(2π)3LxLyLz Ω ∗ = ( 2 π ) 3 L x L y L z 。因为在前一步傅里叶空间的泊松方程中我们注意到k k 前面总是带了一个2π 2 π ,这里不妨使用倒易晶格矢的定义对k k 的形式做一个简化:

k=(2πLx,2πLy,2πLz) k = ( 2 π L x , 2 π L y , 2 π L z )

这样一来傅里叶空间的泊松方程可以简写为:

Vi(k)=qiϵ0k2ejkri V i ( k ) = q i ϵ 0 k 2 e − j k ⋅ r i

其中k2=|k|2=4π2m21L2x+4π2m22L2y+4π2m23L2z k 2 = | k | 2 = 4 π 2 m 1 2 L x 2 + 4 π 2 m 2 2 L y 2 + 4 π 2 m 3 2 L z 2 ,可以实现实空间到倒易空间的变换。

衰减函数构造

对于上述傅里叶变换之后的单点电势的形式,即使我们对整个k k 空间进行积分,也是一个发散的结果。所以这里用到了一个非常特别的思想,由Edwald提出,把静电能量项分为远程相互作用项和短程相互作用项,分别在倒易空间和实空间收敛,这样就可以精确计算静电能。实际操作的时候有不同的推导过程,我们这里引用一种比较“数学”的推导方法(参考链接1)。

首先我们构造一个衰减函数ek2t e − k 2 t ,这个衰减函数有个特性是:

0ek2tdt=(1k2ek2t)0=1k2 ∫ 0 ∞ e − k 2 t d t = ( − 1 k 2 e − k 2 t ) | 0 ∞ = 1 k 2

这样我们就可以用这个积分形式替换掉傅里叶-泊松方程中的1k2 1 k 2 项:

Vi(k)=qiϵ0ejkri0ek2tdt V i ( k ) = q i ϵ 0 e − j k ⋅ r i ∫ 0 ∞ e − k 2 t d t

因为这里使用的是从0到无穷大的一个积分形式,那么我们就可以实现一个截断,将其划分成两个积分的加和,假如我们在η η 处做一个截断,则有:

Vi(k)=qiϵ0ejkri(η0ek2tdt+ηek2tdt) V i ( k ) = q i ϵ 0 e − j k ⋅ r i ( ∫ 0 η e − k 2 t d t + ∫ η ∞ e − k 2 t d t )

这里取短程(Short Term)相互作用为:

VSi(k)=qiϵ0ejkriη0ek2tdt V i S ( k ) = q i ϵ 0 e − j k ⋅ r i ∫ 0 η e − k 2 t d t

以及长程(Long Term)相互作用为:

VLi(k)=qiϵ0ejkriηek2tdt=qiϵ0k2ejkrieηk2 V i L ( k ) = q i ϵ 0 e − j k ⋅ r i ∫ η ∞ e − k 2 t d t = q i ϵ 0 k 2 e − j k ⋅ r i e − η k 2

短程作用项计算

按照预期,划分了短程作用项和长程作用项之后,应该可以得到一个实空间收敛的短程相互作用,我们对短程作用做一个逆傅里叶变换:

VSi(r)=1kxkykzkVSi(k)eikr=qikxkykzϵ0kejk(rri)η0ek2tdt=qikxkykzϵ0η0kejk(rri)ek2tdt V i S ( r ) = 1 k x k y k z ∑ k V i S ( k ) e i k ⋅ r = q i k x k y k z ϵ 0 ∑ k e j k ⋅ ( r − r i ) ∫ 0 η e − k 2 t d t = q i k x k y k z ϵ 0 ∫ 0 η ∑ k e j k ⋅ ( r − r i ) e − k 2 t d t

很明显,积分内的求和项是一个指数平方函数的离散傅里叶变换。而我们可以知道,正态分布函数f(ξ)=12πσeξ22σ2 f ( ξ ) = 1 2 π σ e − ξ 2 2 σ 2 的傅里叶变换和逆傅里叶变换不改变其分布形式:

F(k)=f(ξ)ejkξdξ=12πσeξ22jkξσ22σ2dξ=12πσeξ22jkξσ2(jkσ2)2+(jkσ2)22σ2dξ=12πσe(jkσ2)22σ2e(ξ+jkσ2)22σ2dξ F ( k ) = ∫ f ( ξ ) e − j k ξ d ξ = 1 2 π σ ∫ e − ξ 2 − 2 j k ξ σ 2 2 σ 2 d ξ = 1 2 π σ ∫ e − ξ 2 − 2 j k ξ σ 2 − ( j k σ 2 ) 2 + ( j k σ 2 ) 2 2 σ 2 d ξ = 1 2 π σ e ( j k σ 2 ) 2 2 σ 2 ∫ e − ( ξ + j k σ 2 ) 2 2 σ 2 d ξ

由于积分项只是一个实空间的积分,其本质还是一个正态分布函数的积分,我们知道其积分结果是一个常数,所以有:

F(k)=ek2σ22 F ( k ) = e − k 2 σ 2 2

也是一个正态分布,只是其均方差从σ σ 变成了1σ 1 σ ,也就是其积分结果为:

F(k)dk=2πσ ∫ F ( k ) d k = 2 π σ

同样的道理我们也可以计算得,正态分布函数得逆傅里叶变换结果也依然是一个正态分布函数,其均方差也是1σ 1 σ
那么回到短程静电势,先做个变量替换t=σ22,σ0 t = σ 2 2 , σ ≥ 0 ,则有dt=σdσ,σt=η=2η,σt=0=0 d t = σ d σ , σ t = η = 2 η , σ t = 0 = 0 。此时短程相互作用势为:

VSi(r)=qikxkykzϵ02η0(kejk(rri)ek2σ22)σdσ=qiϵ02η0e(rri)22σ2Ncoeσdσ V i S ( r ) = q i k x k y k z ϵ 0 ∫ 0 2 η ( ∑ k e j k ⋅ ( r − r i ) e − k 2 σ 2 2 ) σ d σ = q i ϵ 0 ∫ 0 2 η e − ( r − r i ) 2 2 σ 2 N c o e σ d σ

这里Ncoe N c o e 是一个用于归一化正态分布的常数:

Ncoe=rerri2σ2dr=e(zzi)22σ2[e(yyi)22σ2(e(xxi)22σ2dx)dy]dz=(2πσ2)32 N c o e = ∫ r e − | r − r i | 2 σ 2 d r = ∫ − ∞ ∞ e − ( z − z i ) 2 2 σ 2 [ ∫ − ∞ ∞ e − ( y − y i ) 2 2 σ 2 ( ∫ − ∞ ∞ e − ( x − x i ) 2 2 σ 2 d x ) d y ] d z = ( 2 π σ 2 ) 3 2

所以有:

VSi(r)=qiϵ02η0e(rri)22σ2(2πσ2)32σdσ=qi(2π)32ϵ02η0e(rri)22σ2σ2dσ V i S ( r ) = q i ϵ 0 ∫ 0 2 η e − ( r − r i ) 2 2 σ 2 ( 2 π σ 2 ) 3 2 σ d σ = q i ( 2 π ) 3 2 ϵ 0 ∫ 0 2 η e − ( r − r i ) 2 2 σ 2 σ 2 d σ

这里用一个变量替换:y=|rri|2σ y = − | r − r i | 2 σ ,则有:σ=|rri|2y σ = − | r − r i | 2 y ,其微分变换形式为:dσ=|rri|2y2dy d σ = | r − r i | 2 y 2 d y ,其边界为:yσ=2η=|rri|2η,yσ=0= y σ = 2 η = − | r − r i | 2 η , y σ = 0 = − ∞ ,代入得:

VSi(r)=qi(2π)32ϵ0|rri|2η2ey2|rri|dy=qi2π32ϵ0|rri||rri|2ηey2dy=qi2π32ϵ0|rri|+|rri|2ηey2dy V i S ( r ) = q i ( 2 π ) 3 2 ϵ 0 ∫ − ∞ − | r − r i | 2 η 2 e − y 2 | r − r i | d y = q i 2 π 3 2 ϵ 0 | r − r i | ∫ − ∞ − | r − r i | 2 η e − y 2 d y = q i 2 π 3 2 ϵ 0 | r − r i | ∫ | r − r i | 2 η + ∞ e − y 2 d y

此时使用一个误差函数Erfc(y)=2πyex2dx E r f c ( y ) = 2 π ∫ y ∞ e − x 2 d x 代入进行替换:

VSi(r)=qi4πϵ0|rri|Erfc(|rri|2η) V i S ( r ) = q i 4 π ϵ 0 | r − r i | E r f c ( | r − r i | 2 η )

因为η η 是我们手动引入的一个常数参量,如果考虑η=σ22 η = σ 2 2 ,那么形式就变成了:

VSi(r)=qi4πϵ0|rri|Erfc(|rri|2σ) V i S ( r ) = q i 4 π ϵ 0 | r − r i | E r f c ( | r − r i | 2 σ )

这个形式的短程相互作用势,表示的是单个盒子内的单个带电粒子qi q i r r 处的电势,如果考虑周期性边界条件,则形式需要变为:

VSi(r)=nqi4πϵ0|rri+nL|Erfc(|rri+nL|2σ) V i S ( r ) = ∑ n q i 4 π ϵ 0 | r − r i + n L | E r f c ( | r − r i + n L | 2 σ )

这个形式的相互作用势相比于原始形式Vi(r)=14πϵ0nqi|rri+nL| V i ( r ) = 1 4 π ϵ 0 ∑ n q i | r − r i + n L | 而言,使用了一个误差函数对实空间做了一个截断:

VSi(r)nqi4πϵ0|rri+nL|Erfc(|rri+nL|2σ),1Erfc(|rri+nL|2σ)<ϵ V i S ( r ) ≈ ∑ n ′ q i 4 π ϵ 0 | r − r i + n ′ L | E r f c ( | r − r i + n ′ L | 2 σ ) , 1 − E r f c ( | r − r i + n ′ L | 2 σ ) < ϵ

从而只需要计算有限n n ′ 的周期性盒子即可。因为这里截断的是距离dn=|rri+nL| d n = | r − r i + n L | ,可以用达朗贝尔判别法证明短程相互作用势在实空间的收敛性(按一般性取法先令一个δ>0 δ > 0 ):limlnErfc(ln+δ2σ)ln(ln+δ)Erfc(ln2σ)=limlnErfc(ln+δ2σ)Erfc(ln2σ)=eδ22σ2limlnelnδσ2=eδ22σ2<1 lim l n → ∞ E r f c ( l n + δ 2 σ ) l n ( l n + δ ) E r f c ( l n 2 σ ) = lim l n → ∞ E r f c ( l n + δ 2 σ ) E r f c ( l n 2 σ ) = e − δ 2 2 σ 2 lim l n → ∞ e − l n δ σ 2 = e − δ 2 2 σ 2 < 1 。即:电势的短程相互作用在实空间收敛。得到短程相互作用电势的形式之后,可以进一步计算短程相互作用的电势能:

ES=nN2i=0N1j=i+1qiqj4πϵ0|rjri+nL|Erfc(|rjri+nL|2σ)+|n|>0q2i4πϵ0|nL|Erfc(|nL|2σ) E S = ∑ n ∑ i = 0 N − 2 ∑ j = i + 1 N − 1 q i q j 4 π ϵ 0 | r j − r i + n L | E r f c ( | r j − r i + n L | 2 σ ) + ∑ | n | > 0 q i 2 4 π ϵ 0 | n L | E r f c ( | n L | 2 σ )

长程作用项计算

前面得到长程相互作用电势形式为:

VLi(k)=qiϵ0|k|2ejkrieη|k|2 V i L ( k ) = q i ϵ 0 | k | 2 e − j k r i e − η | k | 2

同样使用短程作用项中的取值η=σ22 η = σ 2 2 。做一个逆傅里叶变换变回实空间:

VLi(r)=qikxkykzϵ0|k|>0ejkrieσ2|k|22|k|2ejkr V i L ( r ) = q i k x k y k z ϵ 0 ∑ | k | > 0 e − j k r i e − σ 2 | k | 2 2 | k | 2 e j k ⋅ r

类似的可以根据达朗贝尔判别方法证明该式收敛。并且参考前面倒易空间中的k k 的定义有:

ejknL=e2j|n|π=1 e j k ⋅ n L = e 2 j | n | π = 1

也就是长程相互作用项可以略去周期性盒子的求和项,因此长程相互作用电势能的形式为:

EL=12kxkykzϵ0|k|>0eσ2k22k2N1i=0qiejkriN1l=0qlejkrl E L = 1 2 k x k y k z ϵ 0 ∑ | k | > 0 e − σ 2 k 2 2 k 2 ∑ i = 0 N − 1 q i e − j k r i ∑ l = 0 N − 1 q l e j k ⋅ r l

后面这两个求和的内容形式是两个平面波函数的内积,其物理意义为把实空间的一个固定电荷按照概率幅分配到不同的倒易空间的格点上,可以定义一个倒易空间的电荷分布函数:

S(k)=N1i=0qiejkri S ( k ) = ∑ i = 0 N − 1 q i e j k ⋅ r i

则可以进一步简化长程相互作用势能的写法:

EL=12kxkykzϵ0|k|>0eσ2k22k2|S(k)|2 E L = 1 2 k x k y k z ϵ 0 ∑ | k | > 0 e − σ 2 k 2 2 k 2 | S ( k ) | 2

需要注意的一点是,虽然这里的长程相互作用势能是收敛的,但是其中包含了点电荷i i ri处产生的电势能(需要去除)。而此前计算短程相互作用时可以得到的误差函数形式的长程相互作用形式:

VLi(r)=nqi4πϵ0|rrinL|VSi(r)=nqi4πϵ0|rrinL|Erf(|rrinL|2σ) V i L ( r ) = ∑ n q i 4 π ϵ 0 | r − r i − n L | − V i S ( r ) = ∑ n q i 4 π ϵ 0 | r − r i − n L | E r f ( | r − r i − n L | 2 σ )

虽然不收敛,但是如果在这里取一个r=ri,nL=0 r = r i , n L = 0 ,也就是前面提到的电荷自我相互作用,则长程相互作用形式变为:

VLi(ri)=qi4πϵ02π1σ V i L ( r i ) = q i 4 π ϵ 0 2 π 1 σ

则可以得到在倒易空间的长程相互作用项中需要扣除的自我相互作用项为:

Eself=12N1i=0qiVLi(ri)=14πϵ012πσN1i=0q2i E s e l f = 1 2 ∑ i = 0 N − 1 q i V i L ( r i ) = 1 4 π ϵ 0 1 2 π σ ∑ i = 0 N − 1 q i 2

总电势能

经过前面的计算,我们已经分别得到了实空间收敛的短程相互作用项、倒易空间收敛的长程相互作用项以及长程相互作用项中需要扣除的一个自我相互作用项,那么可以汇总电势能为:

E=ES+ELEself=nN2i=0N1j=i+1qiqj4πϵ0|rjri+nL|Erfc(|rjri+nL|2σ)+|n|>0q2i4πϵ0|nL|Erfc(|nL|2σ)+12kxkykzϵ0|k|>0eσ2k22k2|S(k)|214πϵ012πσN1i=0q2i E = E S + E L − E s e l f = ∑ n ∑ i = 0 N − 2 ∑ j = i + 1 N − 1 q i q j 4 π ϵ 0 | r j − r i + n L | E r f c ( | r j − r i + n L | 2 σ ) + ∑ | n | > 0 q i 2 4 π ϵ 0 | n L | E r f c ( | n L | 2 σ ) + 1 2 k x k y k z ϵ 0 ∑ | k | > 0 e − σ 2 k 2 2 k 2 | S ( k ) | 2 − 1 4 π ϵ 0 1 2 π σ ∑ i = 0 N − 1 q i 2

总结概要

本文介绍了Ewald求和计算方法在周期性边界条件下计算静电势能的方法。周期性的静电势函数并不是一个空间收敛的函数,通过Ewald求和可以将静电势切分为短程相互作用和长程相互作用,两项分别在实空间和倒易空间(或称傅里叶空间、k空间等)收敛。然后就可以进一步进行截断,用更少的代价获得更高精度的电势能计算结果。

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/ewald.html

作者ID:DechinPhy

更多原著文章:https://www.cnblogs.com/dechinphy/

请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

参考链接

  1. http://micro.stanford.edu/mediawiki/images/4/46/Ewald_notes.pdf
原创作者: dechinphy 转载于: https://www.cnblogs.com/dechinphy/p/18434945/ewald
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值