Limits of Quokka3
Specific scope on typical (silicon) solar cells
The numerical models implemented in Quokka3 are specifically scoped, optimized and tested for typical solar cells within typical operating conditions. The qn-bulk solver has a particular focus on crystalline silicon properties, while the 1D detailed solver is developed to work more generally also for other material properties.
The specific focus on the one hand enables the high performance, easy-of-use, and imposes minimal requirements on the user to control numerics. On the other hand this means that Quokka3 is NOT a generic semiconductor device simulation software. Any conditions outside of its scope bear a significant likelihood of convergence problems or other errors outside of the user’s control. Such conditions include, but are not limited to:
- material properties substantially different from Si properties
- very high illumination (many suns)
- localized illumination
- extreme geometries (large non-active perimeter, very small geometric features, test structures, …)
- temperatures far from room temperature
- applied voltages far above \(V_{oc}\) or low voltages
- generally any very poorly performing solar cell.
The scope of the “skin solver” is mainly to provide a vehicle for the multiscale modeling approach, and several measures ensure robustness within this automated use. It should also be robust when used on its own for typical skins at operating conditions corresponding to between the cell’s maximum power point and \(V_{oc}\). However, when using the skin solver to broadly varying the skin’s operating point, one can easily leave those conditions and must expect convergence difficulties.
Quokka3 may well converge in many cases outside of its scope, but no implied of expressed warranty is given on the correctness of results.
Forward bias only
A particular limitation resulting from the specific numerical model using the quasi-neutral drift-diffusion assumption with skin boundaries, is a convergence difficulty at reverse bias. Therefore, Quokka3 is explicitly scoped for forward bias voltages only. It can not simulate reverse bias effects like e.g. reverse breakdown.
For illuminated devices the convergence difficulty is such that the numerics work well only for applied voltages significantly above \(0 V\), but low enough low so that \(J_{sc}\) is extracted. True short-circuit, i.e. \(0 V\), does NOT work for an illuminated device.
It is however noted that restricting voltages to above such a \(J_{sc}\) condition is sufficient for most purposes. E.g. for the light JV-curve, Quokka3’s automatic algorithm finds \(J_{sc}\) condition from sweeping voltage downwards and detecting the “flat part” of the JV-curve (excluding external circuit elements), which for typical solar cells will not change it’s shape further towards true short-circuit. If the solar cell design is such that it does not show a flat light JV-curve until close to short-circuit (again excluding external circuit elements), it is considered non-typical and thus outside of Quokka3’s scope.
The 1D-detailed solver is less restrictive. While still often challenging, even negative voltages may well converge. In particular, it is in many cases possible to simulate a full “S-shaped” JV-curve not showing a flat part towards short circuit, as often observed in non-ideal perovskite solar cells.
Notably, when using the equivalent circuit model type to model bulk carrier transport, this limitation is removed, at the cost of neglecting 3D transport effects within the bulk.
Rectangular geometries and mesh accuracy
Quokka3’s meshing approach requires the solution domain to be cuboidal, and all geometric features to be rectangular (or circular) and aligned to the coordinate axes. While this fits well to most typical silicon solar cell simulation tasks, it also results in some limitations, in particular:
- The surfaces are always planar (which is typical for 2D / 3D solar cell simulations). Resolving the actual surface morphology is not possible, e.g. simulating a symmetry element containing a single pyramid. Note however that a texture multiplier commonly used to effectively account for the increase of recombination due to surface area enlargement, results in a better consistency within the multiscale modelling opposed to full detailed modeling [ref].
- Non-rectangular device shapes are not supported. E.g. a pseudo-square cell needs to be approximated by a full-square one.
- Non-rectangular feature geometries like for example tapered busbars can to some degree be approximated by overlaying several rectangular shapes, which however may lead to an inefficient and large mesh.
- While circular shapes of geometric features are allowed, for sufficiently accurate discretization an often inefficiently high number of mesh elements is required. Where possible, which is in particular true for small feature sizes, they should be replaced by a square shape with equal area.
- While the depth of skins on one side can be different, which is correctly accounted for when modelling skin-properties, the bulk carrier transport is always solved on a mesh with a unique vertical dimension (the device thickness less the average skin depth [ref]). This may lead to some inaccuracy in bulk carrier transport if skin-depths are significantly different AND not very thin compared to the device thickness.
Quokka3’s automated meshing algorithm is developed in such way that even for a ‘coarse’ mesh quality the resulting discretization errors should be small in most cases. However, ensuring mesh-independency of the results, e.g. by reproducing the same result with different mesh quality settings, is the responsibility of the user.
Limits of the skin concept
The main assumption within the skin concept, which is fundamental to Quokka3’s 3D solver, is that a skin can be treated quasi-1D. This holds well for most skins of typical silicon solar cells, as they are commonly thin and (approximately) region-wise homogenous. The skin concept becomes inaccurate or not applicable anymore if multidimensional carrier transport within a non-neutral region of the device has to be accounted for. Example situations are:
- A pn-junction cornering on a recombination active edge resulting in significant space-charge-region (SCR) recombination, e.g. at the cut-edge of a solar cell with a full-area emitter. The SCR recombination at the edge is then not directly considered in the multiscale approach. Note however that specifically for this edge recombination case an approach has been developed to account for the SCR contribution in an effective manner.
- Accounting for the actual shape and spatially resolved properties of a local aluminum BSF, instead of treating it as a planar feature with effective homogenous properties. Here it is immediately obvious that the skin concept and mesh type is not applicable, and a more generic semiconductor simulation tool has to be used.
- Resolving a single contact spike, e.g. a Ni spike through a thin emitter, same reasoning as above.
Another limitation of multiscale modelling is that detailed skins can only be applied to front and rear side skins.
Drift-diffusion in bulk material only
At this point, drift-diffusion physics are numerically solved exclusively in the bulk material, usually the c-Si wafer, both in the qn-bulk solver and 1D detailed solver. Any other involved material layers are treated analytically as boundary conditions to the bulk drift-diffusion model.
E.g. for a heterojunction solar cell, optical generation, recombination, band-bending and vertical transport can not be resolved within the a-Si and TCO layers. In Quokka3 those layers must be represented by lumped properties, namely sheet resistance, effective recombination \(J_{0,skin}\) and possibly a vertical resistivity.
Simple ray tracer for external optics only
Quokka3 does not yet implement a full ray tracer for optical modeling. Optics is modelled using by lumped internal and external optical properties of the skins / surfaces, similar to the optical model in PC1D. For the external optics part only, Quokka3 also supports the definition of thin film thicknesses and n&k values, and can perform a simple ray tracing + transfer matrix method to calculate external reflection and absorption. Once light reaches the main absorber (the Si wafer), light trapping can not be modelled via ray tracing but via analytical models only.
Quasi-1D optics
As typical for 2D / 3D solar cell simulations, the optics in Quokka3 are considered in a quasi-1D manner. Light can not travel laterally in the solution domain, which means:
Quokka3 uses a (region-wise homogeneous) planar surface, meaning that regarding the quasi-1D generation profile(s), the depth-coordinate represents the closest distance to the actual (potentially non-planar) surface [ref].
For 2D / 3D generation, neighboring regions with different optical properties result in a discontinuity of generation rate between those regions. E.g. everywhere underneath a fully shading finger generation will be exactly zero.
Similar for luminescence maps, the effect of light smear within the device is no considered. In particular for textured surfaces and not applying short-pass filtering, the significant amount of blurring in experimental images will not be present in the simulated luminescence maps.
Also shading is only considered locally, i.e. in a quasi-1D manner. This results in some inaccuracy of the distribution of generation below and around the shaded regions. However, this detail has a very low influence on cell characteristics for typical silicon solar cells as the more important total generation is accurate.