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 various 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: very high illumination (many suns), localized illumination, extreme geometries (large non-active perimeter, very small geometric features, test structures, …), extreme temperatures, applied voltages far above \(V_{oc}\) or low voltages, and 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.
A particular limitation resulting from the specific numerical model 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 slightly 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.
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:
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.
The main assumption within the multiscale modelling approach 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 multiscale modelling 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:
Another limitation of multiscale modelling is that it can only be applied to front and rear side skins.
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.