Thermodynamics and Statistical Mechanics



开创目的

本篇blog开创的目的是把我在学习热统过程中遇到的一些有趣的问题记录下来,以便之后复习。学习所用的主要教材是《热物理概念》。


练习4.9

编写程序实现例题4.2,编程语言使用了python3.7.6

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import matplotlib.pyplot as plt
import numpy as np

plt.style.use('_mpl-gallery-nogrid')


n=100#n^2为格点数
Q=1#Q为单个格点量子数
X, Y = np.meshgrid( np.linspace(1, n, n), np.linspace(1, n, n))

Z=np.ones((n,n))
Z=Z*Q
i=0
while i!=100000:#迭代次数
a=np.random.randint(0,n)
b=np.random.randint(0,n)
if Z[a][b]>=1:
Z[a][b]-=1
c=np.random.randint(0,n)
d=np.random.randint(0,n)
Z[c][d]+=1
i=i+1

z=12#微观态最高能量数
j=np.linspace(0,z,z+1)
k=np.linspace(0,0,z+1)
m=0
while m!=z+1:
k[m]=np.sum(Z==m)
m+=1

print(k)
# plot
fig, ax = plt.subplots(1, 2)

pcm=ax[0].pcolormesh(X, Y, Z)
fig.colorbar(pcm, ax=ax[0], label='Interactive colorbar')

ax[1].bar(j, k, width=1, edgecolor="white", linewidth=0.7)
plt.show()

结果如下:

result



文章作者: qzl
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 qzl !
评论
  目录