text: 韋爾萊表是分子模擬中常用的一種減少粒子間距離計算量的方法，由法國物理學家首先提出。思想.分子模擬中，為減少計算量，通常為體系中每一個粒子規定一個“截斷半徑”，對於一個粒子，只有當某個其他粒子與其距離處於截斷半徑以內時才計算它們之間的相互作用。由於粒子間作用力通常都是短程力，這種近似廣泛用於蒙特卡洛方法和分子動力學模擬中。然而，當模擬的體系進一步增大時，計算每兩個粒子間的距離變得非常耗時，韋爾萊表應運而生。韋爾萊提出為每一個粒子建立一個列表，用來儲存在它截斷半徑之內的其他粒子的編號，這個列表就稱為韋爾萊表。為使韋爾萊表不必每個模擬步長都需要更新，韋爾萊表的構建引入“第二截斷半徑”'Rv'大於粒子的截斷半徑'Rc'。例如，對於蒙特卡洛方法，此值為formula_1，其中formula_2為韋爾萊表更新步長間隔，formula_3為一步中粒子的最大移動距離，以此保證所有應當計算的粒子都得到統計。更新韋爾萊表的時間複雜度為formula_4，對於蒙特卡洛方法經最佳化可達到formula_5。演算法.以下是以Fortran描述的構建韋爾萊表的演算法。subroutine new_listdo i = 1 , npart ! 初始化列表，npart為體系中粒子總數nlist(i) = 0xv(i) = x(i)end dodo i = 1 , npart - 1do j = i + 1 , npart ! 遍歷所有粒子對xr = x(i) - x(j) ! 計算兩粒子距離call period_condition(xr) ! 依週期性邊界條件校正粒子距離if(abs(xr) .lt. rv) then ! 找到符合條件的粒子對! 往韋爾萊表中新增資訊nlist(i) = nlist(i) + 1nlist(j) = nlist(j) + 1 ! MC模擬中每個粒子獨自考慮，故ij均保留完全的列表。而MD中可只保留粒子i的列表，粒子j的作用力由牛頓第三定律求算。list(i,nlist(i)) = jlist(j,nlist(j)) = iend ifend doend do不足與改進.韋爾萊表的formula_4複雜度使其在體系增大時耗時驟增，直至成為整個模擬中最耗時的步驟。在更大的體系時，通常採用“元胞列表”的方法，其複雜度為formula_7。這兩種方法的結合能進一步提高計算效率。
metadata.dataset: erhwenkuo/wikipedia-zhtw
metadata.title: 韋爾萊表
metadata.url: https://zh.wikipedia.org/wiki?curid=4488269