3. 研究方法
3.7. 加速計算方法
一個截斷半徑 (Truncated potential),當距離大過該半徑時便可將忽 略。換句話說,只要使用該方法,在超出範圍外的粒子可以不必計算,
如此一來我們將可節省大量的運算資源。
( )
重要的是可以配合 Neighbor List 及 Cell-Linking 法,更加的提升運 算效率。然而,使用截斷半徑將引發其他的問題及限制條件,分為以 下三點說明:1. 作用力平移 (shifted-force potential):當截斷勢能後,方程式將出 現不連續點。根據漢米頓力學,分子間作用力為勢能方程式微分
圖 3-2 勢能 LENNARD-JONES 12-6 SHIFTED POTENTIAL 示意圖
2. Long-range correction: 雖然在截斷半徑之外的勢能很小,但是若 使用週期邊界描述巨觀性質,則截斷半徑之外應該有非常龐大的 粒子數被忽略,僅管半徑之外勢能很小,但是若粒子數非常多時 將會造成很大的誤差。Long-range 修正便針對這點提供合理的修 正。
( ) ( )
∫
∞=
rC
C U r g r r dr
N
U 2
2πρ ( 3.28 ) 其中ρ為密度,g( )r 為徑向分佈函數。
3.7.3. 鄰近列表法
分子動力學的計算量非常的龐大,僅管已經使用了截斷勢能法,
運 算 量 隨 著 粒 子 數 目 的 半 方 成 正 比 關 係 , 因 此 提 出 鄰 近 列 表 法 (Neighbor-list method) 加速計算。
鄰近列表法的基本觀念,在系統中的任一分子,其周圍的分子於 短時間內變動並不會太大,意即於此段時間內,此分子僅需和周圍鄰 近固定的分子計算作用力,可以不用對整個系統的分子作計算;當此 方法使用在越大的系統時,加速的效果更為顯著。
圖 3-3 鄰近列表法示意圖
鄰近列表法的使用方法,先將分子 i 列表半徑(List Distance ,r1) 內的分子都列入清單中,在接下來的時間間隔中,分子 i 只需對清單 內的分子作距離計算,持續到下一次的更新列表,而鄰近列表清單只 需要數個或數十個時間間隔後再予與更新。
其中列表半徑和清單列表的頻率是相互影響的,選擇的決定依據 在於,位於列表半徑外的分子能否在下次清單更新前,進入影響分子 的截斷距離內,一般而言,當分子的移動速度越快,相對的列表更新 頻率增高或者是列表半徑要增加。
3.7.4. Cell-linking method
此方法使運算量僅與分子數目成一次方關係,大量減少運算量,
並且可與鄰近列表法做結合,更有效率的節省計算時所花費的時間。
此方法的概念是先將模擬的系統切割成若干等大小的方格(Cell)。
判斷出系統中每個分子所處的方格,當欲計算系統某一個分子受 力情形時,只需找尋在分子所屬方格周圍附近,未超過參考距離的數 個方格內的分子來判斷即可,不需要對整個系統的分子個別做搜尋判 斷,而考慮使用的距離應為截斷距離,但絕大部分此方法都會和鄰近 列表法同時使用,則參考距離就採用列表半徑。
圖 3-4 CELL-LINKING 法示意圖
3.7.5. 列表勢能法 (tabulated potential method)
本研究中水與高分子溶液的結構特性研究當中必需使用 Ewald sum 計算庫侖力;高分子溶液噴流研究中使用到 Morse 及 Lennard-Jones exp-6 勢能,皆很容易遇到三角函數、exponentiation 及 error function 等函數,若每次都要對這些函數進行計算勢必會大大的耗費許多時 間。若將這類函式或勢能和力直接列表,模擬時以查表方式讀取數 值,則可以省去很多的計算時間。因此本研究中把 erfc、exp 及三角 函數皆列表運算,並分割為數萬等分,來節省模擬的時間。