![bc1ac8f22e13258ec29445c2c66515c1.png](https://i-blog.csdnimg.cn/blog_migrate/8da48e340d3928ee0e39a67d7225d1ab.png)
在凝聚态物理以及统计物理中,态密度是一个很重要的概念,我们能从态密度图像中获取很多有用的信息。例如,态密度对了解低维系统中的带间跃迁很重要,在态密度图像中带隙比色散图像中直观得多。
![8606e019f62354e6ffb26214c1d51f63.png](https://i-blog.csdnimg.cn/blog_migrate/5abaac9056287b3c019da254cb4ab1ae.png)
原则上说,知道了色散关系,也就确定了态密度对于一些模型,比如说自由电子气,我们能够很容易的得到其解析的态密度函数,能够很容易地用一些软件甚至手画就能得到态密度的图像。但是现实是,对于大部分问题,就算色散关系知道,想要解析的求其态密度函数的解析表达也是不容易的甚至是不可能的。为此,我们必须尝试数值解。
下面,我将以紧束缚模型为例,展示一下怎么来画其态密度图像。束缚模型的色散关系是比较容易求的,不会求的同学可以回去翻固体物理的相关书籍,这里我就直接给了,如下。
其中t为跃迁强度,D是模型维度,其他不重要,感觉纠结的强迫症同学去查书吧。取:
我这里就只考虑二维立方晶格模型,弄清这个典型,一维、三维甚至更高维的就都清楚了。此时我们需要的色散关系就变成了下面这样:
这样的色散关系要求解析的态密度表达式实在有点难为我这种数理不勤,文史不分的同学了。我之前用Matlab画过,代码给在这里,多不赘述,主要讨论python画法。
% here the MATLAB code
![fcf3e0b2a6e4068b08399056792077dd.png](https://i-blog.csdnimg.cn/blog_migrate/71ba6f9b74172540c04238aaedb268de.png)
基本思路:态密度定义为单位频率间隔内的状态数 ,即
水平太低,始终没有不太会python里numpy.meshgrid,不过总感觉和Matlab里的meshgrid区别蛮大(存疑)。python手足无措只好用循环,三维情况的话就三重循环了,取的点多了计算量还是蛮大的。程序如下:
import
![7dfaa0a148c92fd6358e6ea872aec15f.png](https://i-blog.csdnimg.cn/blog_migrate/fd624ebeebdcea7393feefcb6d4ea8df.png)
这里,我没有做太多的图像优化,是有些难看。操作就这么个操作,慢慢品吧。画图是一个技术活,用什么色彩、取多少个值,取几个“篮子”,都需要积累经验。
就酱!