1 Introduction
2 Materials science
2.1 Parameters database
get_parameter
function with the required inputs. For example:
GaAs.band_gap
is the GaAs bandgap and AlGaAs.lattice_constant
is the AlGaAs lattice constant, both at the composition and temperature chosen when creating the objects.2.2 Optical properties database
SiO2.n(wavelength)
and SiO2.k(wavelength)
. For certain materials in the database, the optical constants are provided for a range of alloy compositions. In these cases, any desired composition within the range can be specified and the interpolated n and k data are returned. Several examples of materials created from the Sopra database are shown in Listing 1.
2.3 Quantum solver
2.3.1 Bulk 8-band k\(\cdot \)p calculator
linalg.eig
function, which provides as output the eigenfunctions and the corresponding eigenvalues. Typically, we are interested in the new band edges due to the effect of strain and the resulting effective masses, given by the curvature of the bands near \(k_i = 0\). Figure 4 shows an example of the bands calculated in this way for the case of a strained InGaAs layer grown pseudomorphically on GaAs, and the resulting dependence of the effective mass with the indium content of the layer. Notice that, due to the effect of strain, the heavy and light hole bands are no longer degenerate at the gamma point \(\varGamma \) (\(k = 0\)).
2.3.2 1D Schrödinger equation
sparse.linalg.eigs
.2.4 Critical-point parabolic-band optical constant model
absorption_calculator
contains the CPPB model within the Custom_CPPB
class. The class offers a flexible way to build up the optical constant model by adding individual critical point contributions through the Oscillator structure type within Solcore. In addition to the oscillator functions described by Adachi, the Custom_CPPB
class also provides additional oscillator models and the Sellmeier equation for describing the real part of the dielectric function for non-absorbing materials [33]. For example, the code in Listing 2 calculates the complex dielectric function of GaAs.
Custom_CPPB
class. The model, using a set of parameters for GaAs similar to those specified in [28], shows excellent agreement with the experimental data taken from Palik [34]. For a recent demonstration of Solcore’s CPPB model, please refer to the discussion on Wilson et al. [35].2.5 QW absorption calculator
TE | TM | |
---|---|---|
\(c-hh\)
|
\(3/2 M_b^2\)
| 0 |
\(c-lh\)
|
\(1/2 M_b^2\)
|
\(2 M_b^2\)
|
3 Light sources
light_source
is designed to deal easily with different light sources. It has direct support for:-
Gaussian emission, typical of lasers and light-emitting diodes.
-
Black-body radiation, characteristic of halogen lamps defined by a temperature, but also used very often to simulate the spectrum of the Sun, very close to a black body source at 5800 K.
-
Standard solar spectra: the extraterrestial spectrum AM0 and the two terrestial ones, AM1.5D and AM1.5G as defined by the ASTM G173-03(2008) standard.
-
Irradiance models, using location, time and atmospheric parameters to calculate a synthetic solar spectrum. Solcore includes two models: SPECTRAL2, fully implemented in Python, and an interface to SMARTS binaries (which need to be installed separately), which greatly simplifies its use in batch mode.
-
User-defined irradiances, provided externally from a database or any other source, allowing for maximum flexibility.
smarts.spectrum(HOUR=11)
and smarts.spectrum(HOUR=17)
will provide the spectrum of the SMART light source defined above calculated at 11 h and at 17 h, respectively; all additional parameters have the default values. This method has been used to model experimental solar irradiances measured by different spectroradiometers based on the local atmospheric conditions [39].light_source
module has been described in the context of the solar spectrum, but it can be applied broadly where there is spectral data involved, such as the fitting of photoluminescence, electroluminescence, or Raman spectra.4 Optical solvers
4.1 Beer–Lambert law (BL)
4.2 Transfer matrix method (TMM)
tmm
module developed by Byrnes [44]. The multi-layer optical stack is built up using Solcore’s Structure object. Some example code evaluating the TMM for a triple layer anti-reflection coating (ARC) on top of conventional multi-junction solar cell materials AlInP and GaInP is included in Listing 4.
4.3 Rigorous coupled-wave analysis (RCWA)
size
attribute in the user options), and each shape is placed at a specified location (and, where relevant, angular orientation) in the unit cell; as many shapes as necessary can be added, supplied as a list of dictionaries with the relevant parameters for each shape. An example for each type of shape supported by \(S^4\) is shown in Listing 6. The size of the unit cell in the x and y directions and the base size of the unit cell must be given in nm. The number of Fourier components used in the calculation [45] must also be specified; this is done using the orders
attribute in the user options passed to the solver of choice.
5 Single-junction solar cells
5.1 Detailed balance (DB)
5.2 2-diode model (2D)
5.3 Poisson–drift–diffusion (PDD)
5.3.1 Solver assumptions and formulation
-
All carrier populations are in quasi-thermal equilibrium.
-
The mobility of carriers is independent of the electric field.
-
Temperature is uniform.
-
There are no magnetic fields.
5.3.2 QWs in the PDD solver
-
Barriers have the bulk density of states and absorption profile.
-
Interlayers only have the bulk density of states above the barrier and the bulk absorption from the barrier energy and zero below that.
-
Wells have all the density of states associated with the confined states and the bulk density of states above the barrier, while they have the absorption of the confined levels below the barrier energy and of the bulk above it.
5.3.3 Mesh creation and dynamic meshing
-
The variation of the potentials or the carrier densities across the element is large.
-
The element is too close to the masternodes limiting the layer.
-
The element is too big for the region.
-
It is not a masternode.
-
The variation of the potentials or the carrier densities with respect the previous and next nodes is small.
-
It is not too close to the masternodes limiting the layer.
-
Removing it does not create an element too big for the region.
5.4 Depletion approximation
6 Multi-junction solar cells
6.1 No radiative coupling
6.2 With radiative coupling
6.3 Restrictions in the junction definitions
-
When there is no radiative coupling and we are interested only in the dark IV characteristics, all junction models can be combined with each other. This allows a MJ device where the top junction is defined using the DB model, the middle junction is defined with the 2D model and the bottom junction uses a more accurate PDD model, for example.
-
The same applies for light IV and quantum efficiency simulations as long as the optical model chosen is the BL law. In this case, any junction defined using the 2D model needs to include an absorptivity value.
-
The TMM and RCWA optical models are supported only by the PDD and DA junction models.
-
In the presence of radiative coupling, the only junction models that can be used are DB and 2D, as long as the latter includes an absorptivity value.
6.4 Tunnel junctions
7 Large circuit solver
7.1 Quasi-3D solar cell model
7.1.1 In-plane discretization
7.1.2 Vertical discretization
7.2 Solar array model
8 Closing remarks
-
Flexibility Provides a variety of tools, rather than a single solution, for the study of traditional and novel semiconductor materials and devices.
-
Modularity Can be expanded with new capabilities, innovative solvers and tools.
-
Accessibility Not only is it open source, but it is also designed to be easy to learn and to use, serving as a teaching tool as much as a research tool.
-
Rigour The physics behind every functionality are well understood and supported by numerous references, as are the approximations made in order to simplify the implementation of the problem or the interpretation of the results.
-
Integrated All of Solcore’s features are designed to be compatible with one another to allow for truly multi-scale modelling in an integrated way.