idaes-pse

The IDAES Process Systems Engineering Framework

https://github.com/idaes/idaes-pse

Science Score: 54.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
  • Academic publication links
  • Committers with academic emails
    20 of 85 committers (23.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.0%) to scientific vocabulary

Keywords

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

Keywords from Contributors

mathematical-programming modeling-language nonlinear-programming pse
Last synced: 6 months ago · JSON representation ·

Repository

The IDAES Process Systems Engineering Framework

Basic Info
Statistics
  • Stars: 263
  • Watchers: 23
  • Forks: 273
  • Open Issues: 128
  • Releases: 41
Topics
chemical-engineering idaesplus process-modeling process-systems-engineering
Created about 7 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation Codeowners Copyright

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 <!-- END Status badges -->

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: bash 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):

```bash

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:

bash idaes --version

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

bash idaes get-extensions

The IDAES examples can be installed by running:

bash 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: idaes-support@idaes.org

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.

Owner

  • Name: IDAES
  • Login: IDAES
  • Kind: organization
  • Email: idaes-support@idaes.org

Institute for the Design of Advanced Energy Systems

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"

GitHub Events

Total
  • Create event: 10
  • Release event: 6
  • Issues event: 91
  • Watch event: 43
  • Delete event: 2
  • Issue comment event: 297
  • Push event: 49
  • Gollum event: 2
  • Pull request event: 109
  • Pull request review event: 325
  • Pull request review comment event: 265
  • Fork event: 34
Last Year
  • Create event: 10
  • Release event: 6
  • Issues event: 91
  • Watch event: 43
  • Delete event: 2
  • Issue comment event: 297
  • Push event: 49
  • Gollum event: 2
  • Pull request event: 109
  • Pull request review event: 325
  • Pull request review comment event: 265
  • Fork event: 34

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 6,231
  • Total Committers: 85
  • Avg Commits per committer: 73.306
  • Development Distribution Score (DDS): 0.756
Past Year
  • Commits: 67
  • Committers: 25
  • Avg Commits per committer: 2.68
  • Development Distribution Score (DDS): 0.836
Top Committers
Name Email Commits
Andrew Lee a****e@n****v 1,519
John Eslick j****k@n****v 1,205
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
Doug Allan d****n@k****m 91
Keith Beattie K****e@l****v 91
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
Bethany Nicholson b****o@s****v 49
Abdelrahman Elbashandy a****y@l****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...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 558
  • Total pull requests: 1,105
  • Average time to close issues: 5 months
  • Average time to close pull requests: 23 days
  • Total issue authors: 101
  • Total pull request authors: 78
  • Average comments per issue: 2.45
  • Average comments per pull request: 2.75
  • Merged pull requests: 919
  • Bot issues: 0
  • Bot pull requests: 3
Past Year
  • Issues: 67
  • Pull requests: 132
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 15 days
  • Issue authors: 22
  • Pull request authors: 24
  • Average comments per issue: 1.15
  • Average comments per pull request: 1.89
  • Merged pull requests: 81
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • lbianchi-lbl (87)
  • andrewlee94 (65)
  • dangunter (64)
  • eslickj (57)
  • dallan-keylogic (54)
  • bpaul4 (16)
  • elbashandy (14)
  • adam-a-a (13)
  • ksbeattie (13)
  • TheHuangs (11)
  • Robbybp (10)
  • adowling2 (9)
  • makaylas (8)
  • jghouse88 (8)
  • TimBartholomew (6)
Pull Request Authors
  • andrewlee94 (268)
  • eslickj (148)
  • lbianchi-lbl (133)
  • dallan-keylogic (64)
  • dangunter (47)
  • bpaul4 (37)
  • elbashandy (28)
  • blnicho (28)
  • Robbybp (25)
  • ksbeattie (24)
  • OOAmusat (22)
  • MAZamarripa (15)
  • bknueven (15)
  • adowling2 (14)
  • AlexNoring (13)
Top Labels
Issue Labels
Priority:Normal (208) Priority:High (166) bug (90) Priority:Low (74) documentation (58) enhancement (43) testing (33) discussion (28) flowsheet viewer (22) core (21) property packages (20) user request (20) IDAES v2.0 (19) ui (16) Backlog (16) question (16) unit models (12) surrogates (9) dependencies (8) help wanted (6) backward-compat (6) idaes-ext (5) dmf (5) wontfix (4) good first issue (4) WaterTAP (4) models_extra (3) diagnostics (3) DISPATCHES (2) pyomo (2)
Pull Request Labels
Priority:Normal (515) Priority:High (408) bug (129) enhancement (128) property packages (98) core (77) testing (71) unit models (71) documentation (47) CI:run-integration (35) IDAES v2.0 (34) backward-compat (32) Priority:Low (25) dependencies (24) WaterTAP (21) surrogates (15) user request (14) approved (13) DISPATCHES (11) diagnostics (11) PrOMMiS (10) deprecation (8) WIP (8) flowsheet viewer (8) apps (8) models_extra (6) pyomo (6) ui (5) CCU (4) scaling_v2 (4)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 25,813 last-month
  • Total dependent packages: 7
    (may contain duplicates)
  • Total dependent repositories: 8
    (may contain duplicates)
  • Total versions: 58
  • Total maintainers: 2
pypi.org: idaes-pse

IDAES Process Systems Engineering Framework

  • Versions: 54
  • Dependent Packages: 7
  • Dependent Repositories: 8
  • Downloads: 25,813 Last month
  • Docker Downloads: 0
Rankings
Dependent packages count: 1.6%
Downloads: 2.2%
Average: 3.2%
Docker downloads count: 3.8%
Dependent repos count: 5.2%
Maintainers (2)
Last synced: 6 months ago
proxy.golang.org: github.com/idaes/idaes-pse
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 1.6%
Average: 4.1%
Dependent packages count: 6.5%
Last synced: 6 months ago
proxy.golang.org: github.com/IDAES/idaes-pse
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 6 months ago

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 v3 composite
  • actions/checkout v2 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