天津市南开大学光电子薄膜器件研究所 刘一鸣 孙 云
Department of Materials Science and Engineering, University of Illinois Angus Rockett
随着计算机处理能力的提高,仿真模拟在各个技术领域里得到前所未有的发展,特别是在半导体材料研究与器件开发中起到了不可替代的作用。太阳电池技术的发展,是实验与理论相互检验、相互促进、相互成熟的历程。作为理论工具的模拟软件可使其研发理论先行、实验验证在后,以及更细致地对实验结果进行分析诊断,从而揭示器件内在机理,使研发更加有的放矢,加快太阳电池向更高端技术发展。
目前,国际上已有一些太阳电池模拟软件被光伏工作者采用,应用于测试数据分析、器件机理阐释、电池结构优化等方面,其中较流行的有AMPS、SCAPS、PC1D、ASA、AFORS-HET等。由于太阳电池种类繁多,而模拟软件是提供软件的机构在各自的太阳电池研究过程中逐渐发展而来,所以不同软件所采用的物理模型及算法有所差异,适合模拟的电池种类并不相同,性能也各有优劣。Burgelman M等[1]曾就各软件之间的区别与特点做过比较和介绍。
AMPS软件是由宾西法尼亚州立大学的Fonash S教授等人开发的一款著名的太阳电池模拟软件,在模拟能带内存在大量缺陷态的太阳电池方面做了许多优化,被频繁应用于非晶硅、铜铟镓硒等电池的仿真。AMPS从1997年发布以来一直未有重大更新,因此软件在物理模型、求解算法及用户界面等方面存在一定的局限:其物理模型采用基本的载流子漂移-扩散模型,没有考虑隧穿机制;用户界面最多支持30层材料的输入,虽可以模拟具有梯度结构的太阳电池,但更细致的模拟研究需要更多的层数支持。另外,器件参数的输入过程过于繁冗,好在AMPS的源代码已于数年前公开,易于在此基础上进行软件改进升级。
我国太阳电池研究目前仍侧重于经验主义的实验方法,器件理论的基础不强,自主研发的数值模拟软件几乎是空白,与国外实验与理论并重的高水平研究仍存在较大差距。为了弥补国内在太阳电池理论研究方面的不足,在开源软件AMPS强大模拟功能的基础上,通过继承软件原创者的理论基础和器件模拟思路与技巧,笔者开发了一款新型的模拟软件wxAMPS,其中增添了缺陷辅助隧穿和带内隧穿两种物理模型,改进了内核算法,提高了程序的稳定性与收敛能力,在软件功能上也做了众多升级更新。wxAMPS软件已在笔者为太阳电池模拟研究建立的WiKi网站上发布,并提供免费下载[2]。
根据相应的物理模型与边界条件,wxAMPS软件通过求解一维条件下的三个半导体基本器件方程(泊松方程、电子空穴连续性方程),解出电池各个位置的真空能级、电子空穴准费米能级,进而得到每处的各物理量,从而完成对整个电池的模拟求解过程。wxAMPS继承了AMPS中对太阳电池内部缺陷的处理方法与光学模型[3]。
wxAMPS软件基于一维模型,当光吸收、器件结构、材料参数等因素在电池横向结构上均匀一致时,一维模型是适用的。对于多晶材料,当晶粒大小可比拟材料厚度,或晶粒大小远小于材料厚度时,也能使用一维模型进行分析。对于后一种情况,微小晶粒的影响表现在有效迁移率、缺陷态密度等宏观半导体参数上。
原软件AMPS采用的是载流子在器件体内基本的漂移-扩散机制,未考虑隧穿电流的影响,因此在太阳电池的模拟上存在一定的局限。如使用AMPS模拟叠层电池时,由于其模型中未考虑隧穿结中的隧穿效应,需要在子电池间人为插入一个高复合区域,并在相邻的重掺杂p+、n+层中引入能带梯度以产生很强的电场,来近似模拟隧穿结中的隧穿增强复合与载流子输运过程[4]。
wxAMPS通过添加带内隧穿(图1)和缺陷辅助隧穿(图2)两种隧穿电流模型,使程序具备了模拟隧穿电流的功能,从而可更好地描述载流子在异质结界面处复杂的输运机制和过程。图中:JT-E为热电子发射电流,由能量足以越过势垒的电子组成;JTunnel为导带内的隧穿电流,由从势垒边缘(−w)到界面处(0)的隧穿电子组成[5];SRH为描述本地载流子间接复合的Shockley-Read-Hall机制[6];Non-local TaT为非本地载流子经由缺陷辅助隧穿机制进行输运与复合的过程。
图1 异质结界面处的导带能级图
图2 缺陷辅助隧穿(trap-assisted tunneling,TAT)机制示意图[7]
当模拟叠层电池时,根据上述的缺陷辅助隧穿模型,wxAMPS可直接考虑p+、n+层之间隧穿结的隧穿增强复合,无需增加人为层,同时增加隧穿结内的迁移率用以描述结区增强的隧穿载流子输运。AMPS在模拟通过此种方法设计的叠层电池时经常失效。而通过添加缺陷辅助隧穿模型,wxAMPS可良好地实现叠层电池的上述两种模拟方法。
在太阳电池数值模拟中,通常采用迭代法求解半导体器件方程组。按照迭代的具体方式,可分为将三个半导体方程一同求解的牛顿迭代法[8],与依次分别求解的Gummel迭代法[9]。Gummel方法具有编程相对简单、所耗计算机资源较少等优点。但是在大电流、高复合速率的情形下,方程之间的耦合程度较高,将三个方程分别求解的Gummel方法收敛速度很慢,有时甚至失效。此时,需要采用耦合的牛顿迭代法进行处理。牛顿迭代法可有效处理大偏压、高复合情况下的器件模拟,为软件AMPS所采用。但是同时也要付出相应计算量大、较耗费计算资源的代价。而且牛顿迭代法对采用的迭代初值敏感,制约了AMPS的收敛能力。
wxAMPS软件改进了求解算法。首先通过若干次Gummel迭代得到一个接近实际解的初值,再将此更佳的初值应用于牛顿迭代法,用以处理大偏压、高复合时的情况。改进算法综合了牛顿迭代法与Gummel迭代法的各自优点,增强了程序的收敛能力与稳定性,从而能够更好地模拟分析异质结太阳电池及叠层电池的器件特性。改进算法的基本流程与具体效果可参考相关文献[10, 11]。由于算法的改进,经数值实践表明,wxAMPS的计算速度和收敛性与AMPS相比皆有很大提高。
在软件wxAMPS中,实现上述物理模型与数值求解过程的程序内核使用的是面向对象的C++程序语言编写,代码具有更好的可移植性。用户人机界面采用跨平台的wxWidgets库开发,使程序可在不同操作系统下运行。软件支持更快捷的数据输入,而且在可视化方面做了极大改进,帮助用户更好地分析模拟数据与结果比较。
使用wxAMPS对太阳电池进行模拟,其步骤主要分为三步:首先定义器件的工作环境,如温度、光谱、偏置电压、电极处的势垒及界面复合速率等;第二步,输入电池每层材料的参数;第三步,运行模拟查看结果。这三步集成在简洁的软件主界面中(图3)。
图3 wxAMPS软件主界面[11,12]
在第一步输入工作环境参数时,AMPS需要在5个对话框中进行操作,而wxAMPS将这些集中在1个对话框内完成。AMPS对于光谱中的波长数量有输入上限,wxAMPS中消除了这一限制。用户可将要模拟的偏置电压写入1个文本文件,载入后即可完成任意电压的输入。所输入的环境参数都将自动存储,在用户系统地模拟研究环境参数对器件的影响时,方便参数的微调。
在第二步wxAMPS输入材料参数的对话框中,参数按照其特性分为4组,分别列在4个选项卡下,可方便地查看和编辑。界面不仅支持载入和存储整个器件,还支持单层材料的载入存储,方便用户组合不同的材料进行新型电池结构模拟研究。AMPS中最多支持30层的材料,而wxAMPS可输入任意层数。这使得对元素成分、缺陷等参数呈任意梯度变化的器件进行模拟成为可能。
输入完工作环境与具体器件参数,就可开始根据具体的物理模型进行仿真计算。AMPS不支持模拟过程的动态显示,而且一旦模拟失败,之前的计算结果将无法获取。在wxAMPS中,模拟运行时,当前进度将由1个动态进度条显示,用户通过此进度条还可选择中途中断。中断或程序在某一偏压收敛失败后,之前计算好的结果也已保存,不会丢失。
计算完成后,模拟结果即可在wxAMPS第三个对话框中方便地进行查看,其中包括电池J-V曲线,能带图,载流子浓度、电场、电流、复合率产生率、载流子寿命等的分布情况。而且此界面中加入了3个新的移动条,可以很方便地比较不同电压下的各器件结果变化,和不同串并联电阻对J-V曲线的影响。所显示的图象都可方便地复制、移动、缩放,其中数据也可拷贝至其他软件,进行进一步处理。而且wxAMPS还可通过得到的J-V曲线拟合出4个二极管参数(反向饱和电流、品质因子、串并联电阻),并由此绘出拟合后的J-V曲线,与原J-V曲线对比。更多软件功能及使用方法可参见网站介绍及相关文献[2, 13]。
wxAMPS软件具有简洁易用的用户界面,与强大的数值处理能力,极大拓展了AMPS源代码的功能。软件AMPS与wxAMPS的功能对比见表1。
表1 软件AMPS与wxAMPS的功能对比
wxAMPS除了支持传统的太阳电池模拟分析,还根据光伏研究者的反馈与建议,添加了新的功能,使其可以应用于一些新的模拟仿真研究领域。
由于之前的软件功能所限,只能考虑按一定函数关系分布的材料参数梯度[14],或把实际的材料参数分布通过设置有限的材料层数来粗略表示[15]。wxAMPS支持任意层数的器件设计,因此可实现如CIGS电池中任意Ga梯度所产生的不同带隙梯度的模拟,并能定量地研究实验制备的Ga梯度对器件性能的具体影响。仿真研究表明,模拟结果与实验数据接近,并可从实验测试结果中获取更多的器件内部信息[13]。
另外wxAMPS也可模拟研究与传统太阳电池在物理机制上有诸多不同的有机太阳电池。之前的有机太阳电池异质结模型,只能基于解析模型方法,分析有机物-半导体界面的载流子输运。由于未综合体材料参数的影响,只能对有机太阳电池进行半定量的理论分析。而将此界面模型加入wxAMPS后,可将电池整体进行求解,得到不同界面参数和体材料参数时的电池性能,从而结合实验开展仿真研究[16]。
为了便于用户完成大量模拟计算,系统地开展模拟研究,wxAMPS软件增添了批处理功能。用户可通过使用Matlab或其他软件,编写代码多次循环调用wxAMPS的命令行版本(图4),从而自动完成用户定制的批量模拟任务。实现批处理功能,还为计算机科学中一些成熟的优化算法应用于太阳电池结构的优化设计,提供了工具支持。
图4 wxAMPS的命令行版本在Windows MS-DOS环境中的运行界面图
对于某些具有复杂光学结构设计的太阳电池,软件wxAMPS中的一维光学模型可能不够精确。而许多更复杂光学模型的软件只能进行光学分析,不能进行电学特性计算。因此,wxAMPS软件提供了一个接口,可载入其他光学软件的计算结果,再结合wxAMPS的电学模型进行分析,从而拓展了程序的功能,可模拟光学结构更为复杂的太阳电池的器件性能。
结合批处理功能与对其他光学模型的兼容,这使得基于高级光学模型的量子效率计算成为可能。对于每个波长的入射光,载入相应的高级光学模型计算结果,使用wxAMPS求得短路电流,再经过批量计算即可求得器件在不同波长下的量子效率。
wxAMPS软件根据国际通用的太阳电池模拟软件AMPS的改进而来,其综合了牛顿迭代法、Gummel迭代法的优点,添加了两种隧穿电流模型,使其代码具备了模拟隧穿电流的功能,并提升了数值计算过程中的收敛性与稳定性。wxAMPS软件在程序设计上做了很大的改进,建立了便捷友好的用户界面。除了支持Windows系统外,也可在Linux、Mac OS平台下运行,还可同Matlab等软件混合使用,实现批处理功能,并且兼容其他的光学模型。该软件适于晶体硅太阳电池、非晶硅、碲化镉、叠层多结、有机物太阳电池等器件的模拟仿真。
wxAMPS将来的改进工作包括:进一步升级和完善光学模型,使其可模拟织构化表面、陷光结构等复杂的光学设计;将物理模型和程序从一维拓展到高维,从而可模拟研究薄膜电池不均匀性、晶界等高维机制对电池整体性能的影响。
[1]Burgelman M, Verschraegen J, Degrave S, et al. Modeling thinfilm PV devices[J]. Progress in Photovoltaics: Research and Appllications, 2004, 12: 143-153.
[2]Liu Y M. wxAMPS is a new saftware designed in UTUC,collaborated with Nankai University of China [EB/OL]. https://wiki.engr.illinois.edu/display/solarcellsim/solarcellsim/Simulation+Software.
[3]Fonash S J. Analysis of microelectronic and photonic structures(AMPS)software was developed at Pennsylvania State university under the direction of Fonash S J with funding from the Electric Power Research Institute[EB/OL]. http://www.psu.edu/dept/AMPS/.
[4]Hou J Y, Arch J K, Fonash S J, et al. An examination of the‘tunnel junctions’in triple junction a-Si:H based solar cells: modeling and effects on performance[A]. Conference Record of the 22nd IEEE in Photovoltaic Specialists Conference[C], 1991, 2 :1260-1264.
[5]Yang K, East J R, Haddad G I. Numerical modeling of abrupt heterojunctions using a thermionic-field emission boundary condition[J]. Solid-State Electronics, 1993, 36(3): 321-330.
[6]Hurkx G A M, Klaassen D B M, Knuvers M P G. A new recombination model for device simulation including tunneling[A].IEEE Transactions on Electron Devices[C], 1992, 39(2): 331-338.
[7]Fonash S J. Solar cell device physics[M]. Amsterdam: Elsevier,2010.
[8]Kurata M. Numerical analysis for semiconductor devices[M].MA:Lexington Books, 1982.
[9]Gummel H K. A self-consistent iterative scheme for one-dimensional steady state transistor calculations[A]. IEEE Transactions on Electron Devices[C], 1964, 11: 455-465.
[10]Liu Y M, Sun Y, Rockett A. An improved algorithm for solving equations for intra-band tunneling current in heterojunction solar cells[J]. Thin Solid Films, 2012, 520(15): 4947-4950.
[11]Liu Y M, Heinzel D, Rockett A. A new solar cell simulator:wxAMPS[A].37th IEEE in Photovoltaic Specialists Conference(PVSC)[C], 2011:002753-002756.
[12]Liu Y M, Heinzel D, Rockett A. A revised version of the AMPS simulation code[A]. 35th IEEE in Photovoltaic Specialists Conference (PVSC), 2010: 001943-001947.
[13]Liu Y M, Sun Y, Rockett A. A new simulation software of solar cells—wxAMPS[J]. Solar Energy Materials and Solar Cells, 2012,98: 124-128.
[14]Burgelman M, Marlein J. Analysis of graded band gap solar cells with SCAPS[A]. Proceeding of the 23rd European Photovoltaic Solar Energy Conference[C], 2008: 2151-2155.
[15]Gloeckler M, Sites J R. Band-gap grading in Cu(In,Ga)Se2solar cells[J]. Journal of Physics and Chemistry of Solids, 2005, 66(11):1891-1894.
[16]Chitambar M, Wang Z, Liu Y, et al. Dye-sensitized photocathodes:efficient light-stimulated hole injection into p-GaP under depletion conditions[J]. Journal of the American Chemical Society, 2012,134(25): 10670-10681.