Skip to main content
optimPV logo

optimPV: Optimization & Modeling tools for PV research

Authors

Vincent M. Le Corre

Institution

SDU logo CAPE - Centre for Advanced Photovoltaics and Thin-film Energy Devices, University of Southern Denmark, Denmark

Description

This repository contains the code to run optimPV. optimPV combines sevral optimization procedures and modeling utilities that can be used for two objectives:

  1. to optimize the parameters of a simulation to fit experimental data.
  2. to optimize the processing conditions in a self-driving experimental set-up.

Repository Folder Structure

.
├── Main                             # Main directory
    ├── optimPV                      # Main directory for the optimPV codes
        ├── axBOtorch                # Directory with the Bayesian optimization (BO) codes using BoTorch and Ax
        ├── DDfits                   # Directory with the different agents to run the drift-diffusion simulator  [SIMsalabim](https://github.com/kostergroup/SIMsalabim) for JV, Hysteresis, Impedance, CV and IMPS simulations and fitting
        ├── Diodefits                # Directory with the agent to simulate and fit the non-ideal diode equation model
        ├── general                  # Directory with general utility functions used by the different agents
        ├── posterior                # Directory with some utility functions to plot the posterior distributions using the BO surrogate model
        ├── RateEqfits               # Directory with the agent to simulate and fit the rate equations for different experiment types (trPL, TRMC, TAS, etc.)
        ├── scipyOpti                # Directory with the optimization codes using scipy.optimize
        ├── TransferMatrix           # Directory with the agent to run the transfer matrix simulations
    ├── Notebooks                    # Contains clean versions of the Notebooks
    ├── Data                         # Contains some example data for the notebooks
    ├── docs                         # Contains the documentation
    ├── test                         # Contains the codes for testing optimPV
└── README.md

Installation

With pip

To install optimPV with pip you have two options:

  1. Install optimPV using the PyPI repository

    pip install optimpv
    
  2. Install optimPV using the GitHub repository https://github.com/openPV-lab/optimPV

    pip install git+https://github.com/openPV-lab/optimPV
    

With conda

To install optimPV with conda:

conda create -n optimpv 
conda activate optimpv
pip install optimpv

You can also clone your base environment:

conda create -n optimpv --clone base

Additional necessary installs for the agents

Drift-diffusion agent

The drift-diffusion agent uses SIMsalabim to run drift-diffusion simulations.

  • SIMsalabim is included as a submodule.
  • Install it following the instructions on the SIMsalabim GitHub repository.
  • Only works for parallel simulations on Linux. All other optimPV agents work on Windows.

Parallel simulations

To run parallel simulations on Linux you can also install GNU Parallel:

sudo apt update
sudo apt install parallel

Disclaimer

This repository is still under development. If you find any bugs or have any questions, please contact us.

Metadata

Release files for optimpv 1

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

Source distribution (sdist)

Source distribution for optimpv 1
File Size Uploaded Provenance
optimpv-1.tar.gz 102.1 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 226.7 kB

Release files / optimpv-1.tar.gz

Download URL optimpv-1.tar.gz
Size 102.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1a810351c6dd6d5548dee1852f2d379b5e069fcd295af23b78e60e1f99eba2a7
BLAKE2b-256 checksum
How to use checksums
94d7025e6181d634ee91b28970093c2a6fa7b9f40e9f7c9d53776e85d16714dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.1

Release files / optimpv-1-py3-none-any.whl

Download URL optimpv-1-py3-none-any.whl
Size 124.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c0ab01d9afb670476a2fcca65b711e706bc8e60f0a432593e9ea0f63aa56ec1
BLAKE2b-256 checksum
How to use checksums
6207c6667ef149d74132b5fb2b14e3c849281bea1e878731f2d4a732bd1fa7ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.1

Security for optimpv 1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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