Introduction
This example demonstrates how the STACK solver script command stackfield can be used to determine the short circuit current (\(J_{sc}\)) of a solar cell consisting of a 1D stack of materials.
In the case of solar cells, an FDTD simulation can be used to calculate the absorbed light and generated current, as demonstrated in our Application Gallery solar cell examples. However, for solar cells consisting of 1D layers of different materials, the STACK solver can be used to determine the solar cell properties at a fraction of the time required for FDTD simulations. STACK solver simulations are also much easier to set up and troubleshoot.
The theory and assumptions behind the approach used in this example is discussed on the solar cell methodology page. The key simulation result required in this approach is the electric field inside the absorbing material as a function of position and frequency. This field result can be obtained using a plane wave source and periodic boundary conditions in the FDTD solver. However, the same result can also be obtained using the stackfield script command.
In the script file [[solar_cell_stackfield.lsf]] is a function that takes the stack materials, thicknesses, absorbing layers, frequencies, and resolution, finds the electric field inside the stack using [[stackfield]], and calculates the short circuit current of the solar cell. The function was adapted from the "solar_generation" analysis group script to use the [[stackfield]] script command instead of FDTD monitor results.
Also included in the [[solar_cell_stackfield.lsf]] script file are two examples of the use of this function. If the [[solar_cell_stackfield.lsf]] script file is run the results of these examples will be printed to the script prompt. The material data used in the simulation are provided in the [[solar_cell_materials.mdf]] material data file.
Silicon Solar Cell
In the first example, the optical results of the Planar Silicon Solar Cell Application Gallery example are replicated. We can see that the script returns a result of \(J_{sc} =195\textrm{ A/m}^2\), while the FDTD simulation in the example produces a result of \(J_{sc} =201\textrm{ A/m}^2\).
GaAs Solar Cell
In the second example, the results of the Thin Film GaAs Solar Cell example are replicated. This time the script returns a result of \(J_{sc} =312\textrm{ A/m}^2\), while the example using FDTD has a result of \(J_{sc} =303\textrm{ A/m}^2\). Note that a high STACK solver resolution is required for this example to fully resolve the thin AlGaAs layers.
We can identify the optimum value for the AR layer thickness, by performing a sweep. Set the “AR_sweep” variable on line 71 of the script file to “true” and run the script again to perform this parameter sweep to obtain Jsc as a function of AR layer thickness. The results are plotted below:
The results indicate 100 nm to be the optimum value for AR layer thickness. This is in perfect agreement with the expected value given in the Thin Film GaAs Solar Cell example page.
Next Steps
This script could be extended to include light with a non-normal incidence angle by adding an angle argument to the stackfield command. Note that the calculated field inside the solar cell would then depend on the polarization of the light, which would have to be taken into account for the calculation of \(J_{sc}\).
The power absorbed and heat generated could also be calculated. See the "solar_generation" analysis group script to see how this calculation could be done.