## nextnanomat

**Software documentation**

**GUI tabs**

**Operating System**

**nextnano.cloud**

## nextnano++

**Software documentation**

**Tutorials**

**Software documentation**

**GUI tabs**

**Operating System**

**nextnano.cloud**

**Software documentation**

**Tutorials**

nnp:1d_gaas_solar_cells

Author: Takuma Sato, nextnano GmbH

Here we demonstrate that solar cells can be simulated using nextnano. The self-consistent solutions to the Poisson equation coupled with current (drift-diffusion) equation give the figure of merit of solar cells that consists of arbitrary materials. Current-Voltage (I-V) curves and corresponding power and solar cell efficiency as a function of bias voltage are exported to the output folder.

*Note: this tutorial illustrates nextnano³ results. Consistent results can be obtained with nextnano++ as well, with the exception of *

*internal calculation of the generation rate and**solar cell efficiency.*

- 1DGaAs_SolarCell_nn3.in
- 1DGaAs_SolarCell_nn3_dark.in
- 1DGaAs_SolarCell_nnp_import_generation.in
- 1DGaAs_SolarCell_nnp_dark.in
- 1DGaAs_SolarCell_nn3_100sun.in

Here the numerics parameters are optimized for convergence of the calculation in the bias range of interest. Please pay attention to the convergence of the calculation when you change device geometry etc. For the simulation of `1DGaAs_SolarCell_nn3.in`

, the following data must be present and read in by nextnano³:

- AbsorptionCoefficient_GaAs_300K.dat (material data)
- Reflectivity_Al0.80Ga0.20As.dat (material data)
- ASTMG173_AM15G.dat (solar spectral irradiance data)

For the simulation of `1DGaAs_SolarCell_nnp_import_generation.in`

, the following output file of nextnano³ must be read in, as nextnano++ cannot internally calculate generation rates.

- \optics\GenerationRateLight_vs_Position_sun1.dat

- J. Nelson,
*The Physics of Solar Cells*(Imperial College Press, 2003) - S.M. Sze and Kwok K. Ng,
*Physics of Semiconductor Devices*(Wiley, 2007)

Figure 1 shows the bandedges and quasi Fermi levels of the device. The device structure is as follows:

- 0-30nm $\mathrm{Al_{0.8}Ga_{0.2}As}$ Window layer
- 30-530nm p-doped $\mathrm{GaAs}$
- 530-3530nm n-doped $\mathrm{GaAs}$
- 3530-3630nm n-doped $\mathrm{GaAs}$ back surface field layer

Strain is not calculated in this example.

The left side of the device (x=0nm) is illuminated by the sun. As shown in Figure 6, mobile electrons and holes are created mainly in the p-layer. Electrons then flow to the right because of the AlGaAs ternary barrier (0-30nm), and holes to the left. The back of the cell (3530-3630nm) is doped with 10 times larger concentration, so that it prevents the minority carrier (hole) from leaking to the right contact. Since the current from p-layer to n-layer is defined to be positive, the photo-induced current has negative sign.

The workflow of the simulation is summarized in Figure 2. To obtain the figures shown in this tutorial,

- Prepare three data files, namely (1) spectral irradiance (solar spectrum), (2) reflectivity at the front surface and (3) absorption coefficient. Specify in the input file appropriate paths to these files.
- Run the nextnano³ software, and all of your nextnano³ results are in your output folder! Generation rate $G(E,x)$ is internally calculated before the current-Poisson iteration starts. The efficiency–voltage curve is generated as a final result.
- If you already have generation rate profile as a
`.dat`

file, you can either import it into nextnano³ or in nextnano++.

The sun emits light with a range of wavelengths ranging from the ultraviolet, visible to infrared region. The extraterrestrial solar spectrum resembles the spectrum of a black body at $T_{\text{sun}}=5760~\text{K}$ [Nelson Chapter 2]:
$$
\frac{2\pi\sin^2\theta_\mathrm{sun}}{h^3c^2}\frac{E^2}{e^{E/k_{\text{B}}T_\mathrm{sun}}-1},
$$
where $E$ is the photon energy and $\theta_\mathrm{sun}=1.44\times 10^{-3}\pi$[rad] when measured from the earth. The solar light travels from the sun to the earth, and then from the outer space to our solar cell devices, during which the spectrum attenuates and changes its shape. The standard solar spectrum assumed in solar cell analysis is called AM1.5G (AM = air mass), which takes into account the attenuation of the intensity and illumination from all angles (rather than direct from the sun) due to scattering in the atmosphere. The spectral photon flux, i.e. the spectrum of the number of incident photons per area per time, is denoted by $\phi(E)~[\mathrm{m^{-2}s^{-1}eV^{-1}}]$. The spectral irradiance, namely the spectrum of the amount of energy supplied per area per time, is given by $L(E)=E\phi(E)$ with the unit of [$\mathrm{Wm^{-2}eV^{-1}}$]. We have taken the AM1.5G spectral irradiance data from this website (Figure 3). If you have space applications in mind, please use the extraterrestrial spectrum, namely air mass zero (AM0). The photon flux is written in the nextnano³ output file `optics\PhotonFlux_eV.dat`

