E-viri
  • PV: An end-to-end different...
    Mann, Sean; Fadel, Eric; Schoenholz, Samuel S.; Cubuk, Ekin D.; Johnson, Steven G.; Romano, Giuseppe

    Computer physics communications, March 2022, 2022-03-00, Letnik: 272
    Journal Article

    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. Program Title:∂PV CPC Library link to program files:https://doi.org/10.17632/7w7r8mtx3d.1 Developer's repository link:https://github.com/romanodev/deltapv.git Code Ocean capsule:https://codeocean.com/capsule/0851990 Licensing provisions: MIT Programming language: Python Nature of problem: Photovoltaic cell optimization has been traditionally difficult due to the lack of gradients from numerical drift-diffusion solvers. This results in the need to treat the problem as a case of black-box optimization, which incurs high computational costs and low data efficiency. Solution method: An end-to-end differentiable photovoltaic simulator via the drift-diffusion model was developed using JAX, a growing scientific computation and automatic-differentiation library. To enhance computational speed, the implicit function theorem was used to bypass the need for directly differentiating through iterative solvers.