跳轉到內容

分子模擬/蒙特卡洛方法

來自華夏公益教科書,開放世界的開放書籍

蒙特卡洛方法是一種隨機技術,使用隨機數對構象空間進行取樣。在這種方法中,首先生成一個隨機構象,然後確定是否拒絕或接受它。

98 K 下液態氬的 Metropolis 蒙特卡洛模擬

蒙特卡洛模擬從給定的構象開始,然後隨機數將生成一個新的試驗構象。這個試驗構象將被確定是否被接受或拒絕。如果被接受,則此構象將成為當前構象,並且下一輪迭代將從此構象開始。


蒙特卡洛積分

[編輯 | 編輯原始碼]
使用蒙特卡洛方法評估。隨機樣本將以的機率被接受。

計算定積分是使用蒙特卡洛方法的一個簡單的說明性例子。考慮簡單函式及其從 0 到 1 的定積分

在這種情況下,構象空間是二維的,將生成隨機的 x 和 y 值以構成新的試驗構象。只有低於圖形的試驗點(x 和 y 值的一對)才能被接受。接受的構象數除以樣本總數表示樣本被接受的機率。將此機率乘以取樣空間的體積()是積分正確值的近似值。


大量樣本將導致更接近期望值的值。


此方法通常用於更高維度的積分。

Metropolis 蒙特卡洛模擬

[編輯 | 編輯原始碼]
Metropolis 蒙特卡洛演算法的示意圖。降低系統勢能的移動()總是被接受。增加勢能的移動()以玻爾茲曼分佈確定的機率被接受。

在分子模擬中,Metropolis 蒙特卡洛演算法通常用於接受或拒絕試驗構象。如果試驗構象的能量低於或等於當前能量,則它將始終被接受。如果試驗構象的能量高於當前能量,則它將以玻爾茲曼分佈確定的機率被接受。


在較高溫度下,高能量增加更有可能被接受。相反,在較低溫度下,拒絕狀態的機率更大。

這意味著,如果,一個隨機數 () 將決定是否接受或拒絕此構象。

Metropolis 演算法滿足微觀可逆性,這意味著處於一個狀態並轉移到下一個狀態的機率與處於新狀態並返回到先前狀態的機率相同。

構型積分需要對所有空間變數上的玻爾茲曼分佈進行積分。為了採用蒙特卡羅積分來估計構型積分 (Z),需要隨機生成大量的構型,並且僅在這些點上評估玻爾茲曼權重。有了足夠的樣本,就可以近似構型積分。

但是直接的蒙特卡羅取樣效率極低,因為必須取樣大量的狀態。此外,取樣高能量狀態和低能量狀態的機率是相等的,但根據玻爾茲曼分佈,系統更有可能處於低能量狀態。

Metropolis 演算法改變了接受機率,以便系統優先採樣低能量狀態。

蒙特卡羅模擬的侷限性

[編輯 | 編輯原始碼]

使用蒙特卡羅模擬,只能取樣狀態的平衡分佈。移動是隨機且非物理的,因此軌跡僅對應於蒙特卡羅移動的序列,並且沒有時間資訊,因此無法從蒙特卡羅軌跡計算擴散係數等動力學性質。

平衡化

[編輯 | 編輯原始碼]

Metropolis 蒙特卡羅迴圈有利於向更低能量的過渡並達到更可能的結構。多次迭代 Metropolis 蒙特卡羅將使系統進入平衡狀態。可以繪製多個屬性圖以確定何時平衡完成。

向平衡的移動可以看作是緩慢的漂移,直到漂移停止並且屬性圍繞平均值波動時,平衡才完成。

平衡性質

[編輯 | 編輯原始碼]

在平衡狀態下,系統沒有經歷系統性變化。物質的物理性質沒有大規模梯度。如果對系統進行小的擾動,系統將返回到其平衡狀態。在平衡狀態下,系統中沒有動量梯度、濃度梯度和溫度梯度。

另請參閱

[編輯 | 編輯原始碼]
華夏公益教科書