Overview
IDAES provides computational tools and models for process systems engineering, with an emphasis on advanced energy systems. Its stated scope spans multiple scales and includes design, analysis, optimization, scale-up, operation and troubleshooting. It is a modeling framework rather than a single predictive model or a hosted service. In a research or engineering workflow, its intended role is to support simulation-based investigation of process designs and operating choices.
Most functionality is implemented in Python. The package declares dependencies on Pyomo and scientific computing libraries, and the README describes a separate installation step for pre-built binary solver extensions. Optional dependency groups cover a user interface, CoolProp, grid-related functionality and OMLT. Examples are distributed separately through idaes-examples. The excerpts establish a process-modeling workflow, but do not specify a universal input schema, required process data or standard output format; those details need to be checked in the relevant documentation and examples.
Environment selection matters when evaluating IDAES. The README lists Python 3.10–3.14 as supported and describes macOS support as partial because HSL is unavailable on Intel processors. It also distinguishes ONNX surrogate support on Python 3.14 from Keras surrogates, which require Python 3.13 or earlier under the documented TensorFlow limitation. The linked sources provide setup guidance and project scope, but no quantitative evidence of model accuracy, solver performance or suitability for a particular chemical manufacturing process.
Key Features
- Multi-scale computational tools and models intended for simulation-based design, analysis and optimization of advanced energy systems.
- A predominantly Python framework with declared dependencies on Pyomo, NumPy, SciPy and other scientific computing libraries.
- A documented mechanism for obtaining pre-built binary solver extensions separately from the Python package.
- Optional dependency groups for a user interface, CoolProp, grid-related functionality and OMLT.
- OMLT-related surrogate support that distinguishes ONNX availability on Python 3.14 from Keras requirements on Python 3.13 or earlier.
- Separately installable examples, with an examples repository and an online static examples collection.
Use Cases
- Intended evaluation: select a documented energy-system example and assess whether its modeling approach can support comparison of proposed process designs.
- Intended evaluation: use a relevant example as a starting point for studying operating choices or optimization objectives in an advanced energy process.
- Intended evaluation: examine the documented OMLT pathway for incorporating ONNX or Keras surrogates into a process-modeling workflow, subject to the stated Python limitations.
- Intended evaluation: assess a model’s suitability for scale-up or troubleshooting questions before relying on it for engineering decisions.
How to Use
- Begin with the stable documentation and identify a workflow relevant to your process. Check its model assumptions, required inputs and reported outputs before adapting it.
- Review the repository README for environment requirements. Choose a documented Python version and account for the macOS and surrogate-dependency limitations.
- Follow the installation guide. The README recommends an isolated environment and choosing either pip or conda for toolkit installation, rather than both.
- Follow the documented steps to check the installed version and obtain binary solver extensions. Add optional dependency groups only when the selected workflow needs them.
- Consult the examples repository and online examples. As an evaluation step, compare an example’s behavior with your expected process behavior before changing its inputs; use the Discussions Board for questions.