
optimPV: Optimization & Modeling Tools for PV Research
Welcome to the optimPV documentation!
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 several optimization procedures and modeling utilities used to:
Optimize simulation parameters to fit experimental data.
Optimize the processing conditions in a self-driving experimental set-up.
Installation
With pip:
Install from PyPI:
pip install optimpv
Or install from GitHub:
pip install git+https://github.com/openPV-lab/optimPV
With conda:
conda create -n optimpv
conda activate optimpv
pip install optimpv
To 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 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 agents work on Windows).
Parallel simulations:
To run parallel simulations on Linux, 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.
Drift-diffusion:
- OPV light-intensity dependant JV fits with SIMsalabim (real data)
- Perovskite light-intensity dependant JV fits with SIMsalabim (fake data)
- Multi-objective BO: Perovskite hysteresis JV fits with SIMsalabim (fake data)
- Multi-objective BO: Perovskite light-intensity dependant JV and impedance fits with SIMsalabim (fake data)
- Notebook gallery DD fits
- OPV light-intensity dependant JV fits with SIMsalabim (fake data)
- OPV light-intensity dependant JV fits with SIMsalabim (real data)
- Multi-objective BO: OPV light-intensity dependant JV fits with SIMsalabim (real data)
- Perovskite light-intensity dependant JV fits with SIMsalabim (fake data)
- Perovskite light-intensity dependant JV fits with SIMsalabim (real data)
- Multi-objective BO: Perovskite hysteresis JV fits with SIMsalabim (fake data)
- Multi-objective BO: Perovskite light-intensity dependant JV and impedance fits with SIMsalabim (fake data)
- Bayesian Inference: OPV light-intensity dependant JV fits with SIMsalabim (fake data)
- pymoo GA: OPV light-intensity dependant JV fits with SIMsalabim (fake data)
Transfer Matrix:
Rate equation models:
Design of experiments:
Non-ideal diode models:
Notebook gallery:
- All notebooks
- OPV light-intensity dependant JV fits with SIMsalabim (fake data)
- OPV light-intensity dependant JV fits with SIMsalabim (real data)
- Multi-objective BO: OPV light-intensity dependant JV fits with SIMsalabim (real data)
- Perovskite light-intensity dependant JV fits with SIMsalabim (fake data)
- Perovskite light-intensity dependant JV fits with SIMsalabim (real data)
- Multi-objective BO: Perovskite hysteresis JV fits with SIMsalabim (fake data)
- Multi-objective BO: Perovskite light-intensity dependant JV and impedance fits with SIMsalabim (fake data)
- Bayesian Inference: OPV light-intensity dependant JV fits with SIMsalabim (fake data)
- pymoo GA: OPV light-intensity dependant JV fits with SIMsalabim (fake data)
- Layer stack optimization with Transfer Matrix Method (TMM)
- Layer stack optimization with Transfer Matrix Method (TMM)
- Pymoo: Layer stack optimization with Transfer Matrix Method (TMM)
- Multi-objective BO: Fit of transient photoluminescence (TrPL) and transient microwave conductivity (trMC) with rate equations
- Multi-objective BO: Fit of transient photoluminescence (TrPL) and transient microwave conductivity (trMC) with rate equations
- Fit of transient photoluminescence (TrPL) with diffusion and recombination model
- Transient absorption spectroscopy fits with rate equation (fake data)
- Bayesian Inference: Transient absorption spectroscopy fits with rate equation (fake data)
- Fit non ideal diode equation to dark or light JV-curve
- pymoo GA: Fit non ideal diode equation to dark JV-curves
- Design of Experiment: Optimize perovskite solar cells efficiency
- Design of Experiment: Optimize perovskite solar cells efficiency
- Design of Experiment: Optimize perovskite solar cells efficiency
- Design of Experiment: perovskite thin film optimization PLQY and FWHM
- Design of Experiment: perovskite thin film optimization PLQY and FWHM