不变
使用二分法迭代求解费米能级
通过占据数求得体系总能
使用pmap并行,替代原本的串行逻辑
使用稠密矩阵求解方法,不再使用shift-inverse,更鲁棒,但对超大矩阵可能速度较慢
将H和S矩阵严格厄米化
SOC条件下,能导出每个|nk>的自旋磁矩期望
新的配置文件,和原本的json逻辑略有差别
"val_atom": 格式为[[原子1的原子序数,原子1的价电子数],[原子2...]] 原子的价电子数可以在所用的赝势文件中找到
"kpoints": 格式为[nk1,nk2,nk3] 与其他DFT软件的K点网格意义一致,使用MP网格
"kpath": 格式为[[nk,ki1,ki2,ki3,kf1,kf2,kf3],[...]] 与原本能带k点取法一致
"Temperature": 电子温度,关系到费米-狄拉克分布的柔和程度,建议与数据集一致
与先前类似,在所有所需文件所在位置,额外加入上述的config.json
所需的julia.slurm已附在此处,可以调整使用的核心数,即julia -p后的数量,注意不超过调用的总核心数
out: 标准输出,最终输出了费米能级和总能量
Energy.txt: 能带数据,每一行是同一个带,每一列是同一个k上的本征值,这次的算法给出所有本征值
K-PATH.txt: K路径自然坐标,已归一化到[0,1]之间,行数与Energy.txt的列数一样
在band_plot.py中调整费米能级,然后照常运行即可
例子是一个Si2,绘制能带后能观察到明显带隙