This page provides an overview of the methodology for simulating solar cells, and a number of helpful tips.
Workflow
Design and characterization of solar cells require both optical simulations using FDTD and electrical simulations using CHARGE. This is because the performance of solar cells depend not only high optical absorption, but also effective charge transportation and the output electrical power.
The work flow of FDTD simulations can be summarized as below:
- set the physical layout (geometry and materials)
- add simulation region and boundary conditions, as well as meshing
- add monitors, and the "solar_generation" analysis groups
- run the simulation and then analyze the results
- sweep or optimize some key parameters
- generate data for the CHARGE solver
- iterative simulation from CHARGE results
Incorporating the solar power spectrum
It is relatively straightforward to include the effect of an arbitrary source power spectrum during your data analysis and post-processing. We first simulate using the built-in source spectrum, and obtain the normalized quantities in frequency domain; and then in post-processing, users can analyze any specific source spectrum, without running the simulation. This approach is summarized below, and demonstrated in the associated example files.
Sun light spectrum. (note: it is easy to modify the code to include more solar spectrum in the UV direction)
Step 1: Run your simulation in the normal way, with the standard source settings.
Setup your simulation in the normal way with "CW Normalization" selected (default setting). Simply specify the wavelength range of interest (300-1000nm in this example). It is not necessary to setup the spectrum of the FDTD source to match the desired power spectrum of your real source. The FDTD source will automatically inject a spectrum calculated from a Gaussian-like shaped pulse, as shown in the Frequency/Wavelength tab (screenshot below).
After the simulation is complete, you can access the simulation data from frequency monitors with the standard functions like getdata, transmission, getelectric. It is important to understand how to interpret this data. By default (with CW Normalization enabled), the frequency domain data is automatically normalized AS IF the source injected the same amount of power at all frequencies. In effect, the CW Normalization has normalized away the spectrum of the source. The data can now be correctly interpreted as the impulse response of the system.
Step 2:
Now that we have the impulse response of the system, it's easy to calculate the response to an arbitrary power spectrum. We simply multiply the impulse response of the system by the new power spectrum. See the example script files for details. The other solar cell examples in this section use the same approach.
An added benefit of this approach is that we can re-analyze the results using a different power spectrum, without having to run a new simulation.
Note: Modifying the FDTD source spectrum It is not necessary to run a FDTD simulation with the solar spectrum. In fact, it is recommended to use the default source settings. Importing your own spectrum, while possible (see custom spectrum), will actually complicate your simulations and analysis. This approach is not recommended. |
Quantities to calculate from FDTD simulation
Generation rate (g) and short circuit current (Jsc)
The absorption per unit volume can be calculated from the divergence of the Poynting vector,
$$P a b s=-0.5 \text {real}(\vec{\nabla} \cdot \vec{P})$$
It is possible to calculate the absorption directly from this formula (Divergence of Poynting vector section), but divergence calculations tend to be very sensitive to numerical problems. Fortunately, there is a more numerically stable form. It can be shown that the above formula is equivalent to
$$P a b s=0.5 \operatorname{real}\left(i \omega \vec{E} \cdot \vec{D}^{*}\right)$$
With a little more work, we get the desired result
$$P a b s=-0.5 \omega|E|^{2} i \operatorname{mag}(\varepsilon)$$
To calculate the absorption as a function of space and frequency, we only need to know the electric field intensity and the imaginary part of the permittivity. Both quantities are easy to measure in an FDTD simulation.
The number of absorbed photons per unit volume can then be calculated by dividing this value by the energy per photon:
$$g=\frac{P a b s}{\hbar \omega}=\frac{-0.5|E|^{2} \operatorname{imag}(\varepsilon)}{\hbar}$$
The generation rate is the integration of g over the simulation spectrum.
In an ideal case, assuming that all absorbed photons generate electron-hole pairs, the photo-generation current can be obtained:
$$I=e g(\mathrm{A} / \mathrm{m})$$
By using the CHARGE solver, users can obtain a more accurate short circuit current density.
Quantum efficiency of a solar cell (QE)
The quantum efficiency of a solar cell, QE (λ), is defined by
$$\mathrm{QE}(\lambda)=\frac{P_{a b s}(\lambda)}{P_{in}\lambda)}$$
where Pin (λ) and Pabs (λ) are the powers of the incident light and absorbed light within the Si solar cell, respectively, at a wavelength λ. Using the quantum efficiency, integrated quantum efficiency, IQE, is defined as
$$\mathrm{IQE}=\frac{\int \frac{\lambda}{h c} \mathrm{QE}(\lambda) \mathrm{I}_{\mathrm{AM} 1.5}(\lambda) \mathrm{d} \lambda}{\int \frac{\lambda}{h c} \mathrm{I}_{\mathrm{AM} 1.5}(\lambda) \mathrm{d} \lambda}$$
where h is Plank’s constant, c is the speed of light in the free space and IAM1.5 is AM 1.5 solar spectrum. In the above equation, numerator and denominator means the number of photons absorbed by the solar cell and that falling onto the solar cell. The sun spectrum IAM1.5 is shown in Fig.1 and it is taken from the link, http://rredc.nrel.gov/solar/spectra/am1.5/ASTMG173/ASTMG173.html, and you can use script function "solar" to get the data.
To see how the efficiency of solar cell with metal particles is improved comparing with a bare solar cell, we define the following quantities, absorption enhancement g(λ) and G,
$$\mathrm{g}(\lambda)=\frac{\mathrm{QE}_{\text {particle }}(\lambda)}{\mathrm{QE}_{\text {bare }}(\lambda)}$$
and
$$\mathrm{G}=\frac{\mathrm{IQE}_{\text {particle }}}{\mathrm{IQE}_{\text {bare }}}$$
If we assume that all electron-hole pair contributes to photocurrent, the short circuit current density Jsc is given by
$$\mathrm{J}_{s c}=e \int \frac{\lambda}{h c} \mathrm{QE}(\lambda) \mathrm{I}_{\mathrm{AM} 1.5}(\lambda) \mathrm{d} \lambda$$
where e is the charge on an electron.
You may also define and calculate some other quantities related to the results of electric/magnetic fields from FDTD simulation.
Quantities to calculate from CHARGE
To evaluate the performance of the solar cell, we typically measure the photovoltaic energy conversion efficiency,
$$\eta=\frac{F F \times V_{\infty} \times J_{\mathrm{sc}}}{S_{\mathrm{AM} 1.5 \mathrm{G}}}$$
where FF is the fill-factor, Voc is the open-circuit voltage, Jsc is the short-circuit current, and SAM1.5G is the incident power from the AM1.5G solar model:100mW/cm2.
The fill-factor is related to the maximum power-point, where the power-product JV is at its maximum value,
$$F F=\frac{P_{\max }}{V_{\infty} J_{\mathrm{sc}}}$$
Equivalently, the energy conversion efficiency can be written as
$$\eta=\frac{P_{\max }}{S_{\mathrm{AMI}, 5G}}$$
and is commonly described as a percentage.
Typical simulation setup in FDTD
Usually solar cells can be modeled by periodic structures, which require only one unit cell and periodic boundary conditions for simulation. In most cases, symmetric or antisymmetric boundary conditions can be used as well; see Choosing between symmetric and anti-symmetric BCs for more information about symmetry settings. For the light source in the simulation you can use a plane wave with a wavelength range that covers the solar spectrum. PML boundary conditions are required along the injection direction to absorb the reflected and transmitted fields.
The usual simulation setup for a solar cell with light at normal incidence is shown in the figure below:
For light incident at an angle it is recommended to use the Broadband Fixed Angle Source Technique (BFAST) as discussed in the Plasmonic solar cell at oblique incidence example.
Simulation tips
FDTD Simulation:
- use the default source spectrum instead of the real solar spectrum
- use one unit cell for the simulation
- use proper symmetry or anti-symmetry boundary conditions to reduce memory requirement and speed up the simulation
- disable unnecessary monitors such as movie monitor when doing sweep and optimization
CHARGE simulation:
- choose proper voltage steps: when using a large the voltage step, the simulation maybe difficult to converge
- set a proper working temperature (default T=300k)
- no region can be in vacuum, that is, the whole simulation region must be filled with materials other than vacuum, such as SiO2
- all metals must be associated with a contact.