Skip to main content

optimPV: Optimization & Modeling tools for PV research

Project description

optimPV logo

optimPV: Optimization & Modeling tools for PV research

Authors

Vincent M. Le Corre
Larry Lüer

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
        ├── BayesInfEmcee            # Directory with the Bayesian inference codes using emcee
        ├── 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

optimpv-1.1.tar.gz (102.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

optimpv-1.1-py3-none-any.whl (125.8 kB view details)

Uploaded Python 3

File details

Details for the file optimpv-1.1.tar.gz.

File metadata

  • Download URL: optimpv-1.1.tar.gz
  • Upload date:
  • Size: 102.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for optimpv-1.1.tar.gz
Algorithm Hash digest
SHA256 19ea1578e11a857823a07e28fb8b2f8a0b102e01b2b3b09ecb106386a77fbb1f
MD5 7adcb00ffe4557d28deab0998c570973
BLAKE2b-256 ead9e8c69d404c039cf98ac71b53311397a7254a0bda6efbf16cca4b8b873abe

See more details on using hashes here.

File details

Details for the file optimpv-1.1-py3-none-any.whl.

File metadata

  • Download URL: optimpv-1.1-py3-none-any.whl
  • Upload date:
  • Size: 125.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for optimpv-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e29f8637ae9528e5a06e515acedf53f7313a452fa902810013c087521553a2e2
MD5 7c3df641fe729d37dfd4e5e76e88af8e
BLAKE2b-256 670d2dd69d118a561e6469fdd266789beb79e00c14c561ff43eb389109e75bc9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page