Silvian Bensdorp Comparative study of Light trapping strategies in thin film solar cells Master thesis under the supervision of dr. N.V. Budko February 16, 2011 Comparative study of light trapping strategies in thin film solar cells S. Bensdorp February 16, 2011 Title : Author Section Date Address : : : : Mail : Student no. : Comparative study of light trapping strategies in thin film solar cells S. Bensdorp Laboratory of Electromagnetic Research February 16, 2011 Laboratory of Electromagnetic Research Faculty of Electrical Engineering, Mathematics and Computer Science Delft University of Technology Mekelweg 4 2628 CD Delft The Netherlands [email protected] 1 222 716 Master thesis to be presented publicly on February 28, 2011 at 13.30. Thesis committee members: prof.dr.ir. H.W.J. Russchenberg Delft University of Technology, EEMCS Chairman dr. N.V. Budko Delft University of Technology, EEMCS Supervisor prof.dr.ir. P.M. van den Berg Delft University of Technology, AS Member c 2011, Laboratory of Electromagnetic Research Copyright All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise without prior written permission of the Laboratory of Electromagnetic Research. ii Preface Wat is wetenschap? Wetenschap is de titanische poging van het menselijk intellect zich uit zijn kosmische isolement te verlossen door te begrijpen W.F. Hermans, Nooit meer slapen, 1966 This report was written at the Laboratory of Electromagnetic Research as my final work to obtain the degree of M.Sc. in Electrical Engineering at the Delft University of Technology, where I started my B.Sc. in Electrical Engineering in 2004. Nearly nine months were spent between the moment I had the first serious talk to Neil and the final report. In this report we apply computational electromagnetics to find the best possible configuration to make thin film solar cells as efficient as possible. Much time has been spent on figuring out the details of the underlying mathematics and in understanding the software code for our simulations, as has been asking the right questions on what should actually be simulated. I owe sincere gratitude to my supervisor, dr. N.V. Budko for his immense enthusiasm, not just on this particular subject but also on mathematics and physics in general, as well as teaching the essentials of proper scientific conduct. The amount of supervision was sometimes intense and it helped me to keep on track in a project where sometimes neither of us knew which direction we should be heading. Unfortunately, this will be the last Master thesis written under the supervision of the Laboratory of Electromagnetic Research. For the last few years the closure of the laboratory was an inevitable end and it is a pity that fundamental research is terminated within Electrical Engineering, an opinion shared by many of my fellow students. Reflecting on six and a half year of attending university, I am grateful for everything I have learned in Delft, within the faculty as well as beyond. Silvian Bensdorp Delft, February 16, 2011 iii Abstract Solar cell energy becomes increasingly important as a source of electrical energy, and a fair amount of research is done in optimizing all facets of the design and production of these cells. In this present M.Sc. thesis, we investigate thin film solar cells, a technology suitable for large scale flexible deployment. We apply electromagnetic numerical simulation to analyze different realizations of a thin film solar cell structure for its absorption efficiency. It is known that changing the contact surface of the different layers of a solar cell can positively influence efficiency, as well as the inclusion of small metallic nano-particles around the light absorbing layer, especially silver. At optical frequencies these particles are known to show plasmonic resonance, thereby ‘attaching’ the field to their surface for a prolonged time. We perform a in-depth comparison study between different geometrical possibilities to find an optimal design. We neglect the dependence on quantum mechanical and/or statistical effects in these cells and assume efficiency based on these factors is one. We do this by keeping any geometric structure that depends on these variables constant throughout our experiments. Basic numerical experiments on the essential parts of the improvements in the geometry were performed separately to obtain an indication about increasing efficiency for 2D configurations. From our experiments we found that the absorption efficiency can be improved dramatically by roughening the contact surface of the absorbing material, a technique called corrugation. These results were confirmed in an accurate 2D simulation of a thin film solar cell as well as in a 3D setting, modeling only the absorption layer and direct enhancements to the structure. Moreover, we show that the corrugation technique and/or dielectric scatterers significantly and systematically outperform all recently suggested plasmonic enhancements. iv Contents List of Tables vii List of Figures ix 1 Introduction 1.1 Description of the problem . . . . . . . . . . . . . . . . . . . . . . 1.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 4 2 Methods 2.1 FDTD in 3D for dispersive media . . . . . . . . . . . . . . . . . . 2.2 The volume integral equation method . . . . . . . . . . . . . . . 7 7 11 3 Software and models for solar cell simulations 3.1 Meep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Matlab EFVIE code . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Approximating experimental data with a Lorentz model . . . . . 21 21 26 27 4 Absorption enhancement techniques 4.1 Absorption of electromagnetic energy . . . . . . . . . . . . . . . . 4.2 Simulations of elementary scatterers . . . . . . . . . . . . . . . . 31 31 35 5 Solar cell simulations 5.1 Computational Models . . . . . . . . . . . . . . . . . . . . . . . . 5.2 2D solar cell simulations . . . . . . . . . . . . . . . . . . . . . . . 5.3 3D solar cell simulations . . . . . . . . . . . . . . . . . . . . . . . 43 43 47 58 6 Conclusions and Recommendations 61 A Dispersion measurements and models 63 Bibliography 67 v List of Tables 3.1 Measurement ranges for the DIMES supplied data . . . . . . . . . . 4.1 Frequency domain results of absorbed energy in the semiconductor material for a sphere placed at the boundary . . . . . . . . . . . . . Frequency domain results of the total energy absorbed by the semiconductor for a sphere placed at the interface . . . . . . . . . . . . . Frequency domain results of absorbed energy in the semiconductor material for a sphere placed in the absorbing material . . . . . . . . Frequency domain results of the total energy absorbed by the semiconductor for the embedded sphere . . . . . . . . . . . . . . . . . . . 42 Results for 3D experiments . . . . . . . . . . . . . . . . . . . . . . . 60 A.1 Fitted parameters for different materials . . . . . . . . . . . . . . . . 66 4.2 4.3 4.4 5.1 vii 28 40 41 41 List of Figures 1.1 The solar spectrum at sea level . . . . . . . . . . . . . . . . . . . . . 2.1 2.2 2.3 2.4 Spectrum of the EFVIE operator for a specific medium Convergence of problem with a silver sphere . . . . . . . The spectrum of an elementary silver scatterer . . . . . Eigenvalues for the normalized operator . . . . . . . . . 3.1 Experimental ε and fitted Lorentz model for the intrinsic semiconductor 30 4.1 4.2 Normalized absorption for different values of ε′′ and object size . . . Overview of the computational domain for different elementary numerical simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . Different plane cuts for the x, y, and z components of the field . . . Total instantaneous flux through the boundary of a box surrounding the scattering sphere for different materials . . . . . . . . . . . . . . Total flux integrated over [t0 , t] . . . . . . . . . . . . . . . . . . . . . The total flux in the side and bottom directions relative to the free space total flux for different scatterer sizes . . . . . . . . . . . . . . . Instantaneous flux through the side of a surface contour surrounding the scatterer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instantaneous flux through the bottom of the contour . . . . . . . . 4.3 4.4 4.5 4.6 4.7 4.8 5.1 5.2 5.3 5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spectrum of the pulse excited in our experiments . . . . . . . . . . . Schematic drawing of the 2D configuration to be simulated . . . . . Different solar cell geometries that will be simulated . . . . . . . . . Instantaneous flux through the absorbing layer of the plain case solar cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Results for silver objects of different shapes placed in the Zinc Oxide layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Results for 2D solar cell simulations with metallic scatterers, using different geometries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7 Results for 2D solar cell simulations with dielectric scatterers, using different geometries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8 Snapshots of the field component Ez in the x, y plane over time in a plain cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.9 Snapshots of the field component Ez in the x, y plane over time in a corrugated cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.10 Snapshots of the field component Ez in the x, y plane over time in a cell with silver additions . . . . . . . . . . . . . . . . . . . . . . . . . ix 6 17 18 19 19 34 36 37 38 38 39 40 41 44 45 45 46 47 50 52 54 55 56 x List of Figures 5.11 Snapshots of the field component Ez in the x, yplane over time in a cell with dielectric enhancements . . . . . . . . . . . . . . . . . . . . 5.12 Schematic drawing of the 3D configuration . . . . . . . . . . . . . . 57 58 A.1 A.2 A.3 A.4 A.5 A.6 A.7 63 64 64 64 65 65 65 Dispersion Dispersion Dispersion Dispersion Dispersion Dispersion Dispersion measurement measurement measurement measurement measurement measurement measurement and and and and and and and model model model model model model model for for for for for for for Al . . . . . Ag . . . . Au . . . . p-type aSi i-type aSi . n-type aSi ZnO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter Introduction The need for solar energy For the last few decades, the use of all fossil fuels has risen constantly throughout the world [7], and there are no indications that this trend will reverse in the long term. It is a well known fact that the supply of fossil fuels is (economically) limited, and eventually their consumption must be completely replaced by sustainable technologies. Advanced technologies take time to mature technologically, and take even more time to be economically feasible. Taken the enormous amount of fossil fuels consumed every year this means the scale on which sustainable resources must be deployed eventually will be unprecedented by todays standards [35], and we must now allocate significant scientific resources to solve this problem before we are too late. Solar energy promises to be one of the main driving forces behind this sustainable revolution. Taken the expected mass deployment combined with the economies of scale, there can be a benefit in the increase of efficiency of solar cell of even a few percent. While the currently best performing solar cells have an efficiency of over 40% [2], these cells are very expensive to fabricate, and there is considerable research into thin film solar cells, which promises to be a large scale cheap solar technology. Industrial designs for this type of solar cell typically have an efficiency ratio of 5–7% [3]. 1.1 Description of the problem Solar cells and current problems In solar energy, we need the sun as well as a panel to convert solar radiation to a more useful form. We have no control over the former, so naturally the effort must be placed on improving the latter. To optimize the absorption of light, we must understand the nature of the phenomenon. Light is an electromagnetic wave, and its full behavior can be described by wave optics, governed by the Maxwell equations: ∂ H(x, t) = 0, ∂t ∂ −∇ × H(x, t) + D(x, t) = −J(x, t). ∂t ∇ × E(x, t) + µ0 1 (1.1) (1.2) 1 2 Chapter 1. Introduction where in section 2.1 we will see a constitutive relation between D(x, t) and E(x, t). This form of the Maxwell equations we will use throughout this thesis. We assume no magnetic current sources K(x, t) exist and our materials are all non-magnetic. The electric flux density D(x, t) can have any dependence on the electric field E(x, t), subject to the properties of a medium. We will see that a specific type of relation, the Lorentz model, will be critical to a successful understanding of the absorption behavior of a solar cell. The use of Maxwell’s equations to describe the optical behavior has become all too important with the rise of optical nano-structures [18]. From a electromagnetic point of view, a solar cell is a complex device consisting of different media ordered in a specific geometry. While analytical solutions certainly have a kind of magic elegance attached to them, the problems we want too solve are far to complex to work by hand and we resort to the technique of Computational Electromagnetics. Before we can make any adjustments to increase solar cell efficiency, we have to be specific in what we mean by efficiency and what can and cannot be changed. Working and efficiency of a solar cell The working of a solar cell is based on the photovoltaic effect. Upon stimulation by a photon with a high enough energy,1 an electron will move up from the valence band to the conduction band in a semiconductor. For our experiments we use amorphous silicon. We have generated a loose electron and an atom short of one electron, in microelectronics called a hole. This electron-hole pair is called an exciton. On both ends of the semiconductor an acceptor- or donor layer (or n- and p-layer) is placed. The electrons and holes will diffuse to the donor/acceptor layers, thereby building up potential over the silicon layer. This potential is kept building up over the silicon layer as long as there is an electromagnetic stimulation (until it saturates), and we can tap this potential as electric energy [23]. The efficiency of a solar cell can be split in two common definitions. The internal quantum efficiency is a measure of how many holes and electrons reach their corresponding collector before they recombine inside the semiconductor. The external quantum efficiency is a measure how much of the incident light is converted to electron-hole pairs and is collected. An increased silicon thickness will increase absorption, while at the same time it will decrease the internal quantum efficiency. In this thesis, we will not go into detail on this aspect, and we assume all absorbed electromagnetic energy is converted to electrical energy, i.e. the internal efficiency is maximal. For our purposes this is a valid approximation, since we keep the thickness of the silicon layer constant in all experiments. Previous work on enhancing efficiency Our problem is thus reduced to getting a maximum of light in the silicon layer and keeping it there. Considerable effort has been placed in maximizing the radiation transmission through the cell to the silicon layer by use of graded refraction index towards the this layer 1 Photons have a direct relation between energy and frequency through E = hf , where h is Planck’s constant. 1.1. Description of the problem 3 [38, 24], or multilayer anti-reflection coatings (ARC) [19]. These coatings try to optimize the transmission from the air to the silicon layer. A more traditional way is the λ/4 anti-reflection coatings which, if properly tuned, can reduce reflectance to 1% [14]. Another common technique in the improvement of solar cell devices is the application of irregularities around the silicon layer. If applied at the bottom these gratings can serve as a distributed Bragg reflector with a photonic band gap tuned for the optimal reflection of solar spectrum wavelengts [44, 5]. Good results were also attained by optimizing the grating depth and applying the grating on both sides [12]. Also roughening the surfaces of the different layers has worked for thick solar cells, though this trick is been around for quite some time [10]. A third method for increasing efficiency that is gaining momentum is the use of plasmonic enhancement of solar cells to sustain the wave in the silicon layer. A plasmonic wave is a coupled wave existing at the boundary between a medium with a positive permittivity and a medium with a negative permittivity [25, 29, 32]. The inclusion of materials that show this behavior at optical frequencies, e.g. noble metals, can be included in the solar cell to increase performance. It has been verified experimentally that these inclusions yield a higher efficiency as well as numerical evidence that plasmonics can increase efficiency [31, 1, 4]. However, these comparisons have been done only with respect to a standard flat thin film solar cell. A more orthodox technique is the trapping of light, called localization. While the notion that a quantum wave can be trapped in a random lattice is already more than fifty years old, there is still no clear sign whether this phenomenon will ever be useful in the application of light trapping [20]. However, in experiments with nanowires we will inevitably get a sort of random ordering. This extreme type of corrugation has a limited precision – due to the fabrication process – with respect to the size of the geometry of the corrugations, and has shown promising results [15, 22]. About this report The main goal is a fair comparison of different solar cell enhancement techniques. Using Finite difference time domain and Electric field volume integral equation methods, we simulate many different geometries for a thin film solar cell to make a comparison as to what works best. We will perform analysis on elementary scatterers to find the details of their scattering behavior in time and in frequency. From this analysis we have already an expectation on what geometries will perform best. Next, we will simulate a multi-period 2D image of the solar cell. These multiple periods allows us to use a point source so we can have a multiple of incident angles at once. In 3D we will inquire the essential part of a solar cell, the silicon layer, over a multiple wavelength domain with a point source. Results from both 2D and 3D experiments indicate that corrugated interfaces offers a superb absorption ratio over plain and plasmonic enhanced cells, while dielectric inclusions will also yield increased efficiency ratios. This report is organized in the following way; In chapter 2 we will look rather detailed into the computational methods and their mathematics. Chapter 3 is concerned with the implementations of the methods and describes the use 4 Chapter 1. Introduction of the software applied for simulation work and how to make Lorentz models based on experimental data. In chapter 4 we will look at how we can increase the absorption efficiency of elementary systems. In chapter 5 we will perform experiments on models of actual solar cells. From this we will draw conclusions about what geometry works best. We will also look at some practical issues regarding our simulations. Finally, in chapter 6 we will present our results and make recommendations for the conduct of further research in geometric optimization for solar cells. 1.2 Configuration A thin film photovoltaic cell is manufactured by depositing a semiconductor which has absorption in the optical range on a substrate. It consists of the following layers: 1. Cover A cover is placed on top of the cells as a protective layer. It has a low absorption rate for the optical frequencies. This layer is much bigger (up to 100 times) than the other layers since it is not deposited with semiconductor technology. This layer is made from glass or polymers, depending on the application and production process. 2. Anti-reflective layer To optimize the transmission between the air and the silicon usually one or more anti-reflective layers are placed before the conduction layer, while the conduction layer itself can also employed as an anti-reflective layer. In our numerical experiments we do not use a specific layer for this purpose. 3. Conduction layer To put the captured energy into usage, we have to transport it to the output terminals of the cell. Since these conducting layers (electrodes) have to be placed on below as well as above the silicon layer, the conduction layer on top must not absorb or reflect to much light for the light absorbed by this layer will not be converted to electron-hole pairs. This layer will be implemented with zinc oxide (ZnO) 4. P-type semiconductor This layer attracts negative charge carriers that are generated in the semiconductor layer. It can be very thin (∼ 10 nm). The basis of all the semiconductor-type materials is amorphous silicon (aSi). 5. I-type semiconductor The I-type layer is a lightly doped region that is placed to generate excitons from incoming photons. The bigger this layer is, the more photons will be absorbed and thus the higher the efficiency of the cell will be. However, this layer cannot be made to large, since a limited electron mobility will prevent a larger share of the charge carriers reach the p- or n-type layer to be used as electric energy, thereby changing the internal quantum efficiency. We will take the thickness of this layer for granted and do not modify performance in this area. 6. N-type semiconductor Here essentially the same task is performed as with the N-type layer, only with a negative doping to receive positive charge carriers. Also this layer can be very thin (∼ 20 nm). 1.2. Configuration 5 7. Back reflector and conductor As opposed from the upper conductor, the rear conductor needs maximal reflection in the optical range, such that a light wave passes the semiconductor layer at least twice, to increase efficiency. In our experiments we use aluminum as a back reflector. The sizes of these layers mainly dependent on their quantum properties and the needed conductivities. In this thesis we only look at the trapping of the light within these structures, the sizes of the layers are fixed and we will not optimize these. Practical material use A common material for thin-film solar cells is amorphous silicon (a-Si), a non-crystalline form of silicon. Rather than being a large crystal, as mono-silicon, amorphous silicon has a more or less random material structure. The advantage of this material is its mechanical flexibility and ease of manufacturing on a large scale. The efficiency of a-Si is a bit lower than mono-Si though due to its higher band gap at 1.7 eV. This correspondents to 730 nm, so it is only active in the visible light spectrum. The solar spectrum Our devices being solar cells, they use the sun as their primary energy source. To tune our models accurately for the right spectral range, we must analyze the composition of the solar spectrum. At the top of the atmosphere, the spectrum is almost equal to that of a black body radiator at 5800 K. This spectrum is called the AM 1.0 spectrum. Due to absorption in the atmosphere, there will be absorbing gaps in the spectrum. The atmosphere consists of five different layers each with a different composition. This causes the solar spectrum at sea level, the AM 1.5 spectrum, to have multiple spectral gaps in the optical range and a general decline in intensity in the visible range (see figure 1.1). Corrugated improvements in solar cells This method is often cited in literature as a way to enhance performance. By refracting light rays, the path the light travels will be larger, thereby enlarging the chance an exciton will be created. The problem with the geometrical approach is that it is an approximation only applicable with a small wavelength λ compared to the dimension of the problem. Yet this technique has a widespread use. Plasmonic improvements in solar cells Another enhancement that is currently gaining momentum for its application in thin film solar cells is the use of small metallic particles to create surface plasmon polaritons, electric field oscillations appearing at the boundaries of positive and negative dielectrics. These configurations will constitute a significant part of our numerical experiments on solar cell efficiency enhancement. 6 Spectral irradiance (W m−2 nm−1 ) Chapter 1. Introduction 2.5 Solar spectrum at sea level Black body at 5800K 2 1.5 1 0.5 0 500 1000 1500 2000 2500 3000 Wavelength (nm) Figure 1.1: The solar spectrum at sea level. A black body radiator is drawn as comparison. Data taken from ASTM G173 - 03(2008) Chapter Methods For our numerical experiments we use both the finite difference time domain method (FDTD) [39] and the frequency domain electric field volume integral equation method (EFVIE) to compute the electromagnetic field. We use two different methods to address our work in two different ways. The simulations of a complete solar cell module are done using FDTD, whereas the EFVIE is used for the analysis of elementary scatterers. In this chapter we present the description and relevant details of these methods for the interested reader. The descriptions in this chapter are for full 3D simulations. The analysis for FDTD can be reduced to 2D by setting the derivatives ∂z = 0. We can now decouple the Maxwell equation and separate it in two different modes (Transverse Electric and Transverse Magnetic) that can exist independent of each other by Ez (x, t), Hx (x, t), Hy (x, t) = 0 TM-mode Hz (x, t), Ex (x, t), Ey (x, t) = 0 TE-mode. (2.1) Simulations with the EFVIE method can be scaled down to 2D in the same way. The analysis on the EFVIE method contains some details about its convergence. It is known that a domain with a large ε compared to its background will result in a slow convergence. We will look at preconditioning techniques to improve the convergence of this method. 2.1 FDTD in 3D for dispersive media The finite difference time domain is a numerical implementation of the Maxwell equations, where we use a discretization in space and time to progress the field in time. The domain of computation is discretized using the Yee lattice [43], where we define components E(x, t) and H(x, t) on different grids in a leapfrog manner. Here we alternate between grid points for E(x, t) and H(x, t) in each dimension over the entire domain. We space the grid points at distance h from each other in each direction. In this way the error of the discretization of the Maxwell equations is O((∆x)2 ). 7 2 8 Chapter 2. Methods Discretization of the Maxwell’s equations We start with separating (1.1) into the following equations: ∂Ey (x, t) ∂Ez (x, t) ∂Hx (x, t) =0, (2.2a) − − µ0 ∂t ∂z ∂y ∂Ez (x, t) ∂Ex (x, t) ∂Hy (x, t) =0, (2.2b) − − µ0 ∂t ∂x ∂z ∂Hz (x, t) ∂Ex (x, t) ∂Ey (x, t) µ0 =0, (2.2c) − − ∂t ∂y ∂x and separate (1.2) as: ∂Dx (x, t) ∂Hz (x, t) ∂Hy (x, t) = Jx (x, t) , − − ∂t ∂y ∂z ∂Dy (x, t) ∂Hx (x, t) ∂Hz (x, t) − − = Jy (x, t) , ∂t ∂z ∂x ∂Hy (x, t) ∂Hx (x, t) ∂Dz (x, t) = Jz (x, t) , − − ∂t ∂x ∂y (2.3a) (2.3b) (2.3c) where we assume that the magnetic current K(x, t) = 0 everywhere during our simulation, and µ0 is constant. Vector x has three components; x, y, z. We replace the differences in (2.2) and (2.3) with their finite difference equivalents. To obtain a second order accuracy we use a central-difference scheme with distance h between grid points to implement the finite difference. This finite difference has the form f (xi + 12 h) − f (xi − 21 h) ∂f (x) = (2.4) + O h2 . ∂xi xi =h h This discretization is used for spatial derivatives in each direction and for the time derivative. If we center E(x, t) around tn+1/2 and H(x, t) around tn we can evolve the equations in time in a leapfrog manner while having the correct components available to compute the central differences. The resulting formulas can be explicitly calculated. FDTD for dispersive media The media interesting for our research show dispersive behavior over a range of frequencies. In particular, the permittivity of many materials needed for solar cell manufacturing depends on frequency, i.e. ε = ε(x, ω). To make our models accurate over a wide frequency range, we need to model this dispersion accurately in the FDTD method. We do this by adding an auxiliary set of differential equations (ADE). In frequency domain, dispersive media obey the constitutive relation D(x, ω) = ε(x, ω)E(x, ω). To obtain a time-domain representation, we first need D(x, t) which can be directly calculated from the Maxwell equations. By taking the inverse Fourier transform of D(x, ω) we get a time dependent differential equation. We use this on the Lorentz dispersion model: εr (x, ω) = ε∞ (x) + s(x)ω02 (x) , − ω 2 + jωγ(x) ω02 (x, ω) (2.5) 9 2.1. FDTD in 3D for dispersive media where ω0 (x) is the resonance frequency, γ(x) is the damping coefficient and s(x) the oscillator strength. We insert (2.5) in the definition for of displacement current D(x, t) as s(x)ω02 E(x, ω) , 2 ω0 − ω 2 + jωγ ε∞ (x)(ω02 − ω 2 + jωγ) + s(x)ω02 E(x, ω), D(x, ω) = ε∞ (x) + (ω02 − ω 2 + jωγ)D(x, ω) = (2.6) and derive the ADE for a Lorentz type medium using the inverse Fourier transform: ∂D(x, t) ∂ 2 D(x, t) = + ω02 (x)D(x, t) + γ(x) ∂t ∂t2 ∂E(x, t) ∂ 2 E(x, t) s(x)ω02 (x) . (2.7) + 1 E(x, t) + γ(x) + ε∞ (x) ε∞ (x) ∂t ∂t2 In this model, all parameters of the Lorentz model have a spatial dependence x. Though this is a valid construction, it is also a cumbersome one. As we will see in the next paragraph, it is easier to drop the spatial dependence in the ω0 and γ parameters, and create a sum of separate dispersion curves. Then we let the spatial dependence on s(x) be controlled by a indicator function, i.e. s(x) = sϕ0,1 (x) with ϕ0,1 (x) either 0 or 1. The second order terms appearing in the ADE are also discretized with a central finite difference approximation, where h is again the distance between the grid points: f (xi + h) − 2f (xi ) + f (xi − h) ∂ 2 f (x) = (2.8) + O h2 . 2 2 ∂xi xi =h h We approximate the first order terms as central differences as well. We can now write a an explicit finite difference update equation using the fact that (2.9) En+1 = f Dt+1 , Dt , Dt−1 , Et , Et−1 . Modeling empirical dispersion curves While the previous ADE approach works fine if we can describe the dispersion with only a single Lorentz model, in practice we often deal with complicated dispersion curves obtained from experimental data over a broad frequency range. It turns out we can use the sum of multiple Lorentz models to make an accurate fit to such experimental data. A common way to do this is to split the electric flux density vector in a ’static’ part and a sum of polarizations, i.e. D(x, t) = ε∞ (x)E(x, t) + N X Pi (x, t), (2.10) i where in the frequency domain each polarization is Pi (x, ω) = 2 si (x)ω0,i 2 − ω 2 − jωγ E(x, ω). ω0,i i (2.11) 10 Chapter 2. Methods The Maxwell equations need to be rewritten to incorporate these polarizations. Our representation is due to Takayama et al. [40]. We start with the Maxwell equation for E(t) as ! N X ∂ Pi (x, t) = 0 (2.12) ∇ × H(x, t) − σ(x)E(x, t) + ε∞ (x)E(x, t) + ∂t i=1 which after discretization in time becomes Et+1 (x) − Et (x) Et+1 (x) + Et (x) + ε∞ − 2 ∆t N X Pt+1 (x) − Pti (x) i . ∆t i=1 ∇ × Ht+1/2 (x) =σ (2.13) The time-domain version of (2.11) is ∂P(x, t) ∂ 2 P(x, t) +γ + ω02 P(x, t) = s(x)ωr2 E(x, t) ∂t2 ∂t (2.14) analogous to 2.6. In finite difference notation this gives Pt+1 (x) − 2P(x) + Pt−1 (x) Pt+1 (x) − Pt−1 (x) +γ + ω02 Pt (x) = s(x)ωr2 Et (x). 2 (∆t) ∆t (2.15) Rearranging eqns. (2.13) and (2.15) algebraically gives Pt+1 (x) = i 4 − 2(∆t)2 ω02 t 2(∆t)2 s(x)ω02 t γ∆t − 2 t−1 Pi (x) + Pi (x) + E (x), γ∆t + 2 γ∆t + 2 γ∆t + 2 Et+1 (x) = 2ε∞ (x) − σ(x)∆t t 2∆t E (x) + 2ε∞ (x) + σ(x)∆t 2ε∞ (x) + σ(x)∆t − N X 2 Pt+1 (x) − Pti (x) , i 2ε∞ (x) + σ(x)∆t i=1 (2.16) ∇ × Ht+1/2 (x) (2.17) which are the FDTD equations for a model with multiple dispersion curves. From (2.16) and (2.17) we see that FDTD models that account for dispersion have a significant drawback. For each field Pi we need 2 + i field updates and we need to store 2(i + 1) fields for each iteration tn → tn+1 . For an accurate model with multiple dispersion curves this can put a strain on the available computer memory and can require to limit the size of our computational domain. Stability of FDTD To be useful in practice, a method should have welldefined applicability limits. We want our time-stepping to be as coarse as possible to minimize computational work, without the solution ‘blowing up’. The following analysis is due to Remis [34]. We consider a method to be stable in the L2 norm over m steps if there exists a constant C > 0 such that ||F (tn+m )||2 ≤ C||F (tn )||2 ∀m < T. (2.18) 2.2. The volume integral equation method 11 The FDTD update can generally be written as Ft+1 = G∆t Ft , where Ft is a field vector holding all field quantities, and G∆t is some iteratively applied update matrix on Ft executing one FDTD iteration for E(x, t) and H(x, t). From the Cauchy-Schwartz inequality we obtain the following bound: ||F (tn+m )||2 = ||Gm ∆t F (tn )||2 ≤ C||F (tn )||2 (2.19) From this it follows that if m → ∞ we must have ||Gm ∆t ||2 ≤ 1. It can be shown [34] that the stability condition on a uniform grid in a homogeneous medium is 2 ∆t < , (2.20) c0 ρ(D) with ρ(D) being the spectral radius of the discretization matrix of a homogeneous and uniform grid, i.e. D is the part of iteration matrix G that represents the spatial properties of the grid. The spectral radius of this matrix is explicitly given as v u X 1 πLi u 2 , (2.21) sin ρ(D) = 2t (hi )2 2(Li + 1) i={x,y,z} where Lx,y,z are the number of grid points in the x, y and z direction and hi the distance between the grid points. We use the fact that πα 2 lim sin = 1, (2.22) α→∞ 2(α + 1) which converges to its limit exponentially, and so we state the stability condition as 1 . (2.23) ∆t < q −2 −2 c0 h−2 x + hy + hz In the case of an inhomogeneous medium, we have to adjust the wave speed c to the slowest speed in our domain, i.e. replace c0 with c0 /nmax , where nmax is the largest refractive index in the computational domain. Stability condition for dispersive media For the FDTD equations extended to include dispersive media, essentially the same stability condition (2.19) must hold. The iterator matrix G∆t has changed due to the the different update equation (2.17), which itself depends on (2.16). Depending on the implementation of the FDTD, the stability condition does not change for the inclusion of Lorentz dispersion, provided that the damping factor γ satisfies γ > 0 [6]. 2.2 The volume integral equation method Although the FDTD method is a powerful method, it also comes with a few drawbacks that require us to consider other methods to solve Maxwell’s equations. Our problems with the FDTD method are twofold. First, the implementation of the FDTD method we use for our experiments does not allow to specify 12 Chapter 2. Methods a frequency independent conductance σ. While this is not a big problem if a small bandwidth is used, we have chosen the FDTD method explicitly because it gives us a broadband view. This drawback is particularly damaging in our efforts to compute an optimal absorption curve. The second problem is inherent to the FDTD method, to all its appliances. The FDTD method is based on a leap-frog time stepping. This means that we never have E(x, t) and H(x, t) at the same location in space and time. While this achieves a second order accuracy, it also means that the time instantaneous Poynting vector S(x, t) = E(x, t) × H(x, t) will always be an approximation because one of the two fields has to be interpolated in space and time to do the computation. A method that does not suffer from these drawbacks is the Electric Field Volume Integral Equation (EFVIE) and in this section we shall overview its basic formulation. Derivation of the equation The EFVIE method is a frequency-domain approach, so we start with applying the Fourier transform to the Maxwell equation (1.1), (1.2) −∇ × H(x, ω) + η(x, ω)E(x, ω) = −J(x, ω) , ∇ × E(x, ω) − jωµ0 H(x, ω) = 0 . (2.24) (2.25) where we introduce the transverse admittance as η(x, ω) = σ(x, ω) − jωε(x, ω) = −jω(ε′ (x, ω) + jε′′ (x, ω)) . (2.26) We assume that the magnetic permeability µ0 is constant everywhere. The equations describe the total field at a single frequency ω. We split the field in its incident and scattered parts as E(x, ω) = Ein (x, ω) + Esc (x, ω) , (2.27) H(x, ω) = Hin (x, ω) + Hsc (x, ω) . (2.28) The incident field Ein is defined as the field produced by external current density J(x, ω) without any scatterers in an uniform background, and it satisfies −∇ × Hin (x, ω) − jωεb (ω)Ein (x, ω) = −J(x, ω) , ∇ × Ein (x, ω) − jωµ0 Hin (x, ω) = 0 . (2.29) (2.30) We can now obtain the Maxwell equations for the scattered fields by subtracting (2.29) and (2.30) from (2.24) and (2.25) and using (2.28), as −∇ × Hsc (x, ω)) − jωεb Esc (x, ω) = − [η(x, ω) − jωεb ] E(x, ω) , ∇ × Esc (x, ω) − jωµ0 Hsc (x, ω) = 0 . (2.31) (2.32) The equation (2.29) can be solved analytically by applying the Green’s function technique: Z Ein (x, ω) = jωµ0 + εb−1 ∇∇· g(x − x′ )Jext (x′ , ω) dV . (2.33) x′ ∈D 2.2. The volume integral equation method 13 We note the similarity of the left hand side of (2.31), (2.32) and (2.29), (2.30) and deduce the EFVIE as Z Ein (x, ω) = E(x, ω) − G(x − x′ )χ(x′ , ω)E(x′ , ω) dV, (2.34) D where we have introduced the contrast function χ(x, ω) = ε′ (x, ω) + jε′′ (x, ω) − 1. εb (ω) (2.35) The Green’s tensor is defined as G(x − x′ , ω) = α(x − x′ , ω)Q (x − x′ ) + β(x − x′ , ω) I, (2.36) where −kb2 3 −3jkb α = exp(jkb |x − x |) , + + 4π|x − x′ | 4π|x − x′ |2 4π|x − x′ |3 kb2 1 jkb β = exp(jkb |x − x′ |) , + + ′ ′ 2 4π|x − x | 4π|x − x | 4π|x − x′ |3 ′ (2.37) (2.38) and [I]mn = δmn (2.39) [Q]mn = Θm Θn = (xm − x′m ) (xn − x′n ) . |x − x′ | |x − x′ | (2.40) Although the Green’s is strongly singular, it turns out [9], that the solution of (2.34) exists if and only if ε′ (x, ω) + jε′′ (x, ω) 6= 0 ∀ x ∈ R3 , (2.41) and it is unique provided ε′′ > 0. (2.42) This means that our object has to be both passive and lossy. Iterative solution of the EFVIE Since the integral equation (2.34) can be solved analytically for a few simple structures only, we will typically have to resort to numerical solutions of the discretized version of the equation. To this end, it is important to know the basic properties of the pertinent integral operator. In operator notation (2.34) is written as e − GXe = ein . (2.43) The solution of this equation is in the Hölder continuous vector functions from the Hilbert space H. A common way to solve a large scale linear problem such as this one is via some iterative algorithm. Thus the question of convergence of 14 Chapter 2. Methods an iterative scheme becomes significant. It turns out that the convergence rate of many iterative algorithms depends on the normality property of the system operator, or system matrix after discretization. As we shall demonstrate below, our operator is not normal. An operator is normal if it satisfies the relation AA∗ = A∗ A , (2.44) with the adjoint operator A∗ defined as hAu, vi = hu, A∗ vi, ∀ u, v ∈ H. (2.45) It is known that if the two operators A1 and A2 are normal and commute, then A1 ± A2 and A1 A2 are also normal. Since the left part of our EFVIE operator A = I − GX is the identity operator, we only need to show the non-normality of operator GX. We start by finding the adjoint of the integral operator G with the Green’s tensor kernel. We define the dot product for vector-valued functions as hu, vi = Z x∈D N X un (x)vn (x) dx, (2.46) n and the norm of u as 1 ||u||2 = hu, ui 2 . The integral operator G is defined as Z Gu = G(x − x′ , ω) u(x′ ) dx′ . (2.47) (2.48) x′ ∈D We see from (2.37) and (2.38) that α and β are invariant with respect to the order of x and x′ since they contain the distance |x − x′ | only, and the same holds for the denominator of Θ. For the numerator of Q we have (xm − x′m )(xn − x′n ) = xm xn − xm x′n − x′m xn + x′m x′n = (x′m − xm )(x′n − xn ). (2.49) Thus, we have proven that the order of x and x′ does not change the kernel of the operator G. To find the adjoint of G all we have to do is put it in (2.46): Z Z hGu, vi = (αQ + βI) u(x′ )v(x) dx′ dx x x′ Z Z ′ u(x ) (αQ + βI) v(x) dx dx′ = x′ Zx Z ′ u(x ) (αQ + βI)v(x) dx dx′ = x′ = hu, Gvi, x (2.50) 2.2. The volume integral equation method 15 where G denotes the conjugate of the kernel of G. The adjoint of the operator X is found from Z χ(x)u(x)v(x) dx hXu, vi = x∈D Z = u(x)χ(x)v(x) dx x∈D = hu, Xvi, (2.51) so we have X ∗ = X. (2.52) Now that we have found all the necessary adjoint operators we use (2.46) to demonstrate that our operator A is non-normal: A∗ A = (I − X ∗ G∗ )(I − GX) = I − GX − X ∗ G∗ + X ∗ G∗ GX, AA∗ = (I − GX)(I − X ∗ G∗ ) = I − X ∗ G∗ − GX + GXX ∗ G∗ . (2.53) (2.54) The last operators in (2.53) and (2.54) are obviously different, since G and X do not commute. Even in the case of a homogeneous medium X = I, we have (G∗ G = GG) 6= (GG = GG∗ ). Now that we know a little more about the structure of our operator, we will attempt to solve this equation numerically by using a discretized version of (2.43) – which is a standard linear system description. We discretize (2.34) in domain D over a grid of cells such that D = ∪n Dn , where Dn is the volume occupied by a single cell. We approximate the integral by a sum. The value of the grid cell is then approximated by by value at the middle of the cell, multiplied with its volume Dn . For the cell that holds the singularity a special trick must be applied, but it turns out this cell has a bounded value. This gives us a system that is second order accurate. These discretized systems are often to big to use a direct solver such as the LU -decomposition, and iterative methods are usually applied. Our matrix A being non-normal, we cannot use iterative methods meant for symmetric positive definite matrices. The algorithms we can use include GMRES, MINRES, Arnoldi and some Conjugate Gradient modifications (e.g. BiCGSTAB). A robust method to solve this type problem is the GMRES method [37]. It is a Krylov subspace type method which at the m-th iteration has built an orthogonal basis Vm and minimizes the residual rm = ||ein − (I − GX)em ||, (2.55) over the corresponding Krylov subspace. In exact arithmetics the GMRES algorithm cannot break down for our type of matrix, even if it is restarted, unless the exact solution is reached. Moreover, the norm of the residual will decrease monotonically as the iterations progress. 16 Chapter 2. Methods The known theoretical bounds on the convergence of GMRES involve the diagonalization of the system matrix as A = RΛR−1 . This diagonalization (i.e. RR−1 = I) is in general not possible for non-normal matrices. Nevertheless, we can still obtain a useful convergence estimate by looking at MINRES, a similar algorithm, that does not orthogonalize the basis but does try to minimize the residual at every iteration. Algorithm 1 The minimal residual algorithm (MINRES) while tolerance ≤ (b − Au)/b do r ← b − Au α ← hAr, ri/hAr, Ari u ← u + αr end while The field of values of matrix A is defined [17] as a subset of the complex plane as hAx, xi n F (A) = | x ∈ C , x 6= 0 . (2.56) ||x||2 For a normal matrix, F (A) is a polygon in C, the envelope representing a bound on the eigenvalues of A. For non-normal matrices, F (A) extends beyond the eigenvalues envelope. We define a lower bound as the smallest distance µ between F (A) and the origin of C µ = inf x |hAx, xi| , hx, xi (2.57) and the largest distance from the origin as σ = sup x s |hA∗ Ax, xi| . hx, xi (2.58) Further, the norm of the inverse of our operator is bounded by ||A−1 ||2 ≤ 1 . µ (2.59) Then it can be proven that the error after n MINRES iterations can be estimated as !n r µ2 1 ||r0 ||2 . (2.60) 1− 2 ||u − un ||2 ≤ µ σ We see that the convergence depends on both µ and σ. This means that these values need to be close together for a fast convergence. To see how this affects us we have to look at the spectrum of the EFVIE operator and the related discretized system matrix. 17 2.2. The volume integral equation method Im σ ε′ + jε′′ λe ss 1 µ Re Figure 2.1: Spectrum of the EFVIE operator for a specific medium. In this example ε′ is negative, which will make parameter µ small and will likely give convergence problems Spectrum of the EFVIE operator The spectrum of a general linear operator can be split into two main parts; the essential spectrum λess , which does not change with respect to compact perturbations of the operator, and the discrete eigenvalues. In [9] it was shown that the essential spectrum of the EFVIE operator is given by λess = ε(x, ω) , εb x ∈ R3 , (2.61) and that the discrete eigenvalues occupy a wedge-shaped domain as illustrated in figure 2.1. The outer edge of the wedge is bounded, since we have a bounded operator. If the problem has a unique solution, the zero is not an eigenvalue. The wedge domain follows from the bound ε′ (x, ω) − (ε′ (x, ω) + ε′b )Reλ − (ε′′ (x, ω) − ε′′b )Imλ + ε′b |λ|2 ≤ 0, x ∈ R3 . (2.62) Generally, for the operator the essential spectrum is continuous in the C plane. For our purposes, we have to work with a discrete representation of the operator, which is a matrix, and it does not have an essential spectrum. If we look at the matrix though, it turns out that it has a dense set of eigenvalues at the location of the essential spectrum of the operator. This property we can use to estimate the location of some of the eigenvalues of the matrix, and thereby the parameters µ and σ, which effect the convergence of the iterative algorithm. An example of the spectrum for a medium with negative ε′ , such as a silver object in vacuum at optical frequencies, is shown in figure 2.1. The essential spectrum may serve as an estimate on µ. The rest of the wedge is filled with discrete eigenvalues, and we do not know their exact location. Preconditioning We have seen that our operator A was non-normal and that this can lead to convergence problems in certain situations. A common trick in 18 Normalized norm of residual Chapter 2. Methods 1 Regularized system Normal system Original system 10−1 10−2 10−3 10−4 10−5 10−6 0 200 400 600 800 1000 No. of iterations Figure 2.2: Convergence of problem with a silver sphere with 120 nm radius centered in the domain, 50 cell per dimension, h = 4.8 nm, λ = 688 nm these situations is to make it normal a by multiplying the problem with the adjoint A∗ : A∗ Au = A∗ b. (2.63) The whole spectrum is now purely real. This can solve problems involved with a small µ, but at the same time it makes σ larger. To see the impact of this operation we will look at the symbol of our operator. The details and derivation of the symbol can be found in [9, 26]. It is known that the symbol of our operator is given by Φ(A) = I − Q + εr (x)Q, (2.64) with I and Q given by (2.39) and (2.40). The matrix Q has the projector property, i.e. QQ = Q, which we will use subsequently. The symbol of the adjoint operator is given by Φ(A∗ ) = I − Q + εr (x)Q, (2.65) and the symbol of the normalized operator A∗ A is simply the product of its two corresponding symbols: Φ(A∗ A) = I − Q + εr (x)Q I − Q + εr (x)Q = I − Q + |εr (x)|2 Q. (2.66) The |εr (x)|2 term tells us that λess , has been squared for our new operator. The distance from the origin of the point farthest away has now squared in the new operator, and we can only hope that this increase is compensated by a larger µ. Figure 2.4 shows that this is clearly not the case. However, from figure 2.2 we see that the superlinear phase at the beginning of GMRES goes down fast, which makes it a useful technique to get a reasonable error fast. 19 2.2. The volume integral equation method 1.4 Original spectrum Regularized spectrum 1.2 Im(λ) 1 0.8 0.6 0.4 0.2 0 -0.2 -20 -15 -10 -5 0 5 Re(λ) Figure 2.3: The spectrum of an elementary silver scatterer. Domain size is 12 grid points per dimension 10−4 10−3 10−2 10−1 1 101 102 103 Reλ Figure 2.4: Eigenvalues for the normalized operator. Figure is on the logarithmic scale to show small eigenvalues Regularizer While the conjugate preconditioner did not work due to the unfavorable new distribution of the eigenvalues, we try another preconditioner that will keep the eigenvalues closer to unity. For this, we use the regularizer [9] containing the point-wise inverse of the ε(x) function, its symbol being Φ(A† ) = I − Q + ε−1 r (x)Q, (2.67) so our regularized operator has the symbol Φ(A† A) = I − Q + ε−1 r (x)Q (I − Q + εr (x)Q) = I − Q + ε−1 r (x)εr (x)Q = I. (2.68) Thus, we have brought back the essential spectrum to a single point. We see from figure 2.2 that this regularizer is converging roughly twice as fast. This figure does not show, however, that the computation time per iteration is roughly doubled, so in computation time there will typically be limited gain. Although the essential spectrum has collapsed to a single point, there are still a lot of other eigenvalues determining convergence. We see from figure 2.3 that they lie roughly in the same line as were the spectrum for the original system is, only more compressed. This explains why the convergence using this regularizer has improved. Chapter Software and models for solar cell simulations 3.1 Meep For the numerical experiments we need some implementation of the FDTD method. In our research we have made extensive use of Meep (mit Electromagnetic Equation Propagation). Meep is an open source implementation with a rich although somewhat badly documented functionality [28]. The Meep libraries makes heavy use of method overloading, a programming technique, which makes them more flexible, but also more difficult to understand the source code. For our experiments we have used Meep 1.1.1-3 build 1. Meep accepts the spatial coordinate input in a continuous coordinate system, so we can define our geometries in any arbitrary shape. The software will interpolate the geometry to the underlying grid, so we do not have to worry about the structure of the computational domain. Despite this, we still have to be careful, since an interpolation by no means is an exact representation, as it will also smear out discontinuities over neighboring cells. There are two common ways to use Meep. The first is to script the Meep engine using the Scheme programming language [13]. This interface is fully documented, but requires good knowledge of the Scheme language to get maximal flexibility. Another drawback of the Scheme implementation is the lack of per cell assignment of medium parameters ε, µ, σ without complicated constructions. To work around these bottleneck, we have decided to implement our computational code on the available Meep C++ libraries. Using these libraries we can compile our own program, thereby making available to us the full capabilities of the C++ language. Another advantage is that we can modify the libraries to our own needs, making this a powerful FDTD simulator. The main drawbacks of programming with the C++ libraries directly rather than through an interpreter are the longer development times, since C++ is a low level language. Also the virtually non-existent documentation for these libraries is an obstacle. The Meep developers give some examples on how to use their libraries, and there is an outdated manual on the libraries. Most of our 21 3 22 Chapter 3. Software and models for solar cell simulations understanding of these libraries comes from analyzing the library source codes by hand and by trial-and-error. Units in Meep Meep implements so-called scale invariant units. The only physical unit that we need in the Maxwell’s equations is the wave speed c, and in Meep we have cMeep = 1. The wave speed couples the dependence between space and time (hence its unit ms−1 ). In practice scale invariance means that if e.g. we double all spatial sizes and cut the frequency by half, we end up with exactly the same results, only on another scale.1 This means we can choose a unit length scale a arbitrary, and with this fix the dependency on time and frequency through the wave speed c, which is one in Meep. The time unit is e.g. determined through the relation t = a/cMeep and so is the wavelength of our source. Thus we have the fundamental relation between units −1 aMeep = tMeep = λMeep = fMeep , (3.1) and physical frequencies therefore map to Meep frequencies as fMeep = a fphys . c (3.2) If we give an interpretation to one of these, e.g. by saying that aMeep correspondents to 1 µm we have fixed all units. Another small illustration, in the subsequent code example we excite a source at fMeep 0.8 with frequency width 0.2. This means we have a pulse width [0.6, 1.0] fMeep . If, as we do in the numerical experiments, we choose a = 600 nm, we have a source from 600 nm to 1000 nm with its peak at 600/0.8 = 750 nm. Building Meep programs with the C++ library The best way to show how the C++ library is used is by a small example: #include<meep . hpp> using namespace meep ; 5 10 15 double eps ( const vec& p ) { i f ( p . z ( ) <= p . x ( ) ) return 2 . 0 } i nt main ( i nt a r g c , char ∗∗ a r g v ) { i n i t i a l i z e mpi ( a r g c , a r g v ) ; g r i d v o l u m e gv = v o l 3 d ( s i z e x , s i z e y , s i z e z , r e s o l u t i o n ) ; s t r u c t u r e s ( gv , eps , pml ) ; s . a d d p o l a r i z a b i l i t y ( sigma , E−s t u f f , gamma , r e s o n a n c e ) ; f i e l d s f (& s ) ; f . use real fields (); 1 If the scale becomes too small, the Maxwell equations are no longer valid in the physical world, for the Maxwell equations are macroscopic equations. 3.1. Meep 23 gaussian src time src (0.8 , 5.0); f . add volume source ( p o l a r i z a t i o n , src , sr cLocation ) ; char name [ 4 ] = ” f o o ” ; h 5 f i l e ∗ f i l e = f . o p e n h 5 f i l e ( name ) ; volume e x s l c ( vec ( 0 , 0 , s i z e z / 2 . 0 ) , vec ( s i z e x , s i z e y , s i z e z / 2 . 0 ) while ( f . time ( ) < tmax ) { f . step ( ) ; f . o u t p u t h d f 5 ( p o l a r i z a t i o n , e x s l c , f i l e , true , true ) } return 0 ; 20 25 } Listing 3.1: A minimalistic program using the Meep C++ library The first line in main() is to initialize MPI2 . Even if parallel execution is not used this line must be present. The grid volume sets up a computational domain, and we fill it with structure s. The eps() function returns a per cell permittivity, which is exactly what we want in the experiments. The eps() function accepts only a const vec& as an input. The vec object is a Meep class which holds a single coordinate. Individual components can be retrieved with methods x(), y(), z(), and components are assigned in that order. With this we can program any geometry we like. On the structure we define a field, and we want it to be real. Meep excites complex sources which are needed for Bloch periodic boundary conditions. This means we also need to keep track of the imaginary field and thus we need twice as much memory and computations. Since we do not use the Bloch periodic boundary conditions we force the program to only use real fields. There are two type of sources build in, a continuous wave and a Gaussian pulse. The Gaussian pulse is defined as (t − t0 )2 −1 ∂ P(x), (3.3) exp −jωt − Jext (x, t) = (−jω) ∂t 2w2 where P(x) is a unit current density vector dependent on location and polarization. We will use this Gaussian pulse in our numerical experiments. Meep also has a possibility to define custom sources, but their usage is not very straightforward. We can define the polarization of the source in any direction we like, enabling both TE mode and TM mode simulations. This means we have to be careful, since this also allows us to specify impossible polarizations which will typically result in an unstable method. The time stepping function f.step() makes a single time step, and it is repeated until we arrive at tmax . At every time step we want to output a slice ex slc of our field. We have placed the slice invariant in the z direction, halfway the z-axis. The fields are written in the hdf5 file format, a common container format to hold large amounts of numerical data. It is supported by a large number of data processing and visualization software such as Python, Matlab and ParaView, and has interfaces (API’s) for most popular programming languages. We can output only one slice per file, so if we want to see more slices 2 Message Passing Interface, a technique for communication between processes used for parallel execution of a program. 24 Chapter 3. Software and models for solar cell simulations we would have to use multiple files. Different Cartesian components of the slice can be put in the same file. The last two arguments in the output hdf5 function are to append data over time and to write the results to disk in single precision float format (32 bit) to save disk space. Note that all calculations are done with maximal machine precision. Dispersion in Meep In Meep dispersion is added to the structure using the add polarizability() method. For each Lorentz (or Drude) curve, we add a polarization. The dispersion in Meep is implemented as ε(x, ω) = ε∞ (x) + N X i 2 si (x)ω0,i 2 − ω 2 − jωγ , ω0,i i (3.4) We can define one ε∞ per cell and as many dispersion curves as needed over our grid. The oscillator strength s(x) is implemented as a spatial dependent function, and as such can be used to enable or disable a dispersive medium at particular coordinates. 5 10 15 double sigma ( const vec& p ) { i f ( p . x ( ) < 1 . 0 or p . y > 2 . 0 ) return 5 . 0 ; else return 0 ; } i nt main ( i nt a r g c , char ∗∗ a r g v ) { ... s t r u c t u r e s ( gv , eps ) ; s . a d d p o l a r i z a b i l i t y ( sigma , E−s t u f f , gamma1 , r e s o 1 ) ; s . a d d p o l a r i z a b i l i t y ( sigma , E−s t u f f , gamma2 , r e s o 2 ) ; s . a d d p o l a r i z a b i l i t y ( sigma , E−s t u f f , gamma3 , r e s o 3 ) ; ... } Listing 3.2: An example showing how to add dispersion in Meep The gamma* and reso* variables are just numbers, and the sigma is a pointer to a function that accepts a const vec& only. This means any variable we need in this function we need to declare as a global variable. A way to work around this would be to change the Meep code libraries such that the so-called material function accepts a void pointer, which can then be casted to any type we like, a common trick in C++. The E-stuff parameter indicates our polarization works on the E-field, which will usually be the case. Flux planes in Meep To calculate the efficiency ratios (i.e. the ratio between incident energy and absorbed energy) we look at the energy flux density S = E × H. The implementation is as follows: ... 3.1. Meep 5 10 25 i nt main ( i nt a r cg , char ∗∗ a r g v ) { ... volume v o l i n c i d e n t ( vec ( 0 , 4 ) , vec ( 5 , 4 ) ) ; volume v o l a b s o r b i n g t o p ( vec ( 0 , 2 ) , vec ( 5 , 2 ) ) ; volume v o l a b s o r b i n g b o t t o m ( vec ( 0 , 1 ) , vec ( 5 , 1 ) ) ; f l u x v o l ∗ i n c i d e n t = f . a d d f l u x v o l (Y, v o l i n ) ; f l u x v o l ∗ top = f . a d d f l u x v o l (Y, v o l i n ) ; f l u x v o l ∗ bottom = f . a d d f l u x v o l (Y, v o l i n ) ; while ( f . time ( ) < t max ) { f . step ( ) ; i n c i d e n t e n e r g y += f . dt ∗ input −>f l u x ( ) ; a b s o r b e d e n e r g y += f . dt ∗ ( top−>f l u x ()− bottom−>f l u x ( ) ) ; } ... 15 } Listing 3.3: An example showing how to add flux planes in Meep To make a closed surface, we need multiple planes with fluxes defined through them. The normal of these planes is always in the positive x, y or z -direction. If we want to make a closed surface contour with the normal pointing outwards, we have to multiply half of the planes with −1 to change their direction and hence get the proper definition of the flux through a closed surface. To be correctly scaled, we multiply each flux instant with the time step f.dt. In this example we have computed the energy that is flowing in our domain through the incident energy and the absorbed energy through a flux contour with normals pointing outwards. The reasoning behind this is that all flux that enters a bounded domain and does not leave it, has to be absorbed. We assume all energy absorbed by the the side PML would have been absorbed by the solar cell if our simulation domain was wide enough, so we do not include the side flux planes in our computations. Compilation of a Meep program The compilation of our programs is pretty easy. We have used gcc 4.4.3 as compiler. Our application is computationally intense, so we want it to be as fast as possible. We apply all available optimizations and compile foo.cpp for our own system architecture using the command g++ -O3 -march=native foo.cpp -o foo -lmeep -lhdf5 The -O3 flag enables all optimizations, at the expense of a bigger file, which is of no concern to us (it is just over 50 kB). The link against the Meep libraries is done with -lmeep flag. If we want to use the hdf5 function we also need the -lhdf5 flag. Of course, these libraries need to be installed on the system we are compiling on. Instability in TE mode Simulations in 2D TE-mode are done in Meep by using a Hz source instead of an Ez source for TM-mode. Between these two modes there should be no difference in stability, as we have seen in the FDTD 26 Chapter 3. Software and models for solar cell simulations stability analysis. Due to unknown causes however, some results at particular configurations were clearly unstable in TE mode (efficiency ratios over 1050 % were reached). We have tried to resolve this by lowering the Courant number by more than half, and enforcing Perfect magnetic conductor boundary conditions with f.set boundary(side,dimension,Magnetic), to satisfy the Maxwell equation boundary condition in TE-mode, but with no success. The reason for this instability remains unknown to us. Polarization bug in Meep During experiments, we encountered a memory leak, which was confirmed using Valgrind, a software program designed to find memory leaks [41]. In a function with a locally initialized object from the structure class, this object must be deleted from memory as the function terminates. While running experiments, it turns out that the polarization fields are not deleted when their function scope ends. This means that if we make multiple runs with different configurations, memory will eventually run out. In our experiments we have circumvented this by writing a small script that runs the program with one set of input parameters. After this is done all memory used by the program is cleared by the operating system, and no memory is leaked. Then this procedure is repeated with a new set of input variables. 3.2 Matlab EFVIE code Our simulations using the EFVIE method are done with an in-house developed Matlab code. We give a brief summary of its use and implementation. To use the code we need a separate input file specifying the medium and other parameters such as source location and polarization, source frequency, and domain/grid size, all in SI units. In this file we also specify the geometry using a matrix of characters that indicate a specific predefined complex permittivity per cell. These files can be tedious to make by hand, so we deploy a small Python script to generate the input file. This allows us to define our computational domain in a geometric way instead of a per-cell basis. The Matlab code generates a vector holding all values η(x, ω), and matrix Q. These are used to compute the incident field Ein (x, ω), see (2.36-2.40). Next the Green’s tensor is created and the values at the singular location x = x′ are inserted. With the contrast matrix, the Green’s tensor and the incident field known, we can compute the total field by applying the GMRES algorithm. The matrix-vector products used for GMRES are computationally intensive. The EFVIE code exploits the special structure of the system matrix, and we can calculate the matrix vector product using the Fast Fourier Transform, thereby reducing computational cost from O(n2 ) to O(n log n), where n is the number of matrix elements. We need to extend our system matrix to make it circular, so we can apply the FFT. The details of this procedure can be found in [42]. 3.3. Approximating experimental data with a Lorentz model 3.3 27 Approximating experimental data with a Lorentz model The polarization of a dielectric medium is a volume density of electric dipoles produced by the displacement of electrons. In the case of a static electric field E(x), this density is given by P = −N ex, where N is the number of electrons per unit volume and e the electric charge that is being displaced [14]. In a time varying electric field E(x, t) however, this density becomes dynamic due to the movement of electrons, and we take into account the bound electrons whose behavior is described through a damped harmonic oscillator as m d2 x dx + mγ + Kx = −eE. dt2 dt (3.5) In this model, it is assumed that the electrons are bound to their atom, and that the velocity dx/dt is sufficiently small to neglect both the produced magnetic field and any relativistic effects. It turns out that this model is accurate at frequencies starting from the far infrared [30]. To make an accurate broadband representation we will have to incorporate this behavior into our models. If we take a monochromatic field with time dependence exp(−jωt), we rewrite (3.5) as − mω 2 + jωmγ − K x = −eE. (3.6) From (3.6) and the definition of the polarization density we obtain the Lorentz dispersion model (2.5). In our implementation the spatial dependence is only on s(x), so we drop all other spatial dependencies. This model we will use to fit to the experimental data. A simple oscillator described by (3.5)–(3.6) will match the frequency response of ε in a small region only, and in reality materials can contain a wealth of resonance behavior at different frequencies based on their crystalline structure. We solve this problem by using multiple Lorentz curves that will be fitted simultaneously to the experimental data. Fitting the model To build our model, we have used real measurement data from DIMES3 from 1998. These measurements consist of the refraction index n and the absorption ratio κ for different wavelenghts. In table 3.1 we show the intervals over which the measurements are distributed. The refractive index data for gold and silver is provided by Palik [30]. This source however, covers a very wide frequency range (five orders of magnitude), and has only 8–10 data points in our frequency range of interest. Nevertheless, we still achieve a reasonable quality fit. Our objective is to fit the Lorentz model as close to the experimental data as possible. The data is supplied in n, κ form, so we first rewrite it as a complex permittivity via the following relation: ε = n2 − κ2 + 2jnκ. 3 Delft Institute of Microsystems and Nanoelectronics (3.7) 28 Chapter 3. Software and models for solar cell simulations Material λmin (nm) λmax (nm) ∆λ (nm) Glass Aluminum p-doped aSi n-doped aSi intrinsic aSi Zinc Oxide 250 350 350 350 250 380 2500 1000 1000 1000 1201 1000 1 10 10 10 1 10 Table 3.1: Measurement ranges for the DIMES supplied data Kramers–Kronig causality relation The Kramers–Kronig relation relates the imaginary and real parts of a complex function f (ω), provided it is analytic in the upper half of the complex space and satisfies the limit 1 f (ω) < . ω→∞ ω lim (3.8) These restrictions turn out to hold for our complex permittivity function if we modify it slightly. Consider the integral I C ε(ω ′ ) − ε∞ dω ′ ω′ − ω (3.9) over the contour surrounding the entire upper half of the complex plane. If we apply a contour integration around the poles, this integral will yield zero. We can split it up in a p.v.-integral and the arc over infinity needed for closure as p.v. Z ∞ ∞ ε(ω ′ ) − ε∞ dω − jπ (ε(ω) − ε∞ ) = 0. ω′ − ω (3.10) The p.v.-integral is the integral over the real axis, excluding the pole. The second part comes from Jordan’s Lemma. The only thing left to do is to split ε(ω) in it’s real and imaginary part ε = ε′ + jε′′ to obtain ′ ∞ ε′′ (ω ′ ) − ε∞ dω, ω′ − ω ∞ Z ∞ ′ ′ ε (ω ) − ε∞ dω. ε′′ (ω) = −π −1 p.v. ω′ − ω ∞ ε (ω) − ε∞ = π −1 p.v. Z (3.11a) (3.11b) The relation between the real and imaginary part is the Hilbert transform. Our Lorentz model must satisfy these constraints, as does physics on a macroscopic scale. By only measuring e.g. absorption over a broad frequency range, we can obtain the real part of ε(ω) by applying a numerical Hilbert transform. Note that this will always be an approximation, since it will typically be impossible to evaluate the real or imaginary part of the function over the entire spectrum. 3.3. Approximating experimental data with a Lorentz model 29 Levenberg–Marquardt algorithm We fit the models to the experimental data by applying a least squares optimizer. This optimizer tries to minimize the sum of squared differences between the experimental data and the model at a predefined number of points. Since our model is non-linear, we use a nonlinear algorithm. We have chosen the popular Levenberg–Marquardt solution [27]. This uses the Gauss–Newton method with an extra offset parameter for better convergence. Fitting complex data The Levenberg–Marquardt algorithm was not designed to fit complex data, but using a small workaround we can solve this problem. Let εexp be the measured data, and ε be the parameter we get from fitting the Lorentz model to the experimental data. We define the difference vector as ′ ′ J(ε) = εexp ′ ||ε ||2 exp ε′′ exp ||ε′′ exp ||2 − ε ||ε′ ||2 ε′′ ||ε′′ ||2 . (3.12) We normalize the real part and the imaginary part, since we want them to carry equal importance in the fit. Indeed, ε′ and ε′′ have their magnitude a few orders apart, which would lead to a bias towards the part with the largest magnitude. The Lorentz model gives an ǫ′ and ǫ′′ as a result, and takes σ, ω02 and γ as arguments. Using the L2 norm of the squared vector (3.12) we obtain a cost functional F [ε] = ||J(ε)||2 , and the Levenberg–Marquardt algorithm minimizes this cost functional F [ε]. Other dispersion models The Lorentz model is not the only option to model dispersion. For metals the Drude model, in combination with the Lorentz model is a solution often used. The Drude model is given by ε(ω) = ε∞ + Ω2p . ω (ω − jγ0 ) (3.13) This model describes the free electron effects of the metal [33], where Ωp is the plasma frequency. While we have not forced to use this model, our fitting procedure is able to include the Drude model by letting ω0 → 0, and subsequently compensate by enlarging σ. In practice, we do not see this behavior happening during the parameter estimation. Our fits however look good and have a low error as defined by the norm of (3.12), so it seems pointless to explicitly enforce Drude-Lorentz behavior for the metallic materials. Computed parameters Although the least squares algorithm should give us the best possible answer, in practice it turns out that it is sensitve to the initial guess. We check the result for multiple trials with different random initial guesses and choose the result that has the smallest norm over the residual. A solution to this problem would be to define a good starting point, but we have not found a clear point where to look. Thus we apply a brute force method by generating random starting vectors and compare their results. An example of a 30 Chapter 3. Software and models for solar cell simulations 19 1.4 Fitted data Experimental 18 1 ε′′ 17 ε′ Fitted data Experimental 1.2 16 0.8 0.6 15 0.4 14 0.2 0 600 700 800 900 wavelength λ 1000 600 700 800 900 1000 wavelength λ Figure 3.1: Experimental ε and fitted Lorentz model for the intrinsic semiconductor model fitted to the experimental data is given in figure 3.1. The parameters obtained from the fitting are in table A.1. The collection of figures on all materials can be found in appendix A. The bounds we placed on the fits is that all parameters are positive and that ε∞ does not violate stability conditions. We note √ that the ε∞ of silver is just the minimal stable value for a 2D simulation, 2, such that Courant stability number need not be changed, see (2.23). Initially we made our attempts with three Lorentz curves. The fitting procedure revealed however, that there was usually one curve with a very small oscillator strength (s < 10−5 ), and so we made fits with two curves, which saves memory and computation time (see page 10). For our experiments, we focus on the 600–1000 nm range, so our fits are only known to be valid in this region. The experimental data from Palik does not fit exactly in the 600–1000 nm range, so the fits to the Lorentz model were made over a slightly larger part of the spectrum. Although the obtained fits accurately represent the experimental data over the chosen frequency domain, the underlying microscopic model and its corresponding parameters σ, ω02 and γ do not have to reflect the physical reality of a material. Moreover, there can be multiple solutions, and while we suspect that the solution with the lowest error over an available set of data points is the best, in practice a fit with the smallest error can look totally different than the measurements if we verify it visually. We have 10 degrees of freedom, and it seems that this is just to much to always converge to an optimum. Chapter Absorption enhancement techniques 4.1 Absorption of electromagnetic energy by a bounded object in free space The efficiency of a photovoltaic cell characterizes its ability to transform the incident solar radiation into electricity. In this research we are concerned with the external quantum efficiency, also known as the reflectance efficiency. This efficiency is defined as the fraction of incident power absorbed by the semiconductor layer of the cell where the photo-voltaic effect takes place. From the electromagnetic point of view, this layer is a finite object with particular predefined dispersive constitutive parameters. The actual design problem is a complicated one, and the results for the complete photovoltaic cell will be discussed in the next chapter when we present our numerical experiments. Before that, we will analyze the absorption by simple conducting objects in a vacuum background, and the influence of a neighboring scatterer on this absorption. Power balance for a dispersive dielectric The Poynting vector gives the instantaneous electromagnetic energy flux density per unit area, and is given by S = E × H. (4.1) The derivation of the Poynting theorem starts with modifying the Maxwell’s equations as ∂B , ∂t ∂D . E · (∇ × H) = J · E + E · ∂t H · (∇ × E) = −H · (4.2) (4.3) If we subtract these two equations from each other we get E · (∇ × H) − H · (∇ × E) = E · ∂B ∂D +H· + J · E. ∂t ∂t (4.4) Equation (4.4) is the electromagnetic energy balance in local form. Applying some known identities from vector calculus we end up with −∇ · (E × H) on the 31 4 32 Chapter 4. Absorption enhancement techniques left, which is the divergence of (4.1). We integrate (4.4) over a finite domain D and write the global form of the power balance as Pout + Wdiss + ∂t Wem = Pext + Pin , (4.5) where Pin and Pout are the flows in and out of the domain D, Pext the energy generated by the sources in domain D, Wdiss the power converted into heat and ∂t Wem the instantaneous power stored in the field. To determine the energy dissipation Wdiss under dispersive conditions, we consider the time harmonic complex fields Ẽ and H̃. We express the real field E via E= 1 (Ẽ + Ẽ∗ ), 2 (4.6) and, in case of a linear constitutive relation, we express the time derivative of the electric displacement vector at a specific frequency as ∂D 1 −jωεẼ + jωε∗ Ẽ∗ . = ∂t 2 (4.7) Next, we do the same for H and B and use (4.6), (4.7) in (4.4), and use a complex permittivity ε, to get the power balance for dispersive media at a specific frequency as −∇ · S = jω εẼ · Ẽ + ε∗ Ẽ · Ẽ∗ + εẼ · Ẽ∗ + ε∗ Ẽ∗ · Ẽ∗ 4 +µH̃ · H̃ + µ∗ H̃ · H̃∗ + µH̃ · H̃∗ + µ∗ H̃∗ · H̃∗ . (4.8) We are interested in the average absorption rate, so we average over a single period 2π/ω. The dot products Ẽ · Ẽ and Ẽ∗ · Ẽ∗ give zero when integrated over a single period – these are the ∂t Wem terms. We assume that µ is purely real, leaving us only with Q= jω ∗ (ε − ε)Ẽ · Ẽ∗ 4 = ωε′′ Ẽ2 . (4.9) with Q the average energy dissipation rate. In a general dispersive medium this quantity will simply be converted to heat. In a photovoltaic cell, at least part of this energy will be used in the creation of electron-hole pairs. It is this quantity that we thus need to maximize in order to optimize the external quantum efficiency of the photovoltaic cell. A small corollary from (4.9) can be derived. From the second law of thermodynamics, entropy can only grow unless we have a machine 1 that lowers the entropy, on the condition that entropy elsewhere increases more than it decreases in our domain. This implies that Q > 0 and ε′′ > 0.2 If we want an active medium we must have an externally powered material continuously decreasing entropy. 1 Here 2A we mean a machine in the thermodynamical sense. restriction on this condition is that our object is in thermodynamic equilibrium 4.1. Absorption of electromagnetic energy 33 The optimal absorber problem Thus, we have seen that the energy dissipation is quadratic in the field and linearly dependent on the imaginary part of the dielectric permittivity ε′′ . The distribution of the electric field inside an object will however also depend on the permittivity, making the maximization of the absorption a non-linear optimization problem. We will conduct a numerical experiment to show that an optimum for an arbitrary object does exist, and we will show that an analytical optimum previously derived in [16] requires an active medium. The following derivation is due to de Hoop [16]. It gives an optimality statement for the absorption of energy. In our subsequent analysis we find that this optimum cannot be achieved for a passive absorber. We start with the frequency domain definition of the total absorbed energy over the absorbing domain D as Z ∞ Z 1 dω J∗s · E dV , (4.10) Wa = 2π −∞ D where E(x, ω) is the total field, and Js (x, ω) the induced current density.The ‘scattered’ energy is defined as Z Z ∞ 1 Ws = − J∗s · Es dV ≥ 0, (4.11) dω 2π −∞ D where Esc = E − Ein is the scattered field produced by the induced current. We want to optimize Wa for a given excitation Ein . This implies we cannot change the incident field and the Green’s tensor. We can only change the scattered fields and its induced current densities. To find an optimal solution we consider the following perturbations: Js = Jopt s + δJs , E=E opt + δEs , (4.12) (4.13) where Jopt and Eopt are the optimal induced current and total field, respectively. We assume no magnetic contrast in our analysis, so we will only include the electric field and the electric current density. Substitution of (4.12) and (4.13) in (4.10) gives for the absorbed energy Z ∞ Z 1 opt opt dω δJs · Eopt Wa = Wa + s + Js · δEs dV 2π −∞ DA Z Z ∞ 1 δJopt (4.14) + dω s · δEs dV. 2π −∞ DA where Waopt is given by (4.10) with the optimal field and current density. From (4.11) we see that the last term does not matter, since it will always be negative and thus cannot increase Waopt . We rearrange the first integral with substitution Z δEs (x) = G(x − x′ , ω)δJs (x′ ) dV ′ , (4.15) D which follows from (2.33), and make the Ansatz Z Eopt (x, ω) + G∗ (x − x′ , ω)Jopt s (x, ω) dV = 0, D (4.16) 34 2 normalized absorbed power (σE ) Chapter 4. Absorption enhancement techniques 1 0.8 0.6 200 400 600 800 nm nm nm nm 0.4 0.2 0 0.01 0.1 1 10 100 1000 ε′′ Figure 4.1: Normalized absorption as a function of ε′′ for different object sizes in the z -direction. The maximum in this figure corresponds to the optimum absorption. Configuration parameters are ε′ = 2, λ = 750 nm, domain size in x - and y-direction is 600 nm such that it will maximize Waopt in (4.14) under the condition Z Z Z ∞ 1 ′ ′ + −G∗ (x − x′ )δJopt (x ) dV δJ∗s dω s 2π −∞ D DA Z ∗ ′ ′ ′ Jopt = 0. G(x − x )δJ (x ) dV s s (4.17) DA We make use of the property of the inner product that hu∗ , A∗ vi = hu∗ v ∗ , A∗ i = hv ∗ , A∗ ui to see that (4.17) actually holds: Z Z Z ∞ 1 ′ ′ + −G∗ (x − x′ )Jopt (x ) dV δJ∗s dω s 2π −∞ DA DA Z ′ ′ δJ∗s dV = 0. G(x − x′ )Jopt (x ) dV s (4.18) (4.19) DA The question remains under what conditions on the material (4.16) can be achieved. We know that the EFVIE (2.43) for a zero incident field has only a nontrivial solution for Im(ε) < 0. We make the substitution Js = Xe and write (4.16) in operator notation as e + G∗ X ′ e = 0. (4.20) We will change the Green’s function according to (2.50), and rewrite (4.20) as e − G(−X ′ )e = 0, (4.21) 4.2. Simulations of elementary scatterers 35 and the conjugate of the EFVIE for a zero incident field as e − GXe = e − GXe = e′ − GXe′ = 0. (4.22) If we compare this with the known results from the EFVIE, the equations (4.21) and (4.22) are equal if −X = X ′ . From this we see that Im(X) = Im(X ′ ) and the analytical optimality condition (4.16) can only be satisfied for active media, i.e. ε′′ < 0. This optimum does not have to be the global optimum (the original author never made any claims in this aspect), and there can be multiple local optima. The results from a simple numerical experiment verify that we do see an optimum appearing if we change the imaginary part of epsilon of our object, which is illustrated in figure 4.1. The optimal absorption corresponds to the maximum in the curve in figure 4.1. For this figure, while the real part is kept constant, the imaginary part is varied. For the biggest objects no maximum is found within the considered range. This is simply because the simulations take a longer time to converge, but we affirm a trend that the size of an object and its optimal imaginary part of the permittivity ε′′ are related. 4.2 Simulations of elementary scatterers Before we study the effects of how additional scatterers can enhance the efficiency of a solar cell, we first analyze the basic case of a single scatterer to study it’s behavior in an isolated way. Often, the problem with research for these kind of improvements is that while experiments show an increase of absorbed energy at the output terminals of the solar cell, it is often not known what precisely happens inside the structure. These structures are often too complicated and the numerical simulations on them will always be a compromise between accuracy and feasibility. Temporal trapping of the electric field Our first experiment is to verify that plasmonic resonance actually does occur in our numerical simulations. We take a domain of size 1500 nm × 1500 nm × 1500 nm, with step size 15 nm. We put a sphere in the center of our domain and use a standard source polarized in the z -direction. Our objective is to demonstrate a plasmonic resonance of a 300 nm silver sphere, the closest point of its surface located 540 nm from the source in the z -direction. The results of this simulation are shown in figure 4.3. We see a clear circular wavepattern around our scatterer. The time instant at which this figure was produced was chosen such that the incident field and ‘normal’ scattering was out of the domain the picture was taken, if we are later in time we will see the same kind of behavior, though it decays in time. It is a bit surprising that we actually see some effects, since the optimal plasmon coupling frequency for silver with vacuum is not in the range of our source (the optimal coupling is around 337 nm for silver [30]). Apparently an exact match is not needed for plasmonic coupling, and this is exactly what we want for our application. While we have seen that the plasmonic resonator does localize the field around its surface, this does not indicate yet that in fact this will trap the 36 Chapter 4. Absorption enhancement techniques z {x, y} 2r z {x, y} (a) Setup for total temporal trapping experiment (b) Setup for the directional experiment z {x, y} (c) Setup for embedded scatterer experiment z {x, y} (d) Setup for the scatterers at the silicon interface experiment Figure 4.2: Overview of the computational domain for different elementary numerical simulations in this section. The figures are not on scale. Scenarios 4.2a and 4.2a are simulated using FDTD, scenarios 4.2c and 4.2d are simulated with the EFVIE method total field in a given domain over a longer period of time than any other scatterer. To test whether this is the case we compare our previous experiment with an experiment where we change the silver sphere into a dielectric sphere. We keep the parameters the same as in the previous experiment, only the source is shifted away from our object by 1.5 λ to keep it out of the near-field. We make a closed surface around our sphere, which is box shaped, and measure the total flux through this box. The normal of the surface is pointing inwards. The total flux through time is shown in figure 4.4. This figure indicates that the actual localization due to plasmonic resonance is very small compared to a normal dielectric scatterer. The dielectric scatterer in fact keeps the field longer inside the box, a fact clearly seen in figure 4.5. This is probably due to a resonance inside the dielectric itself. The silver sphere cannot sustain a mode for a long time because it absorbs the coupled energy. 37 4.2. Simulations of elementary scatterers {x, y} {x, z} {y, z} {x, y} {x, z} {y, z} {x, y} {x, z} {y, z} Figure 4.3: Different plane cuts for (top to bottom) the x, y, and z components of the field. The source is z -polarized These results question the usefulness of plasmonic scatters for the efficiency enhancements, as we cannot see any significant improvement of the localization character in our box due to the plasmonic resonance. Direction of the scattered energy The flux experiment in the previous paragraph shows that the localization properties of a plasmonic resonator are no better than those of a dielectric. In the next experiment we split the flux contour according to figure 4.2b. We have only included a bottom and a side surfaces, since these are the only directions we are interested in to enhance the 38 Chapter 4. Absorption enhancement techniques Flux intensity, arb. units Silver εr = 4 εr = 8 No scatterer 0 2 4 6 8 10 12 12 Time (fs) Figure 4.4: Total instantaneous flux through the boundary of a box surrounding the scattering sphere for different materials Flux intensity, arbitrary units Silver εr = 4 εr = 8 No scatterer 0 2 4 6 8 10 12 14 16 Time (fs) Figure 4.5: Total flux integrated over [t0 , t]. The time integral for the silver sphere over [t0 , ∞] does not converge to zero due to absorption losses performance of an underlying absorber. It is suggested by Catchpole and Polman that the plasmonic object enhances the forward scattering [11]. In figures 4.7 and 4.8 the instantaneous flux over time through these surfaces is shown. Again we observe, that the dielectric scatterer has the longest flux tale. We find the plasmonic scatterer to be the most effective side scatterer, while it has the smallest flux through the bottom surface compared to free space propagation. Hence, the scattering towards the absorbing layer in a solar cell is least with 39 Relative total flux 4.2. Simulations of elementary scatterers Side flux - dielectric Bottom flux - dielectric Side flux - plasmonic Bottom flux - plasmonic 1.5 scatterer scatterer scatterer scatterer 1 0.5 0 54 48 42 36 30 24 18 12 60 0 0 0 0 0 0 0 0 object size in nm Figure 4.6: The total flux in the side and bottom directions relative to the free space total flux for different scatterer sizes the plasmonic scatterer. From this we see that the plasmonic objects have to be placed at the interface or inside the absorbing layer to improve the absorption of electromagnetic energy. In figure 4.6 we see the influence of the size of the scatterer on flux in a particular direction, while the source does not change. Around 150 nm we see a peak for the side scattering for both the dielectric and the plasmonic scatterer. The flux in the downward direction decreases with increased object size for the plasmonic case. This comes as little surprise since a bigger sphere blocks a larger share of the electromagnetic wave energy. The increase for the bottom flux for a dielectric scatterer for the largest spheres can probably be attributed to a resonance and a focusing effect, although this behavior is still surprising. Influence of scatterers on the energy absorption in a semiconductor layer Next, we investigate if a scatterer at or inside an absorbing layer will improve the absorption of energy. We want to have the energy absorbed by the total domain of the intrinsic semiconductor absorber, thus excluding the (partly) embedded scatterer. In our FDTD implementation, we can only define flux planes in the dimensions of the axis, i.e. our flux contour has to be blockshaped. Hence, we use the EFVIE method to get a more accurate result. We simulate two scenarios; one where the scatterer is embedded in the intrinsic layer, in the second scenario we place the scatterer halfway at the air–absorbing layer interface, as is shown in figures 4.2c and 4.2d. The results of these experiments are in tables 4.1 and 4.2 for the scatterer at the interface, and in table 4.3 and 4.4 for the experiments where the scatterer is completely embedded in the absorbing layer. All results are relative to the best performing scenario at a specific wavelength. Due to the low conductance of i-type aSi at larger wavelengths, the absorbed energy is small compared to 40 Flux intensity, arbitrary units Chapter 4. Absorption enhancement techniques 0 −0.5 −1 −1.5 −2 Plasmonic scatterer No object (free space) Dielectric scatter 0 2 4 6 8 10 12 Time (fs) Figure 4.7: Instantaneous flux through the side of a surface contour surrounding the scatterer. These flux planes have their normal in the x - and y-direction the smaller wavelengths.3 Again we verify that the plasmonic addition does not yield the best absorption, either if we look at total semiconductor volume or if we keep the volume over which we take the energy absorption constant for all experiments. From these experiments we conclude that a plasmonic enhanced cell does not have a better efficiency than a standard plain cell. In fact, we see that the cell where the sphere has been replaced by a vacuum, which is the background medium, actually works the best. This vacuum creates a type of corrugation, and we will see that the corrugation type enhancement works best when we discuss experiments on 2D/3D full cell simulations. We have done no experiments with a vacuum as the embedded sphere, for it does not create a corrugation as is the case with the sphere placed at the interface of the absorbing layer, it would merely act as a plain dielectric, which is already simulated. λ (nm) 590 688 755 Plasmonic Dielectric Plain case Vacuum 0.981 0.944 0.848 0.998 0.989 1.000 0.970 0.968 0.997 1.000 1.000 1.000 Table 4.1: Frequency domain results of absorbed energy in the semiconductor material for a sphere placed at the boundary. The integrated volume excludes the sphere, even in the plain case (figure 4.2d) 3 The figures in appendix A show that conductance is nearly absent for λ ' 750 nm. 41 4.2. Simulations of elementary scatterers Flux intensity, arbitrary units 0 −1 −2 −3 Plasmonic scatter No object (free space) Dielectric scatter 4 6 8 10 12 14 Time (fs) Figure 4.8: Instantaneous flux through the bottom of the contour. This flux planes has its normal in the z -direction λ (nm) 590 688 755 Plasmonic Dielectric Plain case Vacuum 0.981 0.944 0.845 0.998 0.989 0.996 0.978 0.976 1.000 1.000 1.000 0.996 Table 4.2: Frequency domain results of the total energy absorbed by the semiconductor for a sphere placed at the interface(figure 4.2c) λ (nm) 590 688 755 Plasmonic Dielectric Plain case 0.963 0.991 0.869 0.975 0.984 1.000 1.000 1.000 1.000 Table 4.3: Frequency domain results of absorbed energy in the semiconductor material for a sphere placed in the absorbing material. The integrated volume excludes the sphere, even in the plain case (figure 4.2d) The simple numerical experiments in this section clearly indicate that the plasmonic enhancement of solar cells is not a ‘magic addition’, increasing efficiency wherever applied. The increased side scattering can be used to enhance performance if the scatterers are appropriately placed in the geometry. Energy absorption is generally better at smaller wavelengths, so optimizing the geometry for these frequencies would make sense to increase efficiency. 42 Chapter 4. Absorption enhancement techniques λ (nm) 590 688 755 Plasmonic Dielectric Plain case 0.961 0.990 0.869 0.973 0.983 1.000 1.000 1.000 1.000 Table 4.4: Frequency domain results of the total energy absorbed by the semiconductor for the embedded sphere (figure 4.2c) Chapter Solar cell simulations 5.1 Computational Models Our numerical experiments are designed to model the absorption of energy in the visible light part of the spectrum. As is often the case with numerical modeling, we want a large computational domain and a fine discretization as to capture all the details. We are dealing with both problems. Our resonators are in the order 20 − 200 nm. At the same time, a true solar device would be orders of magnitude bigger than we can handle in memory and computation time. We accept that our calculations are only an approximation to reality, but they can nevertheless provide us with some good insights into the behavior of different structures. The source The energy source for a solar panel is of course the sun. Mimicking this source however is not so easy in our case. The sun is a continuous radiator with a random intensity in time and irregular spectrum (figure 1.1). A decent substitute would be a partially coherent source with the spectrum of black body radiator. In our numerical experiments we use the standard Gaussian pulse available in Meep with frequency centered around 750 nm. This is a lower center wavelength than that of the solar spectrum, but we are interested in covering the important red to infrared region where optimization of solar cells is most desired (see figure 5.1). A solar cell typically is not orthogonal to the incident field, and to capture a multitude of angles we use a point source. To maximize the number of incident angles we have placed our source close to the surface. The location of the flux contour The computation of the flux through a plane is a computationally intensive task in Meep, so we want a minimum amount of flux planes to save time and memory. Therefore, we do not apply flux planes on the sides of the domain. The flux contour1 remains closed, due to the boundary conditions (PEC) that reflect all incident field on the side boundaries. In practice, however, the field has been absorbed by the PML already before it 1A contour applies to a 2D case. In 3D, we need a flux surface to enclose a domain. 43 5 44 Chapter 5. Solar cell simulations Spectrum of Gaussian pulse 400 600 800 1000 1200 1400 1600 1800 2000 wavelength (nm) Figure 5.1: Spectrum of the pulse excited in our experiments reaches the domain boundary, and we assume that the field that is absorbed by the PML would be absorbed by the silicon absorbing layer if the computational domain was wide enough. We want our flux surface to accurately follow the geometry of the silicon layer. While this is no problem for most cases where the silicon layer is block shaped, the scenario where we have corrugation or objects at the interface, our flux surface would have to exist of a closed set of many flux planes, or, in case of a sinusoidal corrugation, a smooth curved surface. This is not practical due to Meep geometrical constraints and computational constraints. For these geometries we apply two contours, one enclosing only silicon and no other material, and one enclosing all silicon. The former forms a lower bound for the efficiency, while the latter gives an upper bound for efficiency. For the geometries concerned we give both lower- and upper bound results. The two-dimensional model Our two dimensional configuration consists of an almost true representation of a accurate solar cell. Only the glass layer has been considerately scaled down, but because glass has an almost zero absorption κ, this is no problem.2 The size of our computational domain is 6µm × 6µm with a grid step size h of 12 nm, and the source is located 600 nm from the glass boundary. Every material except the glass is modeled with two or three dispersion curves (see section 3.3). In our numerical experiments we consider various modification to the basic flat thin film solar cell structure, to see if we can improve the efficiency, defined as the absorbed energy in the absorbing layer to the incident power at the glass–air interface. The geometries we will be simulating in 2D are: 1. The plain case – figure 5.3a No modifications to the standard cell of figure 5.2. This will serve as a benchmark case. 2 To verify that a thin glass plate has a very low κ in the optical range, we only have to look through a window. 45 5.1. Computational Models 2870 nm PEC Al n-aSi i-aSi ZnO Glass Source 1800 nm p-aSi absorbing layer PML 800 nm 10 nm 300 nm 20 nm 200 nm Figure 5.2: Schematic drawing of the 2D configuration to be simulated. The drawing is not on scale z (a) Plain (b) Corrugation z (d) Scatters below z z (c) Scatters above z (e) Scatterers at the ZnO– absorbing layer interface z (f) Matallic sheet atop of the absorbing layer Figure 5.3: Different solar cell geometries that will be simulated. The shaded area is the absorbing layer, dark area the aluminum, and blank area the Zinc Oxide. The figures are not on scale 2. Corrugation – figure 5.3b This technique is common in commercial applications. Both the ZnO–p-layer interface as well as the n-layer–Al interface are corrugated. Corrugation will introduce a gradual transition between the two media. This type of modifications to the geometry is known to improve efficiency, but the usual geometric optics explanation fails to be applicable in thin-film cell structures due to their limited thickness. 3. Scatterers above the absorbing layer – figure 5.3c We want to employ the plasmonic resonance to enhance the absorption of energy. We need an interface where we have both positive and negative ǫ′ . However, we also expect the scatterers will prevent the propagation of a portion of the electric field into the absorbing layer. 4. Scatterers below the absorbing layer – figure 5.3d A way to excite plasmons, but at the same time prevent that light is scattered before it can reach the absorbing layer is to place silver blocks inside the aluminum. In the dielectric case, this geometry implements a kind of corrugation. 46 Flux, arb. units Chapter 5. Solar cell simulations 0 20 40 60 80 100 time (fs) Figure 5.4: Instantaneous flux through the absorbing layer of the plain case solar cell 5. Scatterers on both sides of the absorbing layer. We suspect that a combination of the two geometries above (scatterers above and below the absorbing layer) combines the benefits of both. 6. Scatterers at the ZnO–absorbing layer interface – figure 5.3e The plasmonic resonance of an object will be close to the boundary of this object. By placing the scatterers at the interface we try to enhance the energy coupling between the Zinc Oxide and the semiconductor. The inclusion of dielectric scatterers at the interface will in effect result in a type of corrugation. 7. Gold film above the absorbing layer – figure 5.3f It is known that if we make a metallic film thin enough, light can propagate through the film, and it would be able to excite surface plasmons over the entire area of the cell. The dielectric sheet above the layer is tested as a comparison between the two materials. 8. Gold film above and below absorbing layer. Paradoxically, it appears that if we make sub wavelength holes in our film, propagation is effectively blocked, as was shown by Brown et al. [8]. We try to see if we can use this as an effective back scatterer. It is known that plasmonic resonance can only occur if the incident field has a parallel component to the surface. The sun is an unpolarized source. A fair experiment would thus include both experiments in TM- and TE mode. Numerical simulations on TE however proved to be instable for some specific configurations, and we choose not to include them. 47 5.2. 2D solar cell simulations Sphere Halfsphere Block Bar Cross Efficiency (per cent) 4 3 2 1 0 30 27 24 21 18 15 12 90 60 30 0 0 0 0 0 0 0 Object radius Figure 5.5: Results for silver objects of different shapes placed in the Zinc Oxide layer 5.2 2D solar cell simulations In this section we will look at the efficiency of a solar cell and what configuration of introduced extra scatterers can enhance this efficiency best. Our domain is 6.000 by 6.000 grid points, with h = 12 nm. The simulations are run for 100 fs, which from figure 5.4 we see that this is enough to make the efficiency error sufficiently small. Different scatterer shapes We have seen that the scattering direction is an important part of the working of additional introduced scatterers. The scattering of an object is dependent on the geometry of this object (size and shape). In figure 5.5 we show the results of simulations with different object sizes in the Zinc Oxide layer. All metallic objects were modeled as silver, except for the sheets which are implemented as gold. If the objects are not to big an increase of efficiency is obtained regardless of shape. We see that the half sphere objects give the overall best performance in increasing the efficiency. Different scatterer positions and types We have simulated different scenarios as stated in section 5.1. The results for the 2D simulations are shown in figure 5.6. In general, the x -axis shows the size of the cross section of the included blocks in the solar cell in nm. The y-axis shows the efficiency in per cent. The efficiency ratio for the non-adjusted solar cell is 2.94%, and is shown as dotted gray line in all figures. Corrugation (Figures 5.6a and 5.6b) 48 Chapter 5. Solar cell simulations The charts show two curves corresponding to an lower and an upper bound on the efficiency. In the lower bound we make sure that our flux contour only holds the absorbing layer, while the upper bound holds all absorbing material, thereby also including Aluminum and Zinc Oxide. The green cross markers corresponds to the upper bound, the generally smaller red markers correspond to the lower bound. The y-axis shows the period of the corrugation in nm. Blocks at the interface (Figure 5.6d) The centers of the included blocks are at the interface of the Zinc Oxide and the absorbing layer. The lower bound, expressed through the red markers, correspond to a flux contour surrounding only the absorbing layer, while the green markers correspond to a flux contour containing all of the absorbing layer. For the dielectric case there is no difference, and hence we have no upper or lower bound. We see that for the dielectric blocks, efficiency ratios can be more than tripled, a surprising and promising result. Blocks in ZnO (Figure 5.6e and 5.6f) The different curves give a shift from the absorbing layer, more embedded in the Zinc Oxide layer. The shifts are 0, 120, 240, 360, and 480 nm (see markers in figure). While the results for the embeddings directly placed above the absorbing layer seem to generate the highest efficiency, we must be cautious due to the structure of the staggered grid. There is a chance that small parts of the silver inclusions are actually influencing the absorption characteristics. We see that the thickness and the location play virtually no roll in the dielectric case, while using the best performing metallic scatterers can increase efficiency. Gold sheet (Figures 5.6g and 5.6h) The markers are grouped by sheet thickness with different shifts. We would suspect that the sheets adjacent to the absorbing layer would perform best due to the excitement of SPP’s, which however does not show from the experiments. A logical explanation is that by shifting the gold sheet away from the absorbing layer we have tuned our sheets to a more favorable wavelength with respect to the ε characteristics of the absorbing layer and the spectrum of the source. It is surprising to see that the increase of thickness of the sheet decreases efficiency with the single layer scenario, whereas the efficiency increases with sheet thickness if we use the double sheet solution. There can be two reasons for this. The first is that, while a thicker upper sheet decreases efficiency, this effect is compensated by the bottom sheet. The other explanation is that, while a thicker sheet lets less energy enter the absorbing layer, it will also let less energy out of the absorbing layer. To get some visual conformation on our simulations, figures of the field distribution over time for the Ez component are shown in figures 5.8, 5.9, 5.10 and 5.11. In these figures the source is on the right side of the figures, while the absorbing silicon layer is on the left side. The plain case responds like a normal scatterer, and most of the incoming wave is reflected. In the corrugated case something more interesting happens. The field distribution becomes more 5.2. 2D solar cell simulations 49 diffused and we have lost the clear wave front that exists in the plain case. The plasmonic addition shows a field distribution over time which resembles both the plain case and the corrugated case. In the dielectric case the wavefront is also diffused, though not as intense as in the corrugated case. Due to the instabilities in Meep we have not tested the 2D TE-mode, where plasmonic resonance should occur. While some experiments did prove to be stable, they did not result in any new insight with respect to the presented 2D TM case. However, since these results are incomplete, we have chosen not to include them as we believe they cannot be used to make a fair comparison. 50 Chapter 5. Solar cell simulations 30 30 25 25 20 20 15 15 10 10 5 0 lower bound upper bound lower bound upper bound 5 0 30 24 18 12 60 30 24 18 12 60 0 0 0 0 0 0 0 0 (a) Sine corrugation (b) Triangle corrugation 4 4 3 3 2 2 1 1 0 0 lower bound upper bound 30 24 18 12 60 30 24 18 12 60 0 0 0 0 0 0 0 0 (c) Ag blocks in Al (d) Ag blocks at the ZnO–p-layer interface 5 4 3 0 120 240 360 480 2 1 0 nm nm nm nm nm 30 27 24 21 18 15 12 90 60 30 0 0 0 0 0 0 0 (e) Ag blocks above and below Figure 5.6: Results for 2D solar cell simulations with metallic scatterers, using different geometries 51 5.2. 2D solar cell simulations 4 3 2 0 120 240 360 480 1 0 nm nm nm nm nm 30 27 24 21 18 15 12 90 60 30 0 0 0 0 0 0 0 z (f) Ag blocks above 5 3 4 2 3 0 120 240 360 480 1 0 nm nm nm nm nm 0 120 240 360 480 2 1 0 60 40 20 60 40 20 (g) Au sheet above absorbing layer nm nm nm nm nm (h) Au sheet above and below absorbing layer Figure 5.6: Results for 2D solar cell simulations with metallic scatterers, using different geometries (cont.) 52 Chapter 5. Solar cell simulations 4 10 3 8 6 2 4 1 2 0 0 30 24 18 12 60 30 24 18 12 60 0 0 0 0 0 0 0 0 (a) Dielectric blocks in Al (b) Dielectric blocks at the ZnO–p-layer interface 4 3 2 0 120 240 360 480 1 0 nm nm nm nm nm 30 27 24 21 18 15 12 90 60 30 0 0 0 0 0 0 0 (c) Dielectric blocks above and below 4 3 2 0 120 240 360 480 1 0 nm nm nm nm nm 30 27 24 21 18 15 12 90 60 30 0 0 0 0 0 0 0 (d) Ag blocks above Figure 5.7: Results for 2D solar cell simulations with dielectric scatterers, using different geometries 53 5.2. 2D solar cell simulations 4 3 3 2 0 120 240 360 480 1 0 2 nm nm nm nm nm 0 120 240 360 480 1 0 60 40 20 60 40 20 (e) Au sheet above absorbing layer nm nm nm nm nm (f) Au sheet above and below absorbing layer Figure 5.7: Results for 2D solar cell simulations with dielectric scatterers, using different geometries (cont.) 54 Chapter 5. Solar cell simulations -1 (a) 20 fs (b) 30 fs (c) 40 fs (d) 50 fs (e) 60 fs (f) 70 fs 1 Figure 5.8: Snapshots of the field component Ez in the x, y plane over time in a plain cell 55 5.2. 2D solar cell simulations -1 (a) 20 fs (b) 30 fs (c) 40 fs (d) 50 fs (e) 60 fs (f) 70 fs 1 Figure 5.9: Snapshots of the field component Ez in the x, y plane over time in a corrugated cell 56 Chapter 5. Solar cell simulations -1 (a) 20 fs (b) 30 fs (c) 40 fs (d) 50 fs (e) 60 fs (f) 70 fs 1 Figure 5.10: Snapshots of the field component Ez in the x, y plane over time in a cell with silver additions above and below, 0 nm shift, object radius 120 nm 57 5.2. 2D solar cell simulations -1 (a) 20 fs (b) 30 fs (c) 40 fs (d) 50 fs (e) 60 fs (f) 70 fs 1 Figure 5.11: Snapshots of the field component Ez in the x, y plane over time in a cell with dielectric enhancements at the interface, object radius 150 nm 58 Chapter 5. Solar cell simulations Source z Semiconductor layer PEC boundary on x, y plane y x Figure 5.12: Schematic drawing of our 3D configuration. The source is in the centre of the x, y plane 5.3 3D solar cell simulations The three dimensional model For a realistic simulation, we need to model in three dimensions. The restrictions that were described in the introduction of this chapter are pressing even harder in the three dimensional case, and the size of our computational domain will be even more restricted. We cannot use the model as we have done in the two dimensional case, for it will simply be to big. We must restrict ourselves only to the core of the problem, which is the absorbing layer and additional structure to scatter the field or excite plasmonic resonance. Thus we save by shrinking our computational domain and cutting down on the number of polarization fields. In our 3D experiments we will consider only two materials, a metal (silver or gold) or dielectric, and the intrinsic semiconductor. These 3D simulations compensate for the lack of 2D TE-mode results as the eventual plasmonic resonances are now fully accounted for. Since 3D simulations take longer time we will only investigate the most promising 2D results to see if they hold in 3D and if there will be any difference due to plasmonic resonance. Configuration and results We simulate the absorbing semiconductor layer with the enhancements placed above and below this layer in vacuum. All experiments are performed in a 4800 nm in x - and y-direction, 2400 nm in z-direction domain. Grid step size h was 20 nm. Our polarization is parallel to the absorbing layer.3 Simulations are run for 70 fs, which is enough for the electric field to effectively die off. Efficiency is computed by comparing the flux through the surface placed at the location where the absorbing layer begins. The contribution from the side surfaces is not calculated for the reasons already explained above (see 2D simulations). The results for our 3D experiments are shown in table 5.1, where we have 3 Our object has rotational symmetry, so sources with component J or J will yield the x y same result. 5.3. 3D solar cell simulations 59 included also the maximal efficiency column. This column takes into account all silicon material, despite the fact that we also take extra PML into our domain which increases absorption. This efficiency can thus be seen as an upper bound. For the corrugation we simulate in phase and a changed phase corrugations. In the first case the phase of the top and bottom corrugations is the same for all x, y, while in the second case the top is shifted by π/2 with respect to the bottom. The efficiency results of the 3D experiments are generally less than in the 2D case when compared to the plain case. For the plasmonic enhancements there is a small gain for the scenario in which we place the silver blocks below the absorbing layer, but otherwise all added metallic scatters perform worse than the plain case. Surprisingly, the dielectric scatters show a significant improvement of the efficiency, and a maximum gain of nearly 70% can be attained. Again we see that corrugation is a very powerful tool, with an efficiency increase of over eight times. Also we note that all dielectric scatterers are better at improving the efficiency than any metallic scatterers applied using the same geometry. 60 Chapter 5. Solar cell simulations Geometry Obj. radius† Obj. shift Efficiency Plain case – – 3.89 420 420 420 25.95 – – 33.20 22.64 19.37 75 75 75 75 75 75 40 40 20 20 75 75 75 60 0 60 0 60 0 60 0 601 0 60 0 – 3.80 3.87 3.91 3.92 3.80 3.91 3.74 3.90 3.83 3.89 3.87 3.93 3.88 75 75 75 75 75 75 40 40 20 20 75 75 75 60 0 60 0 60 0 60 0 60 0 60 0 – 5.17 9.37 6.15 6.15 6.61 9.45 4.60 4.04 4.54 3.90 4.25 5.05 3.90 Sine corr. φ = π/2 Sine corr. φ = 0 Triangle corrugation Metallic scatterers Blocks above Blocks below Blocks above + below Gold sheet Gold sheet two side Half spheres Blocks at the interface Dielectric scatterers Blocks above Blocks below Blocks above + below Dielectric sheet Dielectric sheet two side Half spheres Blocks at the interface All geometric sizes in nm † Also Sheet thickness or Corrugation period Table 5.1: Results for 3D experiments Max. eff. 29.78 25.35 Chapter Conclusions and Recommendations Conclusions In this thesis we have compared different strategies for improving the efficiency of for thin film solar cells. By adding extra scatterers above and/or below the the light absorbing silicon layer, we made an overview of the performance of different geometries and materials. We have also modeled elementary silver and dielectric spheres and analyzed their scattering behavior looking for a way to utilize them in the optimization of solar cells. We want to keep the electromagnetic field inside the silicon layer for as long as possible for the silicon layer to absorb and transform a maximum amount of energy. The energy absorption by simple structures with only one scatterer were analyzed using the EFVIE method. From this simulation we have seen that a corrugated surface generally helps most to enhance efficiency. From these experiments we have also seen that metallic scatterers effectively block electromagnetic propagation in the incident wave direction, while enhancing side-scattering. The convergence of iterative methods with the EFVIE becomes extremely slow can be a problem for our type of problems. We have seen that regularizing or normalizing the original equation system can improve the convergence rate, dependent on the structure and the required error. The results from these experiments were verified by FDTD simulations of a model of an actual solar cell design, where again we see the same behavior as with the elementary scattering scenarios, with corrugation outperforming all other techniques in efficiency over a tenfold in optimal configuration. This behavior can also be observed with dielectric enhancements, where efficiency increases were most attendant when the inclusions of dielectric blocks created a corrugated interface for the silicon layer. In these comparative experiments we used blocks as our scattering objects, though half spheres (‘lenses’) generally work best in increasing the efficiency. Due to instabilities of unknown origin, we were not able to simulate all 2D scenario’s in TE-mode. Therefore we have chosen to omit all TE results and published only the TM-mode results in 2D. The TE results that seemed to be stable however were not to different from the TM results and do not influence our conclusions. Various experiments indicate that generally the best efficiency can be achieved by including scatterers with a 120–150 nm radius. This statement is valid for 61 6 62 Chapter 6. Conclusions and Recommendations different geometries as well different scatterer shapes. The 3D results show roughly the same trend when we compare the corrugated, metallic enhanced and dielectric enhanced structures. The order of efficiency increments within these subgroups however differs from the the 2D case, which is due to the different structures modeled and simulated as well as due to the full inclusion of plasmonic effects in 3D. Thus we may conclude that our 2D TM-mode experiments yield valid results predictions. Recommendations The wealth of possibilities for solar cell designs make it necessary to demarcate out field of research. A lot of optimizations and other possibilities have not been used or tested, and we would like to make the following recommendations to expand research on this topic: 1. The scale of detail of the structure varies widely across the geometry. Using a non-uniform grid or a finite elements approach [36] could allow modeling the domain more accurately with the same number of grid points. 2. Elementary inquiries into corrugating the silicon interface were made only for ‘triangular’ and ‘sinusoidal’ geometries. Our simulations reveal that this technique has large potential, further optimization of the geometry is advisable. 3. We have focused on optimizing the geometry for absorption at lower frequencies. Experiments with incident energy whose spectra completely mimic that of the sun should also be performed. 4. While we have shown that the size of an object influences the scattering direction, investigating elementary scatterers in more detail could indicate in advance what sort of objects would be most suitable for optimizing efficiency. 5. For the experiments on dielectrics we have simply chosen an arbitrary dielectric with ε′ = 4. Experiments should be performed with the dispersion models for real dielectrics . 6. We have seen that plasmonic enhancements in solar cells under-perform dielectric enhancements on most cases, specifically if the latter produce corrugation. Thus, We would recommend to shift the research focus more to corrugation type enhancements. Appendix Dispersion measurements and models for all used materials The refraction index data for silver and gold have only ten measurement points in our region of interest. Since our model is continuous in our region of interest, it is plotted as a smooth curve. The x -axis for all graphs is in µm, the y-axis gives the relative permittivity. -50 50 -60 45 -70 40 -80 35 -90 30 25 -100 Fitted data Measurements -110 -120 0.6 0.7 0.8 Fitted data Measurements 20 15 0.9 1.0 (a) Real part 0.6 0.7 0.8 (b) Imaginary part Figure A.1: Dispersion measurement and model for Al 63 0.9 1.0 A 64 Appendix A. Dispersion measurements and models -10 -15 -20 -25 -30 -35 -40 -45 -50 3.5 Fitted data Measurements 3 2.5 2 1.5 Fitted data Measurements 0.6 0.7 0.8 1 0.5 0.9 1.0 0.6 (a) Real part 0.7 0.8 0.9 1.0 (b) Imaginary part Figure A.2: Dispersion measurement and model for Ag -5 -10 -15 -20 -25 -30 -35 -40 -45 -50 4 Fitted data Measurements 3.5 3 2.5 2 Fitted data Measurements 0.6 0.7 0.8 1.5 1 0.9 1.0 0.6 (a) Real part 0.7 0.8 0.9 1.0 (b) Imaginary part Figure A.3: Dispersion measurement and model for Au 11 0.25 Fitted data Measurements 10.5 Fitted data Measurements 0.2 10 0.15 9.5 0.1 9 0.05 8.5 8 0 0.6 0.7 0.8 (a) Real part 0.9 1.0 0.6 0.7 0.8 0.9 (b) Imaginary part Figure A.4: Dispersion measurement and model for p-type aSi 1.0 65 18.5 18 17.5 17 16.5 16 15.5 15 14.5 14 13.5 13 1.4 Fitted data Measurements Fitted data Measurements 1.2 1 0.8 0.6 0.4 0.2 0 0.6 0.7 0.8 0.9 1.0 0.6 (a) Real part 0.7 0.8 0.9 1.0 (b) Imaginary part Figure A.5: Dispersion measurement and model for i-type aSi 18.5 18 17.5 17 16.5 16 15.5 15 14.5 14 13.5 13 1.4 Fitted data Measurements Fitted data Measurements 1.2 1 0.8 0.6 0.4 0.2 0 0.6 0.7 0.8 0.9 1.0 0.6 (a) Real part 0.7 0.8 0.9 1.0 (b) Imaginary part Figure A.6: Dispersion measurement and model for n-type aSi 3.6 3.4 3.2 3 2.8 Fitted data Measurements 2.6 2.4 0.6 0.7 0.8 (a) Real part 0.9 0.045 0.04 0.035 0.03 0.025 0.02 0.015 0.01 0.005 0 0.6 1.0 Fitted data Measurements 0.7 0.8 (b) Imaginary part Figure A.7: Dispersion measurement and model for ZnO 0.9 1.0 66 Appendix A. Dispersion measurements and models Material ε∞ σ ω0 γ Glass Aluminum 1. 1. 2. 3. 2.305 7.071 10−1 3.738 4.614 102 1.151 101 9.446 10−1 2.754 10−1 7.513 10−1 3.430 10−1 3.545 10−2 2.292 10−1 p-doped aSi 1. 2. 8.621 5.535 10−1 2.099 1.143 3.315 10−1 2.769 10−2 1.579 10−8 n-doped aSi 1. 2. 3. 5.112 1.323 10−1 7.254 10−5 6.900 1.017 8.484 10−1 1.477 9.870 10−2 2.992 10−4 5.465 10−7 intrinsic aSi 1. 2. 1.010 101 1.467 10−1 2.401 9.954 10−1 1.189 1.168 10−1 1.739 10−8 Zinc Oxide 1. 2. 3.681 3.939 10−3 9.926 10−1 6.660 10−1 4.212 10−1 2.043 10−1 7.835 10−3 Silver 1. 2. 8.660 10−1 3.423 10−1 1.385 102 9.313 10−1 2.831 10−1 4.683 10−1 2.274 10−2 Gold 1. 2. 1.039 1.683 102 1.795 2.832 10−1 1.302 3.181 10−2 1.348 10−1 Table A.1: Fitted parameters for different materials Bibliography [1] H.A. Atwater and A. Polman. Plasmonics for improved photovoltaic devices. Nature Materials, 9(3):205–213, 2010. [2] Allen Barnett, Douglas Kirkpatrick, Christiana Honsberg, Duncan Moore, Mark Wanlass, Keith Emery, Richard Schwartz, Dave Carlson, Stuart Bowden, Dan Aiken, Allen Gray, Sarah Kurtz, Larry Kazmerski, Myles Steiner, Jeffery Gray, Tom Davenport, Roger Buelow, Laszlo Takacs, Narkis Shatz, John Bortz, Omkar Jani, Keith Goossen, Fouad Kiamilev, Alan Doolittle, Ian Ferguson, Blair Unger, Greg Schmidt, Eric Christensen, and David Salzman. Very high efficiency solar cell modules. Progress in Photovoltaics: Research and Applications, 17(1):75–83, 2009. [3] G. Beaucarne. Silicon Thin-Film Solar Cells. Advances in Optoelectronics, 36970, 2007. [4] F.J. Beck, A. Polman, and K.R. Catchpole. Tunable light trapping for solar cells using localized surface plasmons. Journal of Applied Physics, 105(11):114310, 2009. [5] P. Bermel, C. Luo, L. Zeng, L.C. Kimerling, and J.D. Joannopoulos. Improving thin-film crystalline silicon solar cell efficiencies with photonic crystals. Opt. Express, 15:16986–17000, 2007. [6] B. Bidégaray-Fesquet. Stability of FD–TD Schemes for Maxwell–Debye and Maxwell–Lorentz Equations. SIAM Journal on Numerical Analysis, 46(5):2551–2566, 2008. [7] BP p.l.c. BP Statistical Review of World Energy, 2010. [8] Julia Braun, Bruno Gompf, Georg Kobiela, and Martin Dressel. How holes can obscure the view: Suppressed transmission through an ultrathin metal film by a subwavelength hole array. Phys. Rev. Lett., 103(20):203901, Nov 2009. [9] Neil V. Budko and Alexander B. Samokhin. Spectrum of the volume integral operator of electromagnetic scattering. SIAM Journal on Scientific Computing, 28(2):682–700, 2006. [10] Patrick Campbell and Martin A. Green. Light trapping properties of pyramidally textured surfaces. Journal of Applied Physics, 62(1):243–249, 1987. [11] K.R. Catchpole and A. Polman. Design principles for particle plasmon enhanced solar cells. Applied Physics Letters, 93(19):191113, 2008. 67 68 Bibliography [12] R. Dewan and D. Knipp. Light trapping in thin-film silicon solar cells with integrated diffraction grating. Journal of Applied Physics, 106(7):074901, 2009. [13] R. Kent Dybvig. The Scheme programming language. MIT Press, Cambridge, MA, 4th edition, 2009. [14] Grant R. Fowles. Introduction to modern optics. Holt, Rinehart and Winston, New York, NY, 1968. [15] E. Garnett and P. Yang. Light trapping in silicon nanowire solar cells. Nano letters, 10(3):1082–1087, 2010. [16] A.T. de Hoop. Theorem on the maximum absorption of the electromagnetic radiaton by a scattering object of bounded extend. Radio Sci., 1981. [17] R.A. Horn and C.R. Johnson. Topics in matrix analysis. Cambridge University Press, Cambridge, UK, 1991. [18] John D. Joannopoulos, Steven G. Johnson, Joshua N. Winn, and Robert D. Meade. Photonic Crystals. Princeton University Press, Princeton, NJ, 2nd edition, 2008. [19] Mei-Ling Kuo, David J. Poxson, Yong Sung Kim, Frank W. Mont, Jong Kyu Kim, E. Fred Schubert, and Shawn-Yu Lin. Realization of a nearperfect antireflection coating for silicon solar energy utilization. Opt. Lett., 33(21):2527–2529, Nov 2008. [20] A. Lagendijk, B. van Tiggelen, and D.S. Wiersma. Fifty years of Anderson localization. Phys. Today, 62(8):24–29, 2009. [21] L.D. Landau and E.M. Lifschitz. Electrodynamics of continuous media, volume 8 of Course of theoretical physics. Pergamon Press Ltd., Oxford, UK, 2nd edition, 1963. [22] M. Law, L.E. Greene, J.C. Johnson, R. Saykally, and P. Yang. Nanowire dye-sensitized solar cells. Nature Materials, 4(6):455–459, 2005. [23] Antonio Luque and Steven Hegedus, editors. Handbook of Photovoltaic Science and Engineering. John Wiley & Sons, West Sussex, UK, 2003. [24] A. Mahdjoub and L. Zighed. New designs for graded refractive index antireflection coatings. Thin Solid Films, 478(1-2):299 – 304, 2005. [25] S.A. Maier and H.A. Atwater. Plasmonics: Localization and guiding of electromagnetic energy in metal/dielectric structures. Journal of Applied Physics, 98:011101, 2005. [26] S.G. Mikhlin and S. Prössdorf. Singular integral operators. Springer Verlag, Berlin, Germany, 1986. [27] Jorge Moré. The levenberg-marquardt algorithm: Implementation and theory. In G. Watson, editor, Numerical Analysis, volume 630 of Lecture Notes in Mathematics, pages 105–116. Springer Berlin / Heidelberg, 1978. 10.1007/BFb0067700. Bibliography 69 [28] Ardavan F. Oskooi, David Roundy, Mihai Ibanescu, Peter Bermel, J. D. Joannopoulos, and Steven G. Johnson. MEEP: A flexible free-software package for electromagnetic simulations by the FDTD method. Computer Physics Communications, 181:687–702, January 2010. [29] E. Ozbay. Plasmonics: merging photonics and electronics at nanoscale dimensions. Science, 311(5758):189, 2006. [30] Edward D. Palik, editor. Optical Constants of Solids, volume 3. Academic Press, San Diego, CA, 5th edition, 1998. [31] S. Pillai, K.R. Catchpole, T. Trupke, and M.A. Green. Surface plasmon enhanced silicon solar cells. Journal of applied physics, 101:093105, 2007. [32] J.M. Pitarke, V.M. Silkin, E.V. Chulkov, and P.M. Echenique. Theory of surface plasmons and surface-plasmon polaritons. Reports on Progress in Physics, 70:1, 2007. [33] Aleksandar D. Rakic, Aleksandra B. Djurišic, Jovan M. Elazar, and Marian L. Majewski. Optical properties of metallic films for vertical-cavity optoelectronic devices. Appl. Opt., 37(22):5271–5283, 1998. [34] R.F. Remis. Lecture notes computational electromagnetics b. Lecture notes for the FDTD method used at TU Delft. [35] Renewable Energy Policy Network for the 21st Century. Renewables 2010 Global Status Report, 2010. [36] Thomas Rylander and Anders Bondeson. Stable FEM-FDTD hybrid method for Maxwell’s equations. Computer Physics Communications, 125(1-3):75 – 82, 2000. [37] Y. Saad and M.H. Schultz. GMRES: A generalized minimal residual algorithm for solving nonsymmetric linear systems. SIAM Journal on Scientific and Statistical Computing, 7(3):856–869, 1986. [38] W.H. Southwell. Gradient-index antireflection coatings. 8(11):584–586, Nov 1983. Opt. Lett., [39] A. Taflove. Computational Electrodynamics: The Finite-Difference TimeDomain Method. Artech House, Norwood, MA, 1st edition, 1995. [40] Y. Takayama and W. Klaus. Reinterpretation of the auxiliary differential equation method for FDTD. Microwave and Wireless Components Letters, IEEE, 12(3):102 –104, March 2002. [41] Valgrind(tm) developers. www.valgrind.org. [42] Curtis R. Vogel. Computational methods for inverse problems. Society for Industrial and Applied Mathematics, Philadelphi, PA, 2002. [43] K.S. Yee. Numerical solution of initial boundary value problems involving maxwell’s equations in isotropic media. Antennas and Propagation, IEEE Transactions on, 14(3):302 –307, May 1966. 70 Bibliography [44] L. Zeng, Y. Yi, C. Hong, J. Liu, N. Feng, X. Duan, LC Kimerling, and BA Alamariu. Efficiency enhancement in Si solar cells by textured photonic crystal back reflector. Applied Physics Letters, 89:111111, 2006.

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement