光谱极限最大效率SLME
一、程序简介
SLME_v2.py是一个用于计算Spectroscopic Limited Maximum Efficiency(SLME,光谱极限最大效率)的Python脚本,在SL3ME的基础上进行了修改。SLME是对传统 Shockley–Queisser极限效率的改进指标,通过引入材料的实际吸收系数谱,能够更加真实地评估半导体材料在太阳能电池中的理论效率。
该脚本以材料的吸收系数数据(ABSORPTION.dat)为输入,并结合AM1.5G太阳光谱(am1.5G.dat)计算材料在不同厚度下的SLME。程序首先读取材料吸收谱并插值到太阳光谱波长范围,然后根据Beer–Lambert定律计算不同波长下的光吸收率,再通过积分得到短路电流Jsc和辐射复合电流J0,并通过数值优化确定最大功率点,从而得到SLME。
此外,脚本还会扫描不同薄膜厚度(10-8–10-4 m)下的效率变化,并绘制SLME随厚度变化的曲线,最终输出高分辨率图像SLME_thickness.jpg。该程序适用于基于第一性原理计算得到吸收光谱的光伏材料(如CdTe、CZTS、钙钛矿等)的理论效率评估。
二、使用说明
1. 准备输入文件
需要准备两个输入文件:
(1)ABSORPTION.dat
该文件为材料吸收谱数据,可通过VASP光学性质计算获得。需要在INCAR中设置:
|
|
通常建议使用HSE06等更准确的电子结构参数进行计算,以获得更可靠的光吸收谱。
VASP计算完成后,可使用VASPKIT对光学计算结果进行后处理,提取吸收系数数据并生成ABSORPTION.dat文件。
文件格式示例:
|
|
第一列:能量(eV),第二到四列:x、y、z三个方向的吸收系数。
(2)am1.5G.dat
该文件为AM1.5G太阳光谱数据。
2. 运行程序
|
|
程序将执行以下步骤:读取 ABSORPTION.dat 和 am1.5G.dat,计算材料的SLME,扫描不同厚度下的效率变化,在屏幕上输出SLME百分数,生成效率随厚度变化的图像。
屏幕输出示例
|
|
输出文件
程序会生成SLME_thickness.jpg,展示SLME随材料厚度变化的关系曲线。
三、注意事项
1. 吸收系数单位
脚本参数:
|
|
表示程序默认认为ABSORPTION.dat中的吸收系数单位为cm^-1,程序会自动将其转换为m^-1以满足计算需要。
2. 吸收谱方向平均
ABSORPTION.dat中通常包含三个方向的吸收系数:alpha_x、alpha_y、alpha_z,脚本会自动对三个方向取平均:alpha = (alpha_x + alpha_y + alpha_z) / 3,以获得各向同性平均吸收系数用于SLME计算。
3. 带隙参数设置
脚本中的参数:
|
|
分别表示材料的:
-
直接带隙(eV)
-
间接带隙(eV)
如果材料为直接带隙半导体,可以设置为material_direct_allowed_gap = material_indirect_gap。
4. 厚度范围
程序默认扫描的材料厚度范围为10-8–10-4 m,绘图时会转换为μm,用于分析薄膜太阳能电池中材料厚度对效率的影响。