pybamm-param

Parameter optimisation for PyBaMM.

https://github.com/paramm-team/pybamm-param

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (19.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Parameter optimisation for PyBaMM.

Basic Info
  • Host: GitHub
  • Owner: paramm-team
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: develop
  • Homepage:
  • Size: 26.9 MB
Statistics
  • Stars: 42
  • Watchers: 3
  • Forks: 8
  • Open Issues: 15
  • Releases: 3
Created about 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Contributing License Citation Codemeta

README.md

pybamm-param: PyBaMM Parameter Optimization Tool

pybamm-param Documentation Status Open In Colab codecov Code style: black DOI:10.5281/zenodo.11282637

[!WARNING]
This package is still under development and significant API changes might take please in the upcoming releases.

pybamm-param is a tool to fit PyBaMM models to experimental data in order to determine the model parameter values. pybamm-param provides helper classes to handle the most common parameterisation problems, and allows the users to easily mix combine cost functions and optimisers to suit their needs. Examples on how to run this package can be found in the examples folder

🚀 Installing pybamm-param

Using pip

The recommended way to install pybamm-param is by installing the latest release from PyPI. This can be done running

bash pip install pbparam

We strongly recommend using virtual environments, see more detailed instructions below (steps 1 and 2).

Install from source

Another option is to install from source. This is not recommended, unless you want to make edits to the code.

The first step is to install virtualenv in order to create virtual environments

bash pip install virtualenv

The module dependencies are listed in pyproject.toml, the dependancies which are non optional which are installed with the package.

The optional dependancies are split into dev and docs. dev are used for testing and linting, docs are used for building the sphinx documentation.

Linux & MacOS

  1. Create a virtual environment (this is strongly recommended to avoid clashes with the dependencies)

    bash virtualenv --python="<path to python 3.11>" env

  2. Activate the virtual environment

    bash source env/bin/activate

    The virtual environment can later be deactivated (if needed) by running

    bash deactivate

  3. Install packages into the virtual envronment

    bash pip install -e ./[dev,docs]

Windows

  1. Create a virtual environment (this is strongly recommended to avoid clashes with the dependencies)

    bash python -m virtualenv env

  2. Activate the virtual environment

    bash env\Scripts\activate.bat

    The virtual environment can later be deactivated (if needed) by running

    bash deactivate

  3. Install package from Github

    bash pip install -e .\\[dev,docs]

🛠️ Contributing to pybamm-param

If you'd like to help us develop pybamm-param by adding new methods, writing documentation, or fixing embarrassing bugs, please have a look at these guidelines first.

Notes

requirements.txt

This is not intended for modification or use installing dependencies, it is a result of a git runner to ensure full package information is included on all pushes. Strict requirements are found in pyproject.toml

coverage.xml

This is produced during a git run and not intended to be modified directly

FAIRS

We are working towards conformity with the FAIRS software standards for research software. The following items should help detail contributions to and ways to work with this software:

Codemeta

The metadate is available in machine-readable format in the codemeta.json file.

Contributors

Active

Inactive or past

Other Information

  • Funder: The development of pybamm-param has been supported by the University of Warwick EPSRC Impact Acceleration Account.
  • Programming language: Python
  • Keywords: parameter estimation, battery modelling, continuum models, Doyle-Fuller-Newman model, Single Particle Model, lithium-ion batteries.
  • Date created: 01/03/2024 (first release - v0.1)

Owner

  • Name: paramm-team
  • Login: paramm-team
  • Kind: organization

Citation (CITATION.cff)

cff-version: 0.0.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Brosa Planella
    given-names: Ferran
    orcid: "https://orcid.org/0000-0001-6363-2812"
  - family-names: Grylls
    given-names: Philip
    orcid: "https://orcid.org/0000-0001-9677-5852"
  - family-names: Widanage
    given-names: W Dhammika
    orcid: "https://orcid.org/0000-0003-0428-2554"
  - family-names: Sogut
    given-names: Muhammed
    orcid: "https://orcid.org/0000-0001-6934-8855"
  - family-names: Pascu
    given-names: Alexandru
title: "PyBaMM Param"
version: "v0.1.1"
identifiers:
  - type: doi
    value: 10.5281/zenodo.11282638
date-released: 2024-05-24

CodeMeta (codemeta.json)

{
  "@context": "https://w3id.org/codemeta/3.0",
  "type": "SoftwareSourceCode",
  "applicationCategory": "Battery modelling",
  "author": [
    {
      "id": "https://orcid.org/0000-0001-6363-2812",
      "type": "Person",
      "affiliation": {
        "type": "Organization",
        "name": "Mathematics Institute, University of Warwick"
      },
      "email": "Ferran.Brosa-Planella@warwick.ac.uk",
      "familyName": "Brosa Planella ",
      "givenName": "Ferran"
    },
    {
      "type": "Role",
      "schema:author": "https://orcid.org/0000-0001-6363-2812",
      "roleName": "PI"
    },
    {
      "id": "https://orcid.org/0000-0001-9677-5852",
      "type": "Person",
      "affiliation": {
        "type": "Organization",
        "name": "Reseach Technology Platforms (SC), University of Warwick"
      },
      "email": "pip.grylls@warwick.ac.uk",
      "familyName": "Grylls",
      "givenName": "Philip"
    },
    {
      "type": "Role",
      "schema:author": "https://orcid.org/0000-0001-9677-5852",
      "roleName": "RSE"
    },
    {
      "id": "https://orcid.org/0000-0003-0428-2554",
      "type": "Person",
      "affiliation": {
        "type": "Organization",
        "name": "WMG, University of Warwick"
      },
      "email": "Dhammika.Widanalage@warwick.ac.uk",
      "familyName": "Widanage",
      "givenName": "W Dhammika"
    },
    {
      "type": "Role",
      "schema:author": "https://orcid.org/0000-0003-0428-2554",
      "roleName": "Co-I"
    },
    {
      "id": "https://orcid.org/0000-0001-6934-8855",
      "type": "Person",
      "affiliation": {
        "type": "Organization",
        "name": "WMG, University of Warwick"
      },
      "email": "m.sogut@warwick.ac.uk",
      "familyName": "Sogut",
      "givenName": "Muhammed"
    },
    {
      "type": "Role",
      "schema:author": "https://orcid.org/0000-0001-6934-8855",
      "roleName": "Lead developer"
    },
    {
      "id": "_:author_5",
      "type": "Person",
      "affiliation": {
        "type": "Organization",
        "name": "WMG, University of Warwick"
      },
      "email": "alexandru.pascu@warwick.ac.uk",
      "familyName": "Pascu",
      "givenName": "Alexandru"
    },
    {
      "type": "Role",
      "schema:author": "_:author_5",
      "roleName": "Developer"
    }
  ],
  "codeRepository": "https://github.com/paramm-team/pybamm-param",
  "dateModified": "2024-03-01",
  "description": "pybamm-param is a tool to fit PyBaMM models to experimental data in order to determine the model parameter values. pybamm-param provides helper classes to handle the most common parameterisation problems, and allows the users to easily mix combine cost functions and optimisers to suit their needs.",
  "downloadUrl": "https://github.com/paramm-team/pybamm-param/archive/refs/tags/v0.1.tar.gz",
  "funder": {
    "type": "Organization",
    "name": "University of Warwick"
  },
  "identifier": " DOI: 10.5281/zenodo.11282637",
  "keywords": [
    "parameter estimation",
    "battery modelling",
    "continuum models",
    "Doyle-Fuller-Newman model",
    "Single Particle Model",
    "lithium-ion batteries"
  ],
  "license": "https://spdx.org/licenses/BSD-3-Clause",
  "name": "PyBaMM Param",
  "operatingSystem": [
    "Linux",
    "MacOS",
    "Windows"
  ],
  "programmingLanguage": "Python3",
  "releaseNotes": "First Release",
  "softwareRequirements": "PyBaMM",
  "version": "v0.1",
  "codemeta:contIntegration": {
    "id": "https://github.com/paramm-team/pybamm-param/actions"
  },
  "continuousIntegration": "https://github.com/paramm-team/pybamm-param/actions",
  "developmentStatus": "wip",
  "funding": " EPSRC Impact Acceleration Account",
  "issueTracker": "https://github.com/paramm-team/pybamm-param/issues"
}

GitHub Events

Total
  • Watch event: 5
  • Push event: 1
  • Pull request review event: 1
Last Year
  • Watch event: 5
  • Push event: 1
  • Pull request review event: 1

Dependencies

requirements.txt pypi
  • matplotlib *
  • pybamm *
.github/workflows/test_on_push.yml actions
  • actions/checkout v2 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v2.1.0 composite
  • fkirc/skip-duplicate-actions master composite
pyproject.toml pypi
  • matplotlib *
  • pybamm *
.github/workflows/release_on_main.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite