Ising模型的Metropolis模拟中的组态阻塞和振荡

Ising模型哈密顿量为

[hat{H} = - J sum_{i,j相邻} s_i s_j - B sum_i s_i ]

若取 (J=1, B=0),做 4 x 4 一共 16 个 spin 的 Ising 模型模拟,可以得到很平缓的相变曲线,如下图
image
曲线最左侧有些点低于低于1.0,增大 Markov 链的根数,增大链的长度,都没有改善这一点。所以仔细输出中间结果仔细观察了一下,发现温度特别低的时候存在一些有趣的(不好的)情况。

1. 组态阻塞

做统计模拟的人大概喜欢叫做微观状态,我习惯了组态这个词,就这么用了。如果 Markov 链产生如下组态

----
++++
++++
----

那么,翻转任何一个spin,都会导致体系能量上升。所以这实际上是一个模型的亚稳态,在温度较低的时候,e.g. kT=0.1,接受概率是 (e^{-2/0.1} = 2e-9),所以翻不过去,形成阻塞。这样的组态比基态能量高很多,按照Metropolis模拟的思想,这样的组态出现概率理应极低。但是,因为低温下的阻塞,这样的组态以过大的比例出现在最终统计中,Metropolis模拟的精神得不到体现。

2. 组态振荡

最低能组态 E = -32,下面这些 E = -8 的组态在低能下会不断循环。
组态1:

-++-
++++
++-+
----

组态2:

++-+
++-+
+---
++-+

组态3:

++++
+-++
---+
+-++

组态4:

+-++
----
+-++
++++

组态5:

-++-
--++
-+++
-++-

组态6:

----
-++-
+++-
++--

3. 总结

总而言之,4 x 4 的格子做低温 kT/J = 0.1, ..., 0.5 的时候,会有阻塞和循环现象,导致结果中有些非物理的内容。
自然有如下问题:

  • 更大的格子上有没有类似的现象?我猜是有。
  • 一个重要的问题是,不同能量的组态数时怎么样的?或者说,态密度是怎么样的?这个问题的答案对于 Ising Model 的结果无疑是很重要的。
原文地址:https://www.cnblogs.com/luyi07/p/15519317.html