Semiconductor devices such as perovskite and organic solar cells, diodes and photoconductors are an important and rapidly growing part of modern technology. Understanding the inner workings of these devices is crucial for their development and applications, however this has proven to be rather difficult due to their high level of complexity. Using a combination of experimental techniques and numerical modelling can help to overcome this. An often used numerical model to achieve this is the drift-diffusion model. However, using these models is often not very approachable and efficiently combining them with well-known experiments is not straightforward. In this work we demonstrate pySIMsalabim. With this Python package we aim to greatly extend the functionality of the drift-diffusion simulator SIMsalabim with Python. This package provides many useful tools to set up and run simulations, as well as to analyse and visualize the results and enables implementation in other frameworks such as machine learning models and algorithms. A major part of the package consists of the numerical implementation of several well known experimental techniques: steady-state and transient current-voltage sweeps, external quantum efficiency, impedance spectroscopy, and capacitance-voltage profiling. We have developed the numerical implementations based on the physical processes behind these experiments, which are applicable even beyond just SIMsalabim. The development of these experiments in combination with the functionality of pySIMsalabim, provides the tools to further understand the challenges and limitations of perovskite solar cells and use this knowledge to improve their performance and combat degradation mechanisms.
Heester et al. (Sun,) studied this question.