optimpv


Nameoptimpv JSON
Version 1.3 PyPI version JSON
download
home_pagehttps://github.com/openPV-lab/optimPV
SummaryoptimPV: Optimization & Modeling tools for PV research
upload_time2025-08-14 10:54:44
maintainerNone
docs_urlNone
authorVincent M. Le Corre
requires_python>=3.12
licenseGPLv3
keywords bayesian optimization evolutionary optimization parameter extraction experimental design high throughput solar cells
VCS
bugtrack_url
requirements pySIMsalabim scikit-optimize ax-platform torch torchvision torchaudio emcee gitpython tk pyodbc openpyxl emcee corner pymoo jupyterlab
Travis-CI No Travis.
coveralls test coverage No coveralls.
            

<img src="./docs/logo/optimPV_logo.png" alt="optimPV logo" width="100px">  

# optimPV: Optimization & Modeling tools for PV research

## Authors
[Vincent M. Le Corre](https://github.com/VMLC-PV)  
[Larry Lüer](https://github.com/larryluer)

## Institution
<img src="./docs/logo/sdu_logo.jpg" alt="SDU logo" width="100px"> 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](https://pypi.org/project/optimpv/)  

    ```bash
    pip install optimpv
    ```

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

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

### With conda
To install optimPV with conda:

```bash
conda create -n optimpv 
conda activate optimpv
pip install optimpv
```

You can also clone your base environment:

```bash  
conda create -n optimpv --clone base
```

## Additional necessary installs for the agents
### Drift-diffusion agent
The drift-diffusion agent uses [SIMsalabim](https://github.com/kostergroup/SIMsalabim) to run drift-diffusion simulations.

- SIMsalabim is included as a submodule.
- Install it following the instructions on the [SIMsalabim GitHub repository](https://github.com/kostergroup/SIMsalabim).
- 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:

```bash
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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/openPV-lab/optimPV",
    "name": "optimpv",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "Bayesian optimization, Evolutionary optimization, parameter extraction, experimental design, high throughput, solar cells",
    "author": "Vincent M. Le Corre",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/d3/71/6876a70ff886cf6cde7874d47c280765aecec4240fb70917ab21e21afa97/optimpv-1.3.tar.gz",
    "platform": null,
    "description": "\n\n<img src=\"./docs/logo/optimPV_logo.png\" alt=\"optimPV logo\" width=\"100px\">  \n\n# optimPV: Optimization & Modeling tools for PV research\n\n## Authors\n[Vincent M. Le Corre](https://github.com/VMLC-PV)  \n[Larry L\u00fcer](https://github.com/larryluer)\n\n## Institution\n<img src=\"./docs/logo/sdu_logo.jpg\" alt=\"SDU logo\" width=\"100px\"> CAPE - Centre for Advanced Photovoltaics and Thin-film Energy Devices, University of Southern Denmark, Denmark\n\n## Description\nThis repository contains the code to run **optimPV**. optimPV combines sevral optimization procedures and modeling utilities that can be used for two objectives:\n1. to optimize the parameters of a simulation to fit experimental data.\n2. to optimize the processing conditions in a self-driving experimental set-up.  \n\n## Repository Folder Structure\n    .\n    \u251c\u2500\u2500 Main                             # Main directory\n        \u251c\u2500\u2500 optimPV                      # Main directory for the optimPV codes\n            \u251c\u2500\u2500 axBOtorch                # Directory with the Bayesian optimization (BO) codes using BoTorch and Ax\n            \u251c\u2500\u2500 BayesInfEmcee            # Directory with the Bayesian inference codes using emcee\n            \u251c\u2500\u2500 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\n            \u251c\u2500\u2500 Diodefits                # Directory with the agent to simulate and fit the non-ideal diode equation model\n            \u251c\u2500\u2500 general                  # Directory with general utility functions used by the different agents\n            \u251c\u2500\u2500 posterior                # Directory with some utility functions to plot the posterior distributions using the BO surrogate model\n            \u251c\u2500\u2500 RateEqfits               # Directory with the agent to simulate and fit the rate equations for different experiment types (trPL, TRMC, TAS, etc.)\n            \u251c\u2500\u2500 scipyOpti                # Directory with the optimization codes using scipy.optimize\n            \u251c\u2500\u2500 TransferMatrix           # Directory with the agent to run the transfer matrix simulations\n        \u251c\u2500\u2500 Notebooks                    # Contains clean versions of the Notebooks\n        \u251c\u2500\u2500 Data                         # Contains some example data for the notebooks\n        \u251c\u2500\u2500 docs                         # Contains the documentation\n        \u251c\u2500\u2500 test                         # Contains the codes for testing optimPV\n    \u2514\u2500\u2500 README.md\n\n## Installation\n### With pip\nTo install optimPV with pip you have two options:\n1. Install optimPV using the [PyPI repository](https://pypi.org/project/optimpv/)  \n\n    ```bash\n    pip install optimpv\n    ```\n\n2. Install optimPV using the GitHub repository   https://github.com/openPV-lab/optimPV\n\n    ```bash\n    pip install git+https://github.com/openPV-lab/optimPV\n    ```\n\n### With conda\nTo install optimPV with conda:\n\n```bash\nconda create -n optimpv \nconda activate optimpv\npip install optimpv\n```\n\nYou can also clone your base environment:\n\n```bash  \nconda create -n optimpv --clone base\n```\n\n## Additional necessary installs for the agents\n### Drift-diffusion agent\nThe drift-diffusion agent uses [SIMsalabim](https://github.com/kostergroup/SIMsalabim) to run drift-diffusion simulations.\n\n- SIMsalabim is included as a submodule.\n- Install it following the instructions on the [SIMsalabim GitHub repository](https://github.com/kostergroup/SIMsalabim).\n- Only works for parallel simulations on Linux. All other optimPV agents work on Windows.\n\n### Parallel simulations\nTo run parallel simulations on Linux you can also install GNU Parallel:\n\n```bash\nsudo apt update\nsudo apt install parallel\n```\n\n## Disclaimer\nThis repository is still under development. If you find any bugs or have any questions, please contact us.\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "optimPV: Optimization & Modeling tools for PV research",
    "version": "1.3",
    "project_urls": {
        "Download": "https://github.com/openPV-lab/optimPV/v1.03.tar.gz",
        "Homepage": "https://github.com/openPV-lab/optimPV"
    },
    "split_keywords": [
        "bayesian optimization",
        " evolutionary optimization",
        " parameter extraction",
        " experimental design",
        " high throughput",
        " solar cells"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "76a7f2b152d0f20ea9236b10e57b6da84241786436cc56f7d1183ddb393b47d1",
                "md5": "387af1645f0e6f093832dc0a3c591a1c",
                "sha256": "8b8ed12da2a3801ce7840240615da2ca3aa75fccb47d78f61b2bc4804cc3479c"
            },
            "downloads": -1,
            "filename": "optimpv-1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "387af1645f0e6f093832dc0a3c591a1c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 197884,
            "upload_time": "2025-08-14T10:54:43",
            "upload_time_iso_8601": "2025-08-14T10:54:43.208687Z",
            "url": "https://files.pythonhosted.org/packages/76/a7/f2b152d0f20ea9236b10e57b6da84241786436cc56f7d1183ddb393b47d1/optimpv-1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d3716876a70ff886cf6cde7874d47c280765aecec4240fb70917ab21e21afa97",
                "md5": "213e89c304bfb5830eaf8796773dc465",
                "sha256": "d2abb1b8f039bfdf8c2d5c45350051ed0721500740bdc9205cb1f04fa1b53302"
            },
            "downloads": -1,
            "filename": "optimpv-1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "213e89c304bfb5830eaf8796773dc465",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 146242,
            "upload_time": "2025-08-14T10:54:44",
            "upload_time_iso_8601": "2025-08-14T10:54:44.861528Z",
            "url": "https://files.pythonhosted.org/packages/d3/71/6876a70ff886cf6cde7874d47c280765aecec4240fb70917ab21e21afa97/optimpv-1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-14 10:54:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "openPV-lab",
    "github_project": "optimPV",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "pySIMsalabim",
            "specs": []
        },
        {
            "name": "scikit-optimize",
            "specs": []
        },
        {
            "name": "ax-platform",
            "specs": [
                [
                    ">=",
                    "1.1.0"
                ]
            ]
        },
        {
            "name": "torch",
            "specs": []
        },
        {
            "name": "torchvision",
            "specs": []
        },
        {
            "name": "torchaudio",
            "specs": []
        },
        {
            "name": "emcee",
            "specs": []
        },
        {
            "name": "gitpython",
            "specs": []
        },
        {
            "name": "tk",
            "specs": []
        },
        {
            "name": "pyodbc",
            "specs": []
        },
        {
            "name": "openpyxl",
            "specs": []
        },
        {
            "name": "emcee",
            "specs": []
        },
        {
            "name": "corner",
            "specs": []
        },
        {
            "name": "pymoo",
            "specs": []
        },
        {
            "name": "jupyterlab",
            "specs": []
        }
    ],
    "lcname": "optimpv"
}
        
Elapsed time: 1.78293s