.
This file contains two columns.
The external photon flux density considers the photons hitting the device.
The internal photon flux density is lower because the photons that are reflected or transmitted are not included in this quantity as they will not contribute to the generation rate.

The power of incident light
$$
P_\mathrm{sun} =\int_0^\infty L(E) \text{d}E=1000~\mathrm{Wm^{-2}},
$$
which is plotted in `current\solar_cell_properties.dat`

as a reference, is solely determined by the condition of the sun and the atmosphere of the earth (for AM0 $P_{\text{sun}}=1353~\text{Wm}^{-2}$). The ultimate challenge of solar cell research is to achieve the most efficient conversion of this energy input into electric power $P_\mathrm{out}~[\mathrm{Wm^{-2}}]$. The figure of merit is therefore defined as $\eta=\frac{P_\mathrm{out}}{P_\mathrm{sun}}$.

*(If you already have available data for generation rate, you can skip this section.)*

When the sun light illuminates the device, some of the photons are reflected at the front surface (air-semiconductor interface) and the rest enters the device. This effect is taken into account by considering the reflectivity of Al_{0.8}Ga_{0.2}As. Through the absorption of one photon, a pair of mobile electron and hole is created, while the photon flux attenuates exponentially with respect to the penetration depth. The generation rate thus depends not only on the incident photon flux $\phi(E)$ but also on the absorption coefficient $\alpha(E)$ of the material and the reflectivity $R(E)$ at the surface (Figure 2):
$$
G(E,x)=N\phi(E)\cdot(1-R(E))\cdot\alpha(E)e^{-α(E)x},
$$
where the parameter `number-of-suns`

$N$ is multiplied to the photon flux $\phi(E)$ to take into account the concentration of sunlight. In the input file, $\alpha(\lambda), R(\lambda), L(\lambda)$ and $N$ are imported as specified in keyword $optical-absorption. These spectra are translated into $\alpha(E), R(E), N\phi(E)$ and substituted into the generation rate formula.

! nextnano3 $optical-absorption ... import-absorption-spectrum = yes file-absorption-spectrum = "(directory)\AbsorptionCoefficient_GaAs_300K.dat" import-reflectivity-spectrum = yes file-reflectivity-spectrum = "(directory)\Reflectivity_Al0.80Ga0.20As.dat" import-solar-spectrum = yes file-solar-spectrum = "(directory)\ASTMG173_AM15G.dat" ! G = global, i.e. including diffuse light !number-of-suns = 0.0 ! switch off sun if generation rate is imported number-of-suns = 1.0 !number-of-suns = 100.0 ! optical concentration $end_optical-absorption

If no reflectivity data is specified, perfect interface (zero reflection) is assumed. Here we have manually generated `Reflectivity_Al0.80Ga0.20As.dat`

for the reflectivity of Al_{0.8}Ga_{0.2}As using the Fresnel formula for perpendicular incident light
$$
R(\lambda)=|r(\lambda)|^2=\left|\frac{1-[n(\lambda)+i\kappa(\lambda)]}{1+[n(\lambda)+i\kappa(\lambda)]} \right|^2,
$$
where the refractive index $n$ and extinction coefficient $\kappa$ of GaAs and AlAs are taken from here. To obtain the values of ternary Al_{0.8}Ga_{0.2}As, we performed linear interpolation. If you consider a textured surface to reduce surface light reflection, please prepare the corresponding reflectivity data and import to the nextnano simulation. $\alpha(E), R(E)$ and $NL(E)$ are stored in the output folder `\optics`

with file names `AbsorptionCoefficient.dat`

, `Reflectivity.dat`

and `SolarSpectralIrradiance.dat`

, respectively.

The resulting generation rate is shown in Figure 4, 5 and 6.

If the generation rate data $G(x)=\int G(E,x)\text{d}E$ (Figure 6) is available from literature or publications, you can import the `.dat`

file without worrying about the above mentioned calculation. The data must contain position [$\mathrm{nm}$] in the first column and generation rate [$10^{18}\mathrm{cm^{-3}s^{-1}}$] in the second. In the sample file `1DGaAs_SolarCell_nn3_import_generation.in`

(nextnano³) and `1DGaAs_SolarCell_nnp_import_generation.in`

(nextnano++), we import the data generated from `1DGaAs_SolarCell_nn3.in`

.

! nextnano3 $import-data-on-material-grid source-directory = "(directory path)" import-generation = yes filename-generation = "GenerationRateLight_vs_Position_sun1.dat" $end_import-data-on-material-grid $optical-absorption ... number-of-suns = 0.0 ! switch off sun if generation rate is imported $end_optical-absorption

Please switch off the sun so that the *internally* calculated generation rate is zero.

# nextnano++ structure{ region{ everywhere{} generation{ import{ import_from = "GenImportProfile" } } } } import{ file{ name = "GenImportProfile" filename = "(directory path)\GenerationRateLight_vs_Position_sun1.dat" format = DAT scale = 1e18 # import data is multiplied by this scaling factor (optional, default value is 1.0) } }

The calculated or imported generation rate contributes to the right-hand side of the coupled current equations for electrons and holes,
$$
-e\frac{\partial n}{\partial t}+\nabla\cdot\mathbf{j}_n = -e(G-R),\\
e\frac{\partial p}{\partial t}+\nabla\cdot\mathbf{j}_p = e(G-R),
$$
where $G$ and $R$ are the (position-dependent) generation and recombination rates for electron-hole pairs. Here the charge current density $\mathbf{j}_{n,p}$ has a dimension of (charge)(area)^{-1} and the generation rate has (volume)^{-1}(time)^{-1}.
The recombination rate is the sum of three different processes $R=R_\mathrm{rad}+R_\mathrm{Auger}+R_\mathrm{SRH}$. See our Laser diode tutorial, [Nelson] or other literature for details. By solving this current equation and the Poisson equation self-consistently, the program obtains the current density at each bias step. The resulting I-V curve is shown in Figure 7 and 8. For comparison, the dark current has been simulated by setting

! nextnano3 $optical-absorption ... import-solar-spectrum = yes number-of-suns = 0.0 $end_optical-absorption

# nextnano++ structure{ region{ generation{ constant{ rate = 0.0 } } } }

The dark current in the present device behaves like in a diode under forward bias. When the sun illuminates the device, electrons and holes are created and current flows in the reverse direction.

If you change the device geometry or materials and the I-V curve is no longer reasonable, it is likely that the numerical calculation did not converge. Please check the `.log`

file. For the convergence of the current-Poisson equation, you might need to change the settings under $numeric-control (nextnano³) or run{} (nextnano++) keywords. If you need help, feel free to contact us at support@nextnano.com.

From the I-V curve nextnano³ calculates the solar cell power density $P_\mathrm{out}=-IV$ and the efficiency $\eta=\frac{P_\mathrm{out}}{P_\mathrm{sun}}$. For the present device under 1 sun, the maximum efficiency of **17.0%** is achieved at the bias 0.9 V (Figure 9, red). The theoretical limit for GaAs (bandgap 1.42 eV at $T=300~K$) is around 30% under the AM1.5 condition without concentration [Sze].

The maximum efficiency of the present device increases to **22.3% for 100-sun concentration** according to nextnano³ simulation, mainly due to the increase in open circuit voltage (Figure 9, blue). This means one cell operating under 100 suns can produce the same power output as 100 P_{sun}*0.223/(P_{sun}*0.17)=131 cells under 1 sun. Optical concentration reduces the total cost of solar cells since concentrator materials are usually less expensive than the ones for solar cells [Sze].

The `.log`

file and the file `solar_cell_info.txt`

contain additional properties of the solar cell.

Solar cell results **************************************************************************************** short-circuit current: I_sc = 184.149021 [A/m^2] (photo current: It increases with smaller band gap.) open-circuit voltage: U_oc = -1.012500 [V] (U_oc <= built-in potential ~ band gap) current at maximum power: I_max = 180.613633 [A/m^2] voltage at maximum power: U_max = -0.900000 [V] maximum power output: P_max = U_max * I_max = -162.552270 [W/m^2] (condition for maximum power output: dP/dV = 0) maximum extracted power: P_solar = - P_max = 162.552270 [W/m^2] incident power: P_in = 1000.369631 [W/m^2] ideal conversion efficiency: eta = P_max / P_in = 16.249221 % fill factor: FF = 0.871824 In practice, a good fill factor is around 0.8. All these results are approximations. They are only correct if a lot of voltage steps have been used (i.e. a high resolution of bias steps).

*With nextnano++ one can simulate up to the I-V characteristics. We are currently implementing the power-V curve and efficiency-V curve.*

*The convergence of the simulation is sensitive to the device settings such as the number of suns. If the convergence fails in your original device, please consider changing the settings in $numeric-control (nextnano³) or run{} (nextnano++).*

- Please help us to improve our tutorial. Should you have any questions or comments, please send them to support@nextnano.com.

nnp/1d_gaas_solar_cells.txt · Last modified: 2020/08/31 05:24 by takuma.sato