Metropolis 蒙特卡羅方法 動力學蒙特卡羅方法 分子動力學方法這三種模擬方法有何特點與差異?

時間 2021-05-05 20:19:22

1樓:

偶然發現這個問題以及諸位大神的回答,大致看了一遍之後發現諸位的回答雖然沒啥大問題,然而無論是MC還是MD,本質上都是一門技術而不是一種理論,只要是技術就必須勤加練習才能真正掌握,光說不練看再多書也沒用。而上面的大多數回答都太過理論,顯然對於剛入門的同學是很難看懂的。而且大部分回答也過於羅嗦,畢竟問題問的是三者的「特點」和「差異」,如果只是分別論述三者的特點,其實等於什麼都沒回答。

從技術的角度來講,想要真正理解這個問題,要只要明白MD(Molecular Dynamics分子動力學)和MC(Monte Carlo蒙特卡羅)的最大差別即可:MC只需要算勢能(Potential Energy),MD除了算勢能還需要算力。就是因為這一最大差異,導致MC和MD的應用範圍不同,特點也不同。

因為可以算力就可以算速度,所以MD的可以由當前的座標和速度計算出下一步的座標和速度,也就是說MD可以得到時間連續的軌跡。

因為沒有力也就沒有速度,所以MC只能靠隨機移動來決定下一步的位置,然後通過勢能的不同計算每一步的權重,或者根據前後兩步勢能差的大小來決定是否接受這一隨機移動的概率(Metropolis MC)。

從統計學上來講,兩種方法對體系的抽樣是等價的。然而MD相比MC可以得到時間連續的軌跡,所以MD可以計算的性質更多。而且MD是根據力按部就班地一步一步計算,即使是對於複雜的真實體系也很容易實現MD軟體的通用化。

相比而言,因為複雜體系的隨機移動是非常困難的(越複雜的體系在座標隨機移動之後就越容易出現重疊,這一點是隨機移動所不允許的),基本上不同的體系需要完全不同的隨機移動演算法,所以MC軟體非常難以實現通用化。

然而MD必須計算力這一點同樣也制約了MD在某些領域的應用,因為力的計算需要勢能對體系座標是連續可導的,然而並不是所有體系的都可以滿足這個條件。而MC則不需要計算力,而且因為MC的實現遠比MD簡單,雖然沒有通用的軟體,針對特定體系編寫乙個MC程式往往也不複雜。所以MC特別適合自建模型體系的模擬,因為模型體系的勢能有可能十分複雜,無法或者很難求導,而且模型體系的隨機移動演算法也更容易實現。

綜上所述,MC和MD最根本差別就是是否算力。需要算力的MD程式更加複雜,但是可以實現通用化,且可以得到時間連續的軌跡,所以適合於模擬複雜的真實體系。而不需要算力的MC程式則比較簡單,即使體系勢能無法求導仍然可以模擬,但是隨機移動的演算法難以實現通用性,導致MC程式也很難實現通用性,所以MC更適用於模型體系。

至於KMC(動力學蒙特卡羅)我本人並沒有真正用過,所以無法回答的太深。然而KMC本質上仍然是MC,使用MC計算不同「態」之間的勢壘從而間接獲得「動力學」,然而卻仍然無法得到時間連續的軌跡。

2樓:Dogerine

以上幾個回答基本上把這幾種模擬方法都解釋的差不多了,懂的自然懂,不懂的刷知乎也沒啥意義了,趕緊找幾本演算法或simulation的書看看吧~上面都有詳細的介紹。

我想補充的是kinetic monte carlo(KMC)的精確翻譯應該是運動學蒙特卡洛,因為如果是動力學dynamic 的話,意味著相鄰兩個步態一定是動量&能量守恆的。而kmc顯然無法做到這一點。所以發明這個演算法的人用的是kenetic 而非dynamic 。

我導師還提議過動理學蒙特卡洛這個名字,不過感覺有些中二~

3樓:

分子動力學就是牛頓運動方程的方法,取的時間步驟越短,越精確。

蒙特卡洛是另一種方法,先產生大量大量的樣本。

metropolis是一種從樣本中選擇結果的方法動力學蒙卡是另一種選擇結果的方法。(你說得動力學蒙卡是指基於格林函式的蒙卡嗎?)

取得樣本越大,越精確。

4樓:泥盆

本科畢設就是程式設計實現蒙特卡洛模擬稀薄流體。

分子動力學與蒙特卡洛模擬放大的區別就是100%與95%的差別。

後來又了解到飛行力學中的蒙特卡洛方法計算飛行器軌跡,不禁覺得概率的思想很重要,保證覆蓋性的同時大大降低了計算量,加快了計算時間。

ps知乎上各種高人太多了,這麼偏的問題都有人回答...

5樓:

想要測量尼羅河的平均深度,我們不必在整個地圖上隨機採點測量(左)。站在河裡面,沿著合理的路徑(河道)來取樣才是最高效的。

簡單粗暴的蒙卡方法對於生物蛋白質這樣的體系來說是非常致命的。簡單粗暴地隨機產生構象的話,很容易就破壞了蛋白質的二級結構,而你希望取樣到的正確的構象則往往無法恢復。這時候,如果考慮蛋白質本身的行為性質,循著它本身構象變化的路徑取樣,那樣才會得到比較正確的結果。

(這一段完全是我的推測,期待用蒙卡做過蛋白質模擬的人來細說。)

比較MD和MC,除了理論框架的確定論和概率論的差別以外,乙個重要的區別是,MD天然地產生乙個馬爾可夫鏈,而MC的馬爾可夫性是需要額外的方法來補充的。

分子動力學模擬的研究熱點?

Seven 我覺得各位都過於關注發文章這些名利 個人自學MD,重心放在理解分子間反應的原理上,所以我的自學也並不是從使用開始的,是從MD原理開始,所以學習MD的第一大塊內容就是分析力學的由來,把約束 虛功原理 拉格朗日方程 哈密頓正則方程從無到有的過程走了一邊,自學過程很耗時難度也很大,但這些可以大...

研究分子結構和動力學有什麼用?

程顯通 在我們領域內研究分子結構和動力學能幫科學家開發出新藥。在計算機輔助藥物設計領域,正好這兩個我們領域內都研究的比較多。通過研究動力學,我們能了解乙個小分子藥物是如何與乙個蛋白產生相互作用的。這也就意味著我們能根據這個進行設計藥物分子。 研究分子結構和分子動力學模擬的目的,就是要從物質的微觀性質...

分子動力學的時間尺度和空間尺度是多少?

理論上時間 空間的尺度是無限的,實際上取決於你的計算能力和計算資源,還有你的建模精度。建模精度越小,模型越粗糙,那麼你的時間尺度和空間尺度都越大。在計算能力和計算資源還有建模精度限定的情況下,空間尺度越大,則時間尺度越小 反過來時間尺度越小則空間尺度就可以越大。前年不是已經有乙個模擬了HIV病毒的模...