optimPV: Optimization & Modeling tools for PV research
Project description
optimPV: Optimization & Modeling tools for PV research
Authors
Institution
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:
- to optimize the parameters of a simulation to fit experimental data.
- 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:
-
Install optimPV using the PyPI repository
pip install optimpv
-
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file optimpv-1.tar.gz.
File metadata
- Download URL: optimpv-1.tar.gz
- Upload date:
- Size: 102.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a810351c6dd6d5548dee1852f2d379b5e069fcd295af23b78e60e1f99eba2a7
|
|
| MD5 |
752f9994c312acc7e48d52fb51674444
|
|
| BLAKE2b-256 |
94d7025e6181d634ee91b28970093c2a6fa7b9f40e9f7c9d53776e85d16714dd
|
File details
Details for the file optimpv-1-py3-none-any.whl.
File metadata
- Download URL: optimpv-1-py3-none-any.whl
- Upload date:
- Size: 124.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c0ab01d9afb670476a2fcca65b711e706bc8e60f0a432593e9ea0f63aa56ec1
|
|
| MD5 |
323afc8867c13bf8bddfce8fc852450a
|
|
| BLAKE2b-256 |
6207c6667ef149d74132b5fb2b14e3c849281bea1e878731f2d4a732bd1fa7ff
|