∂PV: An end-to-end differentiable solar-cell simulator
We introduce ∂PV, an end-to-end differentiable photovoltaic (PV) cell simulator based on the drift-diffusion model and Beer–Lambert law for optical absorption. ∂PV is programmed in Python using JAX, an automatic differentiation (AD) library for scientific computing. Using AD coupled with the implicit function theorem, ∂PV computes the power conversion efficiency (PCE) of an input PV design as well as the derivative of the PCE with respect to any input parameters, all within comparable time of solving the forward problem. We show an example of perovskite solar-cell optimization and multi-parameter discovery, and compare results with random search and finite differences. The simulator can be integrated with optimization algorithms and neural networks, opening up possibilities for data-efficient optimization and parameter discovery.