太阳能电池效率的计算
ztj100 2025-01-20 18:20 37 浏览 0 评论
注:本文转载自李继存老师个人博客http://jerkwin.github.io/2016/08/09/太阳能电池效率的计算/,小编基于自己的理解,部分内容有删减和增加。
在文献《Design Rules for Donors in Bulk-Heterojunction Solar Cells—Towards 10% Energy-Conversion Efficiency》(Adv. Mater. 2006, 18, 789–794)和《Semiconducting Monolayer Materials as a Tunable Platform for Excitonic Solar Cells》(ACS nano, 2012, 6(11): 10082-10089)中讨论了一种计算激子太阳能电池效率的方法,并给出了效率与材料参数的关系图(如下图), 对研究太阳能电池的人有一定参考价值。我这里给出文章中计算太阳能电池效率的matlab代码,供需要的人参考。由于我的专业并非此领域,所以无法对公式含义及其中的各个物理量进行说明,只关注公式的数学部分。
Appl. Phys. Lett. 112, 143902 (2018).
1、理论简介:
首先指出,论文中的太阳能电池效率计算公式(方程1)有误,正确的公式如下:
与原公式的区别在于分母中积分的起点为能量的起始值。
由于 ?ω=ε 即为光子的能量,所以上式可写为:
此式的分母部分是一个常数,无须考虑, 故此,计算的关键是分子中的积分。此积分的计算涉及标准太阳能光谱 Jph(ω)。根据国际标准, 此光谱一般采用美国材料和试验协会(ASTM)的标准太阳能光谱(ASTM)G173-03,但此光谱给出的数据是按波长分布的,所以我们首先需要将其转换为按能量分布的光谱。
设有光谱的波长分布为 f(λ),其对应的能量分布为 J(ε), 二者满足 f(λ)dλ=J(ε)dε,故:
知道了此式之后,使用最简单的梯形法对能量分布进行积分即可。需要注意的是,积分时可能需要首先对数据进行线性插值,因为积分的起点可能并不正好处于分布的点上。
clc; clear; clear all;
% 单位换算
nm2eV=1.2398419739e-6*1e9;
%% 处理数据
% 读取文件, 忽略表头, 使用Global tilt数据
dat = csvread('ASTMG173.csv',2);
l=dat(:,1); f=dat(:,3);
% 由波长分布换算为能量分布, 递增顺序
E=nm2eV./flipud(l);
J=flipud(f.*l)./E;
% plot(E,J,'-')
% 计算能量最小点与最大点, 能量间隔最小值
% 梯形法积分得总功率, 其值应接近1000
Emin=min(E); Emax=max(E);
dEmin=min(gradient(E));
Jtot=trapz(E, J)
%% 计算单个效率值
Eopt=2; Ec=0.2;
Eintp=[Eopt:dEmin:Emax];
Jintp=interp1(E,J, Eintp, 'linear');
Jsc=trapz(Eintp, Jintp./Eintp)/Jtot;
eta=0.65*(Eopt-Ec-0.3)*Jsc*100
%% 作效率与Eopt, Ec的二维图
Eopt=[1:.01:3.5]; Ec=[0:.01:1.2];
Jsc=zeros(1,length(Eopt));
for i=1:length(Eopt)-1
Eintp=[Eopt(i):dEmin:Emax];
Jintp=interp1(E,J, Eintp, 'linear');
Jsc(i)=trapz(Eintp, Jintp./Eintp)/Jtot;
end
[x, y]=meshgrid(Eopt, Ec);
[z, y]=meshgrid(Jsc, Ec);
eta=0.65*(x-y-0.3).*z*100;
contourf(x,y,eta, [2:2:20], 'ShowText','on')
xlabel('CBN pptical gap (eV)')
ylabel('Conduction band offset (eV)')
2、一些说明:
张璐 等:国产遥感传感器大气层外波段平均太阳光谱辐照度计算
大气层外太阳光谱不受大气的影响,是计算传感器大气层外波段平均太阳辐照度的基础。但由于测量仪器及方法的差别,现有多套太阳光谱曲线数据之间存在一定的差异。本文选用了9条常用的太阳光谱曲线(6S、ASTM-E490、ASTM-G173、Chance、Kurucz、Neckel & Lab、Thuillier、Wehrli 和 WRC 太阳光谱曲线)进行对比分析,以确定最合适计算ESUN b 的太阳光谱。6S 太阳光谱为 6S 大气辐射传输模型中内置的太阳光谱曲线,光谱范围为 0.25~4.0 μm;ASTM-E490 太阳光谱由美国材料和试验协会(ASTM) 根据卫星、航天飞机、火箭探测、地基太阳望远镜等观测资料发布,光谱范围为 0.12~1000 μm;ASTM-G173太阳光谱由ASTM通过SMARTS模式导出,光谱范围为0.28~4.0 μm;Chance太阳光谱来源于地面和气球观测资料,光谱范围为 0.2~200 μm;Kurucz太阳光谱来源于理论模型和经验模型计算,光谱范围为 0.2~200 μm;Neckel & Lab 太阳光谱由 Neckel 和 Labs 基于对日盘中心绝对强度的观测资料发布,光谱范围为 0.4~2.0 μm;Thuillier 太阳光谱由 Thuillier 等人根据多次航空飞行观测资料发布,光谱范围为 0.2~2.4 μm;Wehrli 太阳光谱由 Wehrli 根据多条太阳光谱整合而成,光谱范围为0.20~3.0 μm;WRC 太阳光谱由 World Radiation Center 机构根据地面和火箭观测数据发布,光谱范围为0.35~2.5 μm。
为什么在测太阳能电池的效率时都是采用AM1.5 100mW/cm2 啊?
在地球大气层的上界,距离太阳一个天文单位处,与太阳垂直的单位面积上,单位时间所得的的太阳辐射能量叫一个太阳常数S0。此时把太阳看出点光源,不考虑大气层吸收。但是在实际地球表面附近的太阳辐射强度受大气吸收的影响。大气吸收同时也影响太阳光谱分布。同时辐射强度还受太阳运转的高度影响。为了描述这一关系,引入大气质量(air mass, AM)。太阳穿过大气层垂直射入海平面时的高度作为一个大气质量AM1,辐照度大约1000W/M2,太阳在其他任意位置时穿过大气层的距离与AM1有sina的关系。a为太阳的高度角。外层空间的大气质量为AM0。太阳高度降低时,通过大气层的距离增加。大气质量大于1。最接近现实生活情况下的大气质量为AM1.5。此时太阳高度角为41.8度,辐照度为963W/M2。所以国际标准组织定义AM1.5为地面光伏组件的标准条件,辐照度定为1000W/M2.
AM1.5G怎么来的?
ASTM G173–03的AM1.5G光谱采用变步长梯形求积积分,结果为1000.37 W/m2。
关于AM1.5 G更多详情可以阅读以下内容:
http://www.materialsnet.com.tw/DocView.aspx?id=7004
http://blog.sciencenet.cn/blog-616448-889852.html
AM1.5 G数据下载链接:
https://rredc.nrel.gov/solar//spectra/am1.5/
推荐另一个计算激子太阳能电池效率的code:
https://gitee.com/yhli/misc/tree/master/pce
- 上一篇:我的小家新手攻略
- 下一篇:「转发」锚杆设计与施工注意事项
相关推荐
- 其实TensorFlow真的很水无非就这30篇熬夜练
-
好的!以下是TensorFlow需要掌握的核心内容,用列表形式呈现,简洁清晰(含表情符号,<300字):1.基础概念与环境TensorFlow架构(计算图、会话->EagerE...
- 交叉验证和超参数调整:如何优化你的机器学习模型
-
准确预测Fitbit的睡眠得分在本文的前两部分中,我获取了Fitbit的睡眠数据并对其进行预处理,将这些数据分为训练集、验证集和测试集,除此之外,我还训练了三种不同的机器学习模型并比较了它们的性能。在...
- 机器学习交叉验证全指南:原理、类型与实战技巧
-
机器学习模型常常需要大量数据,但它们如何与实时新数据协同工作也同样关键。交叉验证是一种通过将数据集分成若干部分、在部分数据上训练模型、在其余数据上测试模型的方法,用来检验模型的表现。这有助于发现过拟合...
- 深度学习中的类别激活热图可视化
-
作者:ValentinaAlto编译:ronghuaiyang导读使用Keras实现图像分类中的激活热图的可视化,帮助更有针对性...
- 超强,必会的机器学习评估指标
-
大侠幸会,在下全网同名[算法金]0基础转AI上岸,多个算法赛Top[日更万日,让更多人享受智能乐趣]构建机器学习模型的关键步骤是检查其性能,这是通过使用验证指标来完成的。选择正确的验证指...
- 机器学习入门教程-第六课:监督学习与非监督学习
-
1.回顾与引入上节课我们谈到了机器学习的一些实战技巧,比如如何处理数据、选择模型以及调整参数。今天,我们将更深入地探讨机器学习的两大类:监督学习和非监督学习。2.监督学习监督学习就像是有老师的教学...
- Python 模型部署不用愁!容器化实战,5 分钟搞定环境配置
-
你是不是也遇到过这种糟心事:花了好几天训练出的Python模型,在自己电脑上跑得顺顺当当,一放到服务器就各种报错。要么是Python版本不对,要么是依赖库冲突,折腾半天还是用不了。别再喊“我...
- 神经网络与传统统计方法的简单对比
-
传统的统计方法如...
- 自回归滞后模型进行多变量时间序列预测
-
下图显示了关于不同类型葡萄酒销量的月度多元时间序列。每种葡萄酒类型都是时间序列中的一个变量。假设要预测其中一个变量。比如,sparklingwine。如何建立一个模型来进行预测呢?一种常见的方...
- 苹果AI策略:慢哲学——科技行业的“长期主义”试金石
-
苹果AI策略的深度原创分析,结合技术伦理、商业逻辑与行业博弈,揭示其“慢哲学”背后的战略智慧:一、反常之举:AI狂潮中的“逆行者”当科技巨头深陷AI军备竞赛,苹果的克制显得格格不入:功能延期:App...
- 时间序列预测全攻略,6大模型代码实操
-
如果你对数据分析感兴趣,希望学习更多的方法论,希望听听经验分享,欢迎移步宝藏公众号...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)
- vmware17pro最新密钥 (34)
- mysql单表最大数据量 (35)