bensdorp.

bensdorp.
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.
Was this manual useful for you? yes no
Thank you for your participation!

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

Download PDF

advertisement