MC_Ising 这是一个用于模拟正则系综下二维伊辛模型的蒙特卡洛方法的Python程序。 考虑一个100*100的二维方格点,体系具有周期性边界条件,每个格点i上有一个小磁矩 $S_i$ ,体系的能量表示为 $E=-J\sum_{<i,j>}S_iS_j$,这里 $J>0$, $<i,j>$ 表示只有近邻格点的磁矩之间才有相互作用。假设我们在正则系综条件下研究此模型体系,即体系的微观状态的分布满足正则分布,温度 $T$可采用无量纲化的约化温度来表示,即 $\frac{k_BT}{J}$。请实现MC算法来模拟体系在不同温度下的平均磁矩<S>(T),平均能量<E>(T),热容 $C_v(T)$。温度范围可取为 $[0.2/{k_B}, 6.0/{k_B}]$,温度间隔可取为 $0.2/{k_B}$。每一次MC模拟的总步数可根据统计物理量的收敛情况自行决定,这里步数为 $10^7$ MC步。 得到的结果如下: 三张图片都可以看到一个清晰的相变温度点:约化温度 $k_BT/J\approx 2.3$ ,在三张图中,约化温度在2.2-2.4之间的时候都呈现出了巨大的变化: 热容在2.0-2.6之间出现了一个巨大的峰 平均磁矩一开始趋于1,有序排列,在2.2-2.4出现了巨大的下跌,之后磁矩趋于零,变为无序排列 平均能量在2.2-2.4之间的上升速度最快 因此,可以看到相变的约化温度约为2.3。