Skip to main content

∂PV

A photovoltaic simulator with automatic differentation, built on JAX.

This repository is archived and no longer mantained. We plan on integrating differentiable PV simulations in a forthcoming multiphysics package.

Pull requests welcome!

Currently targeting inorganic materials.

For more examples, including performing efficiency optimization of a perovskite solar cell and discovering unknown material properties in a cell, see the following Google Colab

To install via pip, simply use the command

pip install deltapv

deltapv features a simple interface for most common cell structures. For a simple p-n homojunction, the following code computes the IV curve:

import deltapv as dpv

material = dpv.create_material(Chi=3.9,
                               Eg=1.5,
                               eps=9.4,
                               Nc=8e17,
                               Nv=1.8e19,
                               mn=100,
                               mp=100,
                               tn=1e-8,
                               tp=1e-8,
                               A=2e4)
des = dpv.make_design(n_points=500,
                      Ls=[1e-4, 1e-4],
                      mats=material,
                      Ns=[1e17, -1e17],
                      Snl=1e7,
                      Snr=0,
                      Spl=0,
                      Spr=1e7)
results = dpv.simulate(des)

Several convenient plotting functions are provided to visualize important quantities.

dpv.plot_iv_curve(*results["iv"])
dpv.plot_bars(des)
dpv.plot_band_diagram(des, results["eq"], eq=True)
dpv.plot_charge(des, results["eq"])
iv bars band charge

For an overview on PV cells and the physics behind the drift-diffusion model, see this helpful resource: https://www.pveducation.org.

If you use ∂PV, please kindly cite the following paper:

Mann, Sean, Eric Fadel, Samuel S. Schoenholz, Ekin D. Cubuk, Steven G. Johnson, and Giuseppe Romano.

"∂ PV: An end-to-end differentiable solar-cell simulator." Computer Physics Communications (2021): 108232 [pdf].

Metadata

Release files for deltapv 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for deltapv 0.0.5
File Size Uploaded
deltapv-0.0.5.tar.gz 923.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for deltapv 0.0.5
File Interpreter ABI Platform
deltapv-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 1.9 MB

Release files / deltapv-0.0.5.tar.gz

Download URL deltapv-0.0.5.tar.gz
Size 923.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8c63ea6832bc2143942c64be0ae003b7a0fcaf5b664a2de02b9b2d9ebccaaaa8
BLAKE2b-256 checksum
How to use checksums
63ff690d5b2a89f81a4d4c16b5246e2511b394f99c4b0c33de561a98984eaed3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / deltapv-0.0.5-py3-none-any.whl

Download URL deltapv-0.0.5-py3-none-any.whl
Size 929.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b683d329829f4c181afefc9efab9e041914b547568212a70d3355a7082a0df47
BLAKE2b-256 checksum
How to use checksums
c8549312028981a89f15aa50f5b59c6745db4d73b2445456cbf74fa7e2695dc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

1 release file

0.0.3

2 release files

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page