{"id":120,"name":"equiv-circ-model","description":"An equivalent circuit model for a battery cell, module, and pack.","url":"https://github.com/batterysim/equiv-circ-model","last_synced_at":"2026-04-21T21:30:32.803Z","repository":{"id":42180242,"uuid":"184933958","full_name":"batterysim/equiv-circ-model","owner":"batterysim","description":"An equivalent circuit model (ECM) for a battery cell, module, and pack","archived":false,"fork":false,"pushed_at":"2023-08-03T03:48:28.000Z","size":13100,"stargazers_count":121,"open_issues_count":5,"forks_count":35,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-03-27T19:04:32.642Z","etag":null,"topics":["battery","battery-cell","electric-vehicles","equivalent-circuit-model"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/batterysim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-05-04T19:02:30.000Z","updated_at":"2026-03-05T12:52:40.000Z","dependencies_parsed_at":"2023-09-24T12:53:05.063Z","dependency_job_id":null,"html_url":"https://github.com/batterysim/equiv-circ-model","commit_stats":{"total_commits":59,"total_committers":1,"mean_commits":59.0,"dds":0.0,"last_synced_commit":"34752e72792dfeeb703d483b3c1469e4ae517c46"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/batterysim/equiv-circ-model","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batterysim%2Fequiv-circ-model","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batterysim%2Fequiv-circ-model/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batterysim%2Fequiv-circ-model/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batterysim%2Fequiv-circ-model/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/batterysim","download_url":"https://codeload.github.com/batterysim/equiv-circ-model/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batterysim%2Fequiv-circ-model/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31305971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T09:48:21.550Z","status":"ssl_error","status_checked_at":"2026-04-02T09:48:19.196Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"batterysim","name":"batterysim","uuid":"26285431","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/26285431?v=4","repositories_count":5,"last_synced_at":"2023-03-09T08:25:27.947Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/batterysim","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-18T21:46:41.799Z","updated_at":"2023-03-09T08:25:28.017Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/batterysim","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/batterysim/repositories"},"packages":[{"id":10379156,"name":"ecm-thinkclock","ecosystem":"pypi","description":"A Python package for equivalent circuit models","homepage":"https://github.com/batterysim/equiv-circ-model","licenses":"MIT License","normalized_licenses":["MIT"],"repository_url":"https://github.com/batterysim/equiv-circ-model","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2024-06-16T09:28:23.000Z","latest_release_published_at":"2024-06-16T09:28:23.000Z","latest_release_number":"20.3","last_synced_at":"2026-04-02T12:00:33.541Z","created_at":"2024-06-16T09:30:43.367Z","updated_at":"2026-04-02T12:00:33.542Z","registry_url":"https://pypi.org/project/ecm-thinkclock/","install_command":"pip install ecm-thinkclock --index-url https://pypi.org/simple","documentation_url":"https://ecm-thinkclock.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python :: 3"],"normalized_name":"ecm-thinkclock","project_status":null},"repo_metadata":{"id":42180242,"uuid":"184933958","full_name":"batterysim/equiv-circ-model","owner":"batterysim","description":"An equivalent circuit model (ECM) for a battery cell, module, and pack","archived":false,"fork":false,"pushed_at":"2023-08-03T03:48:28.000Z","size":13100,"stargazers_count":84,"open_issues_count":4,"forks_count":33,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-05-22T11:50:51.535Z","etag":null,"topics":["battery","battery-cell","electric-vehicles","equivalent-circuit-model"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/batterysim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-05-04T19:02:30.000Z","updated_at":"2024-05-15T02:36:25.000Z","dependencies_parsed_at":"2023-09-24T12:53:05.063Z","dependency_job_id":null,"html_url":"https://github.com/batterysim/equiv-circ-model","commit_stats":{"total_commits":59,"total_committers":1,"mean_commits":59.0,"dds":0.0,"last_synced_commit":"34752e72792dfeeb703d483b3c1469e4ae517c46"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batterysim%2Fequiv-circ-model","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batterysim%2Fequiv-circ-model/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batterysim%2Fequiv-circ-model/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batterysim%2Fequiv-circ-model/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/batterysim","download_url":"https://codeload.github.com/batterysim/equiv-circ-model/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":215451949,"owners_count":15881322,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"batterysim","name":"batterysim","uuid":"26285431","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/26285431?v=4","repositories_count":5,"last_synced_at":"2023-03-09T08:25:27.947Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/batterysim","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-18T21:46:41.799Z","updated_at":"2023-03-09T08:25:28.017Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/batterysim","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/batterysim/repositories"},"tags":[]},"repo_metadata_updated_at":"2024-09-06T18:05:22.385Z","dependent_packages_count":0,"downloads":12,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":60.707199668742774,"dependent_packages_count":10.779144597229172,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":35.743172132985976},"purl":"pkg:pypi/ecm-thinkclock","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/ecm-thinkclock","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/ecm-thinkclock","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/ecm-thinkclock/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-09-06T18:00:41.611Z","issues_count":7,"pull_requests_count":0,"avg_time_to_close_issue":509414.6666666667,"avg_time_to_close_pull_request":null,"issues_closed_count":3,"pull_requests_closed_count":0,"pull_request_authors_count":0,"issue_authors_count":7,"avg_comments_per_issue":1.1428571428571428,"avg_comments_per_pull_request":null,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/batterysim%2Fequiv-circ-model/issues","maintainers":[{"login":"wigging","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wigging"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ecm-thinkclock/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ecm-thinkclock/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ecm-thinkclock/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ecm-thinkclock/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ecm-thinkclock/codemeta","maintainers":[{"uuid":"priyanka.thinkclock1","login":"priyanka.thinkclock1","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/priyanka.thinkclock1/","role":null,"created_at":"2024-06-16T09:30:46.030Z","updated_at":"2024-06-16T09:30:46.030Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/priyanka.thinkclock1/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":832718,"maintainers_count":355477,"namespaces_count":0,"keywords_count":0,"github":"pypi","metadata":{"funded_packages_count":53036},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-03T06:19:43.792Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":1253952,"full_name":"batterysim/equiv-circ-model","default_branch":"master","total_commits":59,"total_committers":1,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":59.0,"dds":0.0,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-02T12:01:46.163Z","last_synced_commit":"34752e72792dfeeb703d483b3c1469e4ae517c46","created_at":"2023-03-27T10:48:59.358Z","updated_at":"2026-04-02T12:01:31.448Z","committers":[{"name":"Gavin Wiggins","email":"6828967+wigging","login":"wigging","count":59}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/batterysim%2Fequiv-circ-model/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-04T00:00:07.631Z","repositories_count":6211886,"commits_count":927467835,"contributors_count":35800990,"owners_count":1145528,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"batterysim/equiv-circ-model","html_url":"https://github.com/batterysim/equiv-circ-model","last_synced_at":"2026-02-02T07:00:46.724Z","status":"error","issues_count":8,"pull_requests_count":0,"avg_time_to_close_issue":509414.6666666667,"avg_time_to_close_pull_request":null,"issues_closed_count":3,"pull_requests_closed_count":0,"pull_request_authors_count":0,"issue_authors_count":8,"avg_comments_per_issue":1.125,"avg_comments_per_pull_request":null,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:37:36.623Z","updated_at":"2026-02-02T07:00:46.724Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/batterysim%2Fequiv-circ-model","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/batterysim%2Fequiv-circ-model/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":7,"MEMBER":1},"pull_request_author_associations_count":{},"issue_authors":{"balaji3112":1,"rakesh-collab":1,"faa-santos":1,"hfathian":1,"AymanMounit":1,"vipulramk":1,"wigging":1,"kkh1897":1},"pull_request_authors":{},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-29T00:00:10.666Z","repositories_count":13978370,"issues_count":34551908,"pull_requests_count":112998341,"authors_count":11211917,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"wigging","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wigging"}],"active_maintainers":[]},"events":{"total":{"ForkEvent":3,"IssuesEvent":1,"WatchEvent":19,"IssueCommentEvent":1},"last_year":{"ForkEvent":2,"WatchEvent":11}},"keywords":["battery","battery-cell","electric-vehicles","equivalent-circuit-model"],"dependencies":[{"ecosystem":"conda","filepath":"environment.yml","sha":null,"kind":"manifest","created_at":"2022-09-11T23:11:43.339Z","updated_at":"2022-09-11T23:11:43.339Z","repository_link":"https://github.com/batterysim/equiv-circ-model/blob/master/environment.yml","dependencies":[{"id":4539616523,"package_name":"matplotlib","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":4539616524,"package_name":"numpy","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":4539616525,"package_name":"pandas","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":4539616526,"package_name":"python","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":4539616527,"package_name":"scipy","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-09-11T23:11:43.418Z","updated_at":"2022-09-11T23:11:43.418Z","repository_link":"https://github.com/batterysim/equiv-circ-model/blob/master/requirements.txt","dependencies":[{"id":4539616572,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":4539616573,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":4539616574,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":4539616575,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-09-11T23:11:43.521Z","updated_at":"2022-09-11T23:11:43.521Z","repository_link":"https://github.com/batterysim/equiv-circ-model/blob/master/setup.py","dependencies":[{"id":4539616597,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":4539616598,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":4539616599,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":4539616600,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":7.401231264413015,"created_at":"2023-09-11T11:54:33.844Z","updated_at":"2026-04-21T21:30:32.812Z","avatar_url":"https://github.com/batterysim.png","language":"Python","category":"Energy Storage","sub_category":"Battery","monthly_downloads":12,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Equivalent circuit model\n\nThis repository contains Python code for running an equivalent circuit model (ECM) developed for a 2013 Nissan Leaf battery cell and module. The `ecm` package contains source code for the equivalent circuit model while the `examples` folder provides scripts for running the ECM for a battery cell, module, and pack. Model parameters are determined from hybrid pulse power characterization (HPPC) and discharge tests conducted at ORNL. The battery cell and module specifications were provided by NREL.\n\n## Installation\n\nThe [Anaconda](https://www.anaconda.com) or [Miniconda](https://conda.io/miniconda.html) distribution of Python 3 is recommended for this project. The `ecm` package requires Matplotlib, NumPy, Pandas, and SciPy.\n\nThe simplest way to install the ECM package is with pip. This can be done from within the equiv-circ-model directory:\n\n```bash\n# Install the ecm package\npip install -e .\n```\n\nA requirements file is provided for running the ECM in a virtual environment using pip:\n\n```bash\n# Create a new virtual environment\npython -m venv env\n\n# Activate the environment\nsource env/bin/activate\n\n# Install packages needed for the ECM\npip install -r requirements.txt\n\n# From within equiv-circ-model directory, install the ecm package\npip install -e .\n\n# Deactivate the environment\ndeactivate\n\n# Remove the environment by deleting the `env` folder\n```\n\nAn environment yaml file is also provided for running the ECM in a conda environment:\n\n```bash\n# Create a new conda environment and install packages needed for the ECM\nconda env create -f environment.yml\n\n# Activate the environment\nconda activate ecm\n\n# From within equiv-circ-model directory, install the ecm package\npip install -e .\n\n# Deactivate the environment\nconda deactivate\n\n# Remove the environment and its installed packages\nconda env remove -n ecm\n```\n\n## Usage\n\nExamples of using the `ecm` package are provided in the `examples` folder. Examples are organized into subfolders for battery cell and battery module models. From within the subfolder, each script can be run from the command line such as:\n\n```bash\n# View plots of the battery cell HPPC data\ncd ~/equiv-circ-model/examples/cell\npython view_hppc_data.py\n\n# Run the ECM for a battery cell and compare to HPPC battery cell data\ncd ~/equiv-circ-model/examples/cell\npython hppc_vt.py\n```\n\n## Project structure\n\n**ecm** - Python package containing source code for the equivalent circuit model (ECM).\n\n**examples/cell** - Example scripts for running the battery cell ECM.\n\n**examples/cell-to-module** - Examples of using a cell model to predict a battery module.\n\n**examples/cell-to-pack** - Examples of using a cell model to predict a battery pack.\n\n**examples/data** - Data files from 2013 Nissan Leaf battery cell and module tests. This data is used for developing and validating the ECM.\n\n**examples/module** - Example scripts for running a battery module ECM.\n\n**examples/module-to-pack** - Examples of using a module model to predict a battery pack.\n\n## Contributing\n\nComments, suggestions, and other feedback can be submitted on the [Issues](https://github.com/batterysim/equiv-circ-model/issues) page.\n\n## License\n\nThis code is available under the MIT License - see the [LICENSE](LICENSE) file for more information.\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/120","html_url":"https://ost.ecosyste.ms/projects/120"}