ABACUS 矩阵到PYATB光学响应
原生位置矩阵、光学电导率、复介电函数及网格和展宽实操。
阅读本篇目录
下载真实Si矩阵、8个PYATB条件、离线依赖和绘图脚本。解压进入附件根目录,先直接提取已有结果:
bash analyze.sh
首次运行会用附件内已固定版本的依赖,在本目录创建 venv,不修改公共环境;图在 reference/figures,数据在 reference/analysis。新解压目录重新执行全部PYATB计算:
sbatch submit.slurm
模板在分配资源中建立 work,顺序运行8个分析条件,再核对与画图。P100模板这里分配主机资源,实际PYATB使用1个CPU进程、1线程,不是GPU加速测试。它读取已有ABACUS矩阵,不重新运行DFT;已有 work 时请新解压,以免覆盖结果。
环境为PYATB1.1.2、mpi4py4.1.1、OpenMPI5.0.10,Python3.11及ASE3.29.0环境内的NumPy/SciPy用于后处理。离线轮子和哈希随附件提供。ABACUS矩阵来源为集群真实Si2计算:3.10.1、LCAO/PBE、80 Ry、8 Bohr DZP、26个NAO、8价电子、电子k网格2³;这些是有限采样教学结果,不能当作已经收敛的材料光谱。
1 准备原生位置矩阵#
先完成能带与PDOS的矩阵准备。光学需要 out_mat_r 1 得到的r(R),它与H/S一起决定非正交基中的速度矩阵。不能把r矩阵随意改成只含原子位置的对角矩阵。
实际光学输入:
cat inputs/si-optical6/Input
INPUT_PARAMETERS
{
nspin 1
package ABACUS
fermi_energy 7.2166391121
fermi_energy_unit eV
HR_route ../../matrices/data-HR-sparse_SPIN0.csr
SR_route ../../matrices/data-SR-sparse_SPIN0.csr
rR_route ../../matrices/data-rR-sparse.csr
HR_unit Ry
rR_unit Bohr
max_kpoint_num 2000
}
LATTICE
{
lattice_constant 1.0
lattice_constant_unit Angstrom
lattice_vector
0.0 2.714679090192505 2.714679090192505
2.714679090192505 0.0 2.714679090192505
2.714679090192505 2.714679090192505 0.0
}
OPTICAL_CONDUCTIVITY
{
occ_band 4
omega 0.2 10.0
domega 0.1
eta 0.1
grid 6 6 6
method 1
}
occ_band 4明确四条占据带;grid 6 6 6为响应积分网格;光子能量0.2到10 eV、步长0.1 eV。method 1使用该版原生Lorentz展宽方法,eta 0.1单位eV,是响应模型参数,不是材料载流子寿命或晶格温度。
2 运行与读取原生结果#
用完整提交模板后,检查目录:
head -n 5 reference/cases/si-optical6/Out/Optical_Conductivity/optical_conductivity_real_part.dat
head -n 5 reference/cases/si-optical6/Out/Optical_Conductivity/dielectric_function_imag_part.dat
每个文件第1列为光子能量/eV,后面9列按 xx xy xz yx yy yz zx zy zz 排列;σ的单位是S/m,介电函数无量纲。实部和虚部是不同文件,不能只取一份数据就构造完整光谱。

本例同时比较4³、6³网格。独立NumPy按实际能级、原生速度矩阵、体积、自旋简并和Kubo求和重建σ与ε;速度对角元另与能带数值斜率比较。立方对称的三个对角分量在原生打印精度内一致。这些核对没有替代k网格、基组或泛函收敛研究。
3 为什么低能还有尾巴#

本例0.2 eV处也有有限Reσ,主要来自有限η的非共振尾巴,不能据此断言硅变成金属或把它当作直流电导率。η从0.1改为0.2 eV后峰和尾部都会变化。
原生σ和ε在有限η下对应复频率 E+iη;不能忽略η,把两份有限展宽输出机械按实频率关系换算并声称完全等价。本附件使用原生复介电函数,直接保留两种输出及独立核对。
4 上限也影响低能响应#
这版方法1会按输出频率点数建立更高的跃迁能量截断:0.2–10 eV、步长0.1的输入,本例实际最多纳入约15 eV的带间跃迁;换成0.2–20 eV、步长0.2后,纳入的虚跃迁范围随之扩大。图中保留了共同能量区间的实部变化。
因此,不能只把光子能量的起点调低,就把输出命名为收敛静态介电常数。还要检查积分网格、η、上限、基组和原始电子结构。这里是独立粒子模型,没有激子或局域场精修,PBE带隙和光谱也不能直接当作实验值。
重新提取与画图:
bash analyze.sh
后续把结果转成折射率、吸收系数及反射率,见光谱量提取。