韋爾萊積分法

韋爾萊算法是一種用於求解牛頓運動方程的數值方法,被廣泛應用於分子動力學模擬以及視頻遊戲中。韋爾萊算法的優點在於:數值穩定性比簡單的歐拉方法高很多,並保持了物理系統中的時間可逆性與相空間體積元體積守恆的性質。

Carl Størmer首次應用韋爾萊算法求解磁場中運動粒子的軌跡,因此韋爾萊算法又被稱為Størmer算法。1967年法國物理學家Loup Verlet將其應用於分子動力學計算,從此韋爾萊算法流行起來。

基本韋爾萊算法

牛頓運動方程為

 

代入到粒子的坐標關於時間步的Taylor展式中

 

 

同理

 

兩式相加,得

 

 

新位置的計算誤差為四階,  為時間步。因為韋爾萊算法中不涉及速度,如果希望得到速度,須從軌線中推導速度表達式:

 

速度表示的韋爾萊算法

一般地,速度表示下的韋爾萊算法更為常用,它可以給出同一時間變量下的速度和位置。它實際上與基本的韋爾萊算法等價,精度相同。

首先對位置進行 Taylor 展開

 
 

對兩式相減可得

 

將最初的 Verlet 公式中的   換為  

 

代入前式,可得

 

此式即為速度表示的韋爾萊算法。實際常用的計算步驟為,

1.首先通過 Taylor 展開   計算得到位置  

2.由   和系統的相互作用勢條件(如果相互作用僅依賴位置  )可以求的力場  

3.由速度表示的韋爾萊公式求出新的速度  

參考文獻

  • Daan Frenkel. 第四章. "Understanding Molecular Simulation - From Algorithms to Applications" Academic Press. 2002.