A multi-scale, Python-based library for modelling solar cells and semiconductor materials




Solcore was born as a modular set of tools, written (almost) entirely in Python 3, to address some of the task we had to solve more often. With time, however, it has evolved as a complete semiconductor solver able of modelling the optical and electrical properties of a wide range of solar cells, from quantum well devices to multi-junction solar cells.

A compact description of Solcore's functionality and physics can be found in the following open access publication:

D. Alonso-Álvarez, T. Wilson, P. Pearce, M. Führer, D. Farrell, N. Ekins-Daukes, Journal of Computational Electronics (2018)

  • Accessible: It is open source, designed to be easy to learn and to use, serving as a teaching tool as much as a research tool.
  • Rigorous: 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: Most of Solcore’s features are designed to be compatible with one another to allow for truly multi-scale modelling in an integrated way.
  • Flexible: Provides a variety of tools, rather than a single solution, for the study of traditional and novel semiconductor materials and devices.
  • Modular: Can be expanded with new capabilities, innovative solvers and tools.