A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

The IDAES Toolkit

Aims to provide multi-scale, simulation-based, open source computational tools and models to support the design, analysis, optimization, scale-up, operation and troubleshooting of innovative, advanced energy systems.
https://github.com/IDAES/idaes-pse

Category: Energy Systems
Sub Category: Energy System Modeling Frameworks

Keywords

chemical-engineering idaesplus process-modeling process-systems-engineering

Keywords from Contributors

mathematical-programming modeling-language nonlinear-programming idaes-pse foqus pse pyomo training energy-system snl-applications

Last synced: about 11 hours ago
JSON representation

Repository metadata

The IDAES Process Systems Engineering Framework

README.md

IDAES Toolkit

The IDAES Toolkit aims to provide multi-scale, simulation-based, open source
computational tools and models to support the design, analysis, optimization,
scale-up, operation and troubleshooting of innovative, advanced energy systems.

Project Build and Download Statuses

Tests
Integration
codecov
Documentation Status
Services
GitHub contributors
Merged PRs
Issue stats
Downloads

Getting Started

Our complete documentation is online but here is a summarized set of steps to get started using the framework. For help and assistance, please visit the IDAES PSE Discussions Board.

While not required, we encourage the installation of Miniforge with which you can use the conda command to create a separate python environment in which to install the IDAES Toolkit.

Use conda to create a new "idaes-pse" (could be any name you like) environment then activate that environment:

conda create --name idaes-pse python=3.10
conda activate idaes-pse

Now, in that "idaes-pse" environment, install the IDAES Toolkit using either pip install or conda install (but not both):

# install latest stable release
pip install idaes-pse
# install latest stable release with one set of optional dependencies, e.g. `ui` for the user interface
pip install "idaes-pse[ui]"
# install latest stable release with multiple sets of optional dependencies
pip install "idaes-pse[ui,omlt,grid,coolprop]"
# install latest version from the main branch of this repository
pip install "idaes-pse @ git+https://github.com/IDAES/idaes-pse@main"
# install from the `mybranch` branch of the fork belonging to `myuser`
pip install "idaes-pse @ git+https://github.com/myuser/idaes-pse@mybranch"

You can check the version installed with the command:

idaes --version

Now install the pre-built extensions (binary solvers):

idaes get-extensions

The IDAES examples can be installed by running:

pip install idaes-examples

For more information, refer to the IDAES/examples repository, as well as the online static version of the examples available at https://idaes-examples.readthedocs.org.

Finally, refer to the complete idaes-pse documentation for detailed installation instructions, examples, guides, and reference.

System requirements

The code and examples have been tested with the following operating systems:

Operating system Supported versions
Linux Any modern Linux
Windows Windows 10
macOS Partly supported*

*HSL is not currently provided for macOS on Intel processors, so some features may be limited or not available.

Most of the functionality is implemented in Python. In accordance with
the end-of-life for many Python 2 libraries, the IDAES Toolkit is written
for Python 3. The following sub-versions are supported:

  • Python 3.9
  • Python 3.10
  • Python 3.11
  • Python 3.12

[!IMPORTANT]
Note that Python 3.8 is no longer officially supported.

Contacts and more information

General, background and overview information is available at the IDAES main website.
Framework development happens at our GitHub repo where you can ask questions by starting a discussion, report issues/bugs or make contributions.
For further enquiries, send an email to: [email protected]

Funding acknowledgements

This work was conducted as part of the Institute for the Design of Advanced Energy Systems (IDAES)
with support through the Simulation-Based Engineering, Crosscutting Research Program
within the U.S. Department of Energy’s Office of Fossil Energy and Carbon Management (FECM).
As of 2021, additional support was provided by FECM’s Solid Oxide Fuel Cell Program,
and Transformative Power Generation Program.

Contributing

Please see our Advanced User Installation and How-to Guides on how to work with the idaes-pse source code and contribute changes to the project.

By contributing to this repository, you are agreeing to all the terms set out in the LICENSE.md and COPYRIGHT.md files in this directory.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - name: "IDAES contributors"
title: "Institute for Design of Advanced Energy Systems (IDAES): advanced computational algorithms to enable the design and optimization of complex, interacting energy and process systems from individual plant components to the entire electrical grid"
url: "https://github.com/IDAES/idaes-pse"
license-url: "https://github.com/IDAES/idaes-pse/blob/main/LICENSE.md"
identifiers:
  - description: "OSTI archive of IDAES PSE releases."
    type: url
    value: "https://www.osti.gov/search/semantic:idaes-pse"
preferred-citation:
  type: article
  authors:
    - family-names: "Lee"
      given-names: "Andrew"
    - family-names: "Ghouse"
      given-names: "Jaffer H"
    - family-names: "Eslick"
      given-names: "John C"
    - family-names: "Laird"
      given-names: "Carl D"
    - family-names: "Siirola"
      given-names: "John D"
    - family-names: "Zamarripa"
      given-names: "Miguel A"
    - family-names: "Gunter"
      given-names: "Dan"
    - family-names: "Shinn"
      given-names: "John H"
    - family-names: "Dowling"
      given-names: "Alexander W"
    - family-names: "Bhattacharyya"
      given-names: "Debangsu"
    - family-names: "Biegler"
      given-names: "Lorenz T"
    - family-names: "Burgard"
      given-names: "Anthony P"
    - family-names: "Miller"
      given-names: "David C"
  title: "The IDAES process modeling framework and model library—Flexibility for process simulation and optimization"
  journal: "Journal of Advanced Manufacturing and Processing"
  publisher: "Wiley Online Library"
  volume: 3
  number: 3
  pages: e10095
  year: 2021
  doi: "doi/10.1002/amp2.10095"


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 8 days ago

Total Commits: 6,227
Total Committers: 85
Avg Commits per committer: 73.259
Development Distribution Score (DDS): 0.756

Commits in past year: 86
Committers in past year: 27
Avg Commits per committer in past year: 3.185
Development Distribution Score (DDS) in past year: 0.802

Name Email Commits
Andrew Lee a****e@n****v 1519
John Eslick j****k@n****v 1205
Dan Gunter d****r@l****v 772
jghouse88 j****e@n****v 372
Robert r****r@g****m 334
Makayla Shepherd m****d@l****v 210
Ludovico Bianchi l****i@l****v 153
OOAmusat 4****t 129
John Eslick j****k@A****H 108
Miguel Zamarripa m****z@n****v 103
Tim Bartholomew t****w@n****v 101
Keith Beattie K****e@l****v 91
Doug Allan d****n@k****m 90
Perren Yang p****g@l****v 71
Xian x****1@n****u 67
Xiangyu Yin x****y@a****u 63
Jangho Park J****k@l****v 60
mengleCMU m****e@a****u 57
Abdelrahman Elbashandy a****y@l****v 48
Bethany Nicholson b****o@s****v 48
Brandon Paul 8****4 43
Jangho Park j****k@l****v 42
Emmanuel Ogbe e****e@p****n 40
Alex Dowling a****g@n****u 30
minhwvu q****e@m****u 29
Paul Akula p****1@g****m 28
Alejandro Garciadiego a****d@n****u 26
agarciadiego 26
Chinedu Okoli c****i@a****h 25
chineduokoli c****i@n****v 24
and 55 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 765
Total pull requests: 1,382
Average time to close issues: 5 months
Average time to close pull requests: 21 days
Total issue authors: 99
Total pull request authors: 75
Average comments per issue: 2.72
Average comments per pull request: 2.85
Merged pull request: 1,190
Bot issues: 0
Bot pull requests: 2

Past year issues: 107
Past year pull requests: 113
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 21 days
Past year issue authors: 30
Past year pull request authors: 31
Past year average comments per issue: 2.59
Past year average comments per pull request: 2.85
Past year merged pull request: 77
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/IDAES/idaes-pse

Top Issue Authors

  • lbianchi-lbl (118)
  • dangunter (97)
  • andrewlee94 (85)
  • eslickj (78)
  • dallan-keylogic (55)
  • bpaul4 (24)
  • elbashandy (23)
  • ksbeattie (20)
  • TheHuangs (20)
  • adam-a-a (17)
  • Robbybp (15)
  • adowling2 (13)
  • makaylas (12)
  • jghouse88 (10)
  • TimBartholomew (10)

Top Pull Request Authors

  • andrewlee94 (347)
  • eslickj (222)
  • lbianchi-lbl (148)
  • dangunter (60)
  • dallan-keylogic (55)
  • bpaul4 (51)
  • elbashandy (39)
  • Robbybp (34)
  • ksbeattie (30)
  • MAZamarripa (30)
  • OOAmusat (28)
  • blnicho (26)
  • anujad95 (22)
  • AlexNoring (22)
  • adowling2 (19)

Top Issue Labels

  • Priority:Normal (328)
  • Priority:High (253)
  • bug (133)
  • Priority:Low (99)
  • documentation (83)
  • enhancement (55)
  • testing (50)
  • discussion (38)
  • flowsheet viewer (36)
  • user request (33)
  • property packages (30)
  • core (30)
  • question (30)
  • ui (24)
  • IDAES v2.0 (23)
  • Backlog (22)
  • dependencies (14)
  • unit models (13)
  • WaterTAP (12)
  • surrogates (12)
  • idaes-ext (8)
  • dmf (8)
  • wontfix (7)
  • good first issue (7)
  • diagnostics (7)
  • help wanted (7)
  • backward-compat (6)
  • PETSc (6)
  • DISPATCHES (4)
  • models_extra (4)

Top Pull Request Labels

  • Priority:Normal (647)
  • Priority:High (536)
  • bug (176)
  • enhancement (172)
  • property packages (148)
  • unit models (103)
  • core (101)
  • testing (91)
  • CI:run-integration (60)
  • documentation (57)
  • IDAES v2.0 (43)
  • backward-compat (34)
  • Priority:Low (31)
  • dependencies (24)
  • approved (23)
  • surrogates (20)
  • WaterTAP (17)
  • user request (15)
  • PrOMMiS (12)
  • flowsheet viewer (12)
  • diagnostics (10)
  • DISPATCHES (9)
  • ui (8)
  • apps (8)
  • WIP (6)
  • deprecation (5)
  • Backlog (4)
  • models_extra (4)
  • pyomo (4)
  • PySMO (3)

Package metadata

pypi.org: idaes-pse

IDAES Process Systems Engineering Framework

  • Homepage: https://idaes.org
  • Documentation: https://idaes-pse.readthedocs.io/
  • Licenses: BSD
  • Latest release: 2.8.0 (published about 2 months ago)
  • Last Synced: 2025-04-25T14:36:08.040Z (1 day ago)
  • Versions: 54
  • Dependent Packages: 7
  • Dependent Repositories: 8
  • Downloads: 25,510 Last month
  • Docker Downloads: 0
  • Rankings:
    • Dependent packages count: 1.583%
    • Downloads: 2.158%
    • Average: 3.181%
    • Docker downloads count: 3.81%
    • Dependent repos count: 5.171%
  • Maintainers (2)
proxy.golang.org: github.com/idaes/idaes-pse

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/idaes/idaes-pse#section-documentation
  • Licenses: other
  • Latest release: v1.0.1 (published about 6 years ago)
  • Last Synced: 2025-04-25T14:36:08.135Z (1 day ago)
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 1.622%
    • Average: 4.057%
    • Dependent packages count: 6.492%
proxy.golang.org: github.com/IDAES/idaes-pse

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/IDAES/idaes-pse#section-documentation
  • Licenses:
  • Latest release: v1.0.1 (published about 6 years ago)
  • Last Synced: 2025-04-25T14:36:08.160Z (1 day ago)
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 6.999%
    • Average: 8.173%
    • Dependent repos count: 9.346%

Dependencies

.github/actions/check-pr-approval/action.yml actions
.github/actions/display-debug-info/action.yml actions
.github/actions/run-examples/action.yml actions
.github/actions/setup-idaes/action.yml actions
.github/workflows/core.yml actions
  • ./.github/actions/display-debug-info * composite
  • ./.github/actions/setup-idaes * composite
  • actions/checkout v2 composite
  • actions/checkout v3 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • codecov/codecov-action v2 composite
  • conda-incubator/setup-miniconda v2.1.1 composite
  • crate-ci/typos master composite
.github/workflows/integration.yml actions
  • ./.github/actions/check-pr-approval * composite
  • ./.github/actions/display-debug-info * composite
  • ./.github/actions/run-examples * composite
  • ./.github/actions/setup-idaes * composite
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2.1.1 composite
.github/workflows/util-cleanup.yml actions
docker/idaes-jupyterhub/Dockerfile docker
  • $BASE_CONTAINER latest build
docker/ubuntu-conda/Dockerfile docker
  • ubuntu 18.04 build
requirements-dev.txt pypi
  • addheader >=0.2.2 development
  • alabaster >=0.7.7 development
  • astroid ==2.9.3 development
  • black >=22.1.0 development
  • black ==22.3.0 development
  • coverage * development
  • flake8 * development
  • jsonschema * development
  • jupyter_contrib_nbextensions * development
  • pre-commit * development
  • pylint ==2.12.2 development
  • pytest * development
  • pytest-cov * development
  • snowballstemmer ==1.2.1 development
  • sphinx >=3.0.0 development
  • sphinx-argparse * development
  • sphinx-rtd-theme ==1.0.0 development
  • sphinxcontrib-napoleon >=0.5.0 development
setup.py pypi
  • click >=8
  • matplotlib *
  • networkx *
  • numpy *
  • pandas *
  • pint *
  • pyomo >=6.6.2
  • scipy *
  • see *
  • sympy *
.github/actions/run-examples/requirements-test.txt pypi
  • jupyter-cache ==0.6.1 test
  • nbmake ==1.5 test

Score: 20.470676237408682