Skip to content

Releases: IDAES/idaes-pse

2.11 Release Candidate #0

05 Mar 02:36

Choose a tag to compare

Pre-release

2.11 Release Candidate #0

Start with our online documentation to get started with install instructions, examples, etc.

IDAES-PSE 2.11.0rc0 Release Highlights

This release introduces several new features, including a Helmholtz property package for ammonia and a new pipe unit model. It also includes important dependency updates and officially ends support for Python 3.9.

Changes by Category

New Features & Enhancements

  • Helmholtz Ammonia Properties (#1637 by @StephenBurroughs): A new property package for ammonia based on the Helmholtz equation of state has been added.
  • Pipe Unit Model (#1730 by @dallan-keylogic): A new unit model for simulating pipes is now available.
  • New State Definition FpTPxpc (#1723 by @tannerpolley): Added a new state variable definition (FpTPxpc) for component-specific phase equilibrium calculations.
  • Structured Flowsheet Wrapper (#1702 by @dangunter): A new utility for wrapping and interacting with structured flowsheets has been implemented.
  • Utility Functions for PrOMMiS (#1734 by @dallan-keylogic): Added new helper functions to support the PrOMMiS toolkit.

Bug Fixes

  • Subcritical Powerplant Report (#1720 by @Lingyan90): Fixed a bug in the reporting method for the subcritical powerplant model (resolves issue #1287).
  • General Bug Fix (#1709 by @Lingyan90): Resolved issue #1610.

Maintenance & Dependency Updates

  • End of Python 3.9 Support (#1728 by @sufikaur): Support for Python 3.9 has been officially removed.
  • Update Pinned Requirements (#1737 by @sufikaur): Updated package requirements that were previously pinned for Python 3.9 compatibility.
  • Update Pyomo to 6.10.0 (#1731 by @blnicho): The required version of Pyomo has been updated to 6.10.0.
  • Update Black Formatter to 26.1.0 (#1726, #1740 by @ksbeattie, @sufikaur): The Black code formatter was updated to version 26.1.0 and the codebase was reformatted.
  • Remove Deprecated pkg_resources (#1732 by @blnicho): Removed the usage of pkg_resources, which has been deprecated in favor of importlib.resources.
  • Update Copyright Headers (#1714 by @ksbeattie): Updated copyright headers in files for 2026.

Documentation

  • Add Link to IDAES+ Webpages (#1735 by @dangunter): The documentation now includes a link to the IDAES+ webpages.
## What's Changed

New Contributors

**Full Changelog**: https://github.com/IDAES/idaes-pse/compare/2.10.0...2.11.0rc0

2.10 Release

11 Dec 00:00

Choose a tag to compare

2.10 Release

Start with our online documentation to get started with install instructions, examples, etc.

IDAES-PSE 2.10.0 Release Highlights

Enhancements

Scaling Improvements

  • Overhauled scaling functionality to improve numerical stability (#1662)
  • Updated extreme Jacobian methods to use scaled Jacobian (#1703)

Initialization Updates

  • Added holdup initialization support to MSContactor (#1707)

Block Triangularization

  • Added skip_final_solve option to Block Triangularization (#1711)
  • Various fixes and improvements to Block Triangularization (#1704)

Price-taker Class

  • Added storage and surrogate support (#1633)

Solid Oxide Cell Model Updates

  • Additional improvements and updates to SOC functionality (#1667)

Bug Fixes

  • Fixed file handling to properly close files after opening (#1698)

Maintenance & Dependencies

  • Updated pylint to version 3.3.9 (#1683)
  • Reverted Pyomo pin (#1705)
  • Migrated build configuration from setup.py to pyproject.toml (#1708)
Detailed Changes from the 2.10 release

What's Changed

Full Changelog: 2.9.0...2.10.0

2.10 Release Candidate #0

26 Nov 22:56

Choose a tag to compare

Pre-release

2.10 Release Candidate #0

Start with our online documentation to get started with install instructions, examples, etc.

IDAES-PSE 2.10.0rc0 Release Highlights

Enhancements

Scaling Improvements

  • Overhauled scaling functionality to improve numerical stability (#1662)
  • Updated extreme Jacobian methods to use scaled Jacobian (#1703)

Initialization Updates

  • Added holdup initialization support to MSContactor (#1707)

Block Triangularization

  • Added skip_final_solve option to Block Triangularization (#1711)
  • Various fixes and improvements to Block Triangularization (#1704)

Price-taker Class

  • Added storage and surrogate support (#1633)

Solid Oxide Cell Model Updates

  • Additional improvements and updates to SOC functionality (#1667)

Bug Fixes

  • Fixed file handling to properly close files after opening (#1698)

Maintenance & Dependencies

  • Updated pylint to version 3.3.9 (#1683)
  • Reverted Pyomo pin (#1705)
  • Migrated build configuration from setup.py to pyproject.toml (#1708)

What's Changed

Full Changelog: 2.9.0...2.10.0rc0

2.9 Release

04 Oct 01:09

Choose a tag to compare

2.9 Release

Start with our online documentation to get started with install instructions, examples, etc.

IDAES-PSE 2.9.0 Release Highlights

Key Changes

  • Updated Pyomo Dependency: The Pyomo dependency has been updated to version 6.9.3, ensuring compatibility with the latest features and improvements.
  • Added the option to pass a dictionary of solver arguments for IPOPT convergence analysis
  • A smooth Heaviside function has been added to the math module
  • Bug Fixes and Stability Improvements: Several bug fixes have been made, including corrections to units on PH and TS diagrams, documentation updates, various fixes to the modular properties, and fixes for failing tests.

New Features

  • Clustering Method: A new clustering method has been added to the PriceTaker class.
  • New Thermodynamic Properties: Butane and Isobutane have been added to the Helmholtz equation of state.
Detailed Changes from the 1.3 release

What's Changed

New Contributors

Full Changelog: 2.8.0...2.9.0

2.9 Release Candidate #0

03 Oct 23:16

Choose a tag to compare

Pre-release

2.9 Release Candidate #0

Start with our online documentation to get started with install instructions, examples, etc.

IDAES-PSE 2.9.0rc0 Release Highlights

2.8 Release

06 Mar 16:50

Choose a tag to compare

2.8 Release

Start with our online documentation to get started with install instructions, examples, etc.

IDAES-PSE 2.8.0 Release Highlights

  • Pyomo 6.9.1 update
  • Improvements to get-extensions to list platform details
  • Improvements to the Greybox, Price Taker following models
  • Improvements to the Helmholtz and SmoothVLE2 property packages
  • Add support for isothermal conditions in control volumes
  • Various documentation and UI improvements
Detailed changes from 2.7.0 release

Detailed changes from 2.7.0 release:

New Contributors

Full Changelog: 2.7.0...2.8.0

2.7 Release

06 Dec 16:40

Choose a tag to compare

2.7 Release

Start with our online documentation to get started with install instructions, examples, etc.

IDAES-PSE 2.7.0 Release Highlights

New features

  • AutoScaler and CustomScalerBase classes
  • Scaler for equilibrium reactor and saponification properties
  • ONNX Surrogate support from OMLT
  • 1D Membrane Model for CO2 Capture and Utilization
  • StreamScaler unit model

Bug fixes or improvements:

  • Scaling, EoS, Diagnostics tool, Modular Properties, tests & documentation

Deprecations:

  • Old Cubic EoS
Detailed Changes from 2.6 Release

Detailed Changes (by PR)

New Contributors

Full Changelog: 2.6.0...2.7.0

2.6 Release

01 Oct 03:11

Choose a tag to compare

2.6 Release

Start with our online documentation to get started with install instructions, examples, etc.

IDAES-PSE 2.6.0 Release Highlights

Upcoming Changes

  • IDAES will be switching to the new Pyomo solver interface in the next release. Whilst this will hopefully be a smooth transition for most users, there are a few important changes to be aware of.
    • The new solver interface uses a different version of the IPOPT writer (“ipopt_v2”) and thus any custom configuration options you might have set for IPOPT will not carry over and will need to be reset.
    • By default, the new Pyomo linear presolver will be activated with ipopt_v2. Whilst are working to identify any bugs in the presolver, it is possible that some edge cases will remain.
  • IDAES will begin deploying a new set of scaling tools and APIs over the next few releases that make use of the new solver writers.
  • The old scaling tools and APIs will remain for backward compatibility but will begin to be deprecated.

New Models, Tools and Features

  • New Intersphinx extension automatically linking Jupyter notebook examples to project documentation
  • New end-to-end diagnostics example demonstrated on a real problem
  • New complementarity formulation for VLE with cubic equations of state, backward compatibility for old formulation
  • New solver interface with presolve (ipopt_v2) in support of upcoming changes to the initialization and APIs methods, with default set to ipopt to maintain backwards compatibility; this will deprecate once all examples have been updated
  • New forecaster and parameterized bidder methods within grid integration library
  • Updated surrogates API and examples to support Keras 3, with backwards compatibility for older formats such as TensorFlow SavedModel (TFSM)
  • Updated costing base dictionary to include the 2023 cost year index value
  • Updated ProcessBlock to include information on the constructing block class
  • Updated Flowsheet Visualizer to allow visualize() method to return value and functions

Bug Fixes

  • Fixed bug in the Modular Property Framework that would cause errors when trying to use phase-based material balances with phase equilibria.
  • Fixed bug in Modular Properties Framework that caused errors when initializing models with non-vapor-liquid phase equilibria.
  • Fixed typos flagged by June update to crate-ci/typos and removed DMF-related exceptions
  • Minor corrections of units of measurement handling in power plant waste/transport costing expressions, control volume material holdup expressions, and BTX property package parameters
  • Fixed throwing >7500 numpy deprecation warnings by replacing scalar value assignment with element extraction and item iteration calls

Testing and Robustness

  • Migrated slow tests (>10s) to integration, impacting test coverage but also yielding a nearly 30% decrease in local test runtime
  • Pinned pint to avoid issues with older supported Python versions
  • Pinned codecov versions to avoid tokenless upload behavior with latest version
  • Bumped extensions to version 3.4.2 to allow pointing to non-standard install location

Deprecations and Removals

  • Python 3.8 is no longer supported. The supported Python versions are 3.9 through 3.12
  • The Data Management Framework (DMF) is no longer supported. Importing idaes.core.dmf will cause a deprecation warning to be displayed until the next release
  • The SOFC Keras surrogates have been removed. The current version of the SOFC surrogate model in the examples repository is a PySMO Kriging model.
Detailed changes from 2.5.0 release

Detailed changes from 2.5.0 release

New Contributors

Full Changelog: 2.5.0...2.6.0

2.5 Release

06 Jun 22:13

Choose a tag to compare

2.5 Release

Start with our online documentation to get started with install instructions, examples, etc.

IDAES-PSE 2.5.0 Release Highlights

Upcoming Changes

  • IDAES will be switching to the new Pyomo solver interface in the next release. Whilst this will hopefully be a smooth transition for most users, there are a few important changes to be aware of.
    • The new solver interface uses a different version of the IPOPT writer (“ipopt_v2”) and thus any custom configuration options you might have set for IPOPT will not carry over and will need to be reset.
    • By default, the new Pyomo linear presolver will be activated with ipopt_v2. Whilst are working to identify any bugs in the presolver, it is possible that some edge cases will remain.
  • IDAES will begin deploying a new set of scaling tools and APIs over the next few releases that make use of the new solver writers.
  • The old scaling tools and APIs will remain for backward compatibility but will begin to be deprecated.

New Models, Tools and Features

  • New diagnostics check for near-parallel variables and constraints.
  • New diagnostics tools for identifying causes of infeasibility in models.
  • New example for creating a custom model of a liquid-liquid extractor unit operation.

Bug Fixes

  • Fixed bug in Gibbs reactor that caused it to appear to have additional spurious degrees of freedom.
  • Fixed bug in the Modular Property Framework that would cause errors when trying to use phase-based material balances with phase equilibria.
  • Fixed bug in Modular Properties Framework that caused errors when initializing models with non-vapor-liquid phase equilibria.

Testing and Robustness

  • Deployed the IDAES Diagnostics Toolbox to confirm that there are no structural or numerical issues in the core model libraries.
  • Additional robustness tests for core model, and some associated improvements in the converge tester class.
  • Fixed a number of issues that were causing unexpected warnings to be emitted during testing.

Deprecations and Removals

Removed examples for RIPE tool which has not been supported for a number of releases.

What's Changed

New Contributors

Full Changelog: 2.4.0...2.5.0

2.4 Release

01 Mar 06:12

Choose a tag to compare

2.4 Release

Start with our online documentation to get started with install instructions, examples, etc.

IDAES-PSE 2.4.0 Release Highlights

Deprecations

  • Convergence Analysis tool (idaes/core/util/convergence): deprecated in favor of new Parameter Sweep tools. To be removed in v3.0.0.

New Beta Capabilities

  • Parameter Sweep Tool (idaes.core.util.parameter_sweep)
    • A new API for defining and performing parameter sweep studies on IDAES models has been developed
  • Diagnostics Tools (idaes.core.util.model_diagnostics)
    • New methods for identifying duplicate variables and constraints have been added to the diagnostics toolbox
    • New tools for detecting ill conditioning in Jacobians have been developed and are available in the model_diagnostics module. These provide alternatives to the existing DegeneracyHunter toolbox, and will eventually be merged with this capability, but initial working versions have been provided as beta capabilities for interested users
    • IpoptConvergenceAnalysis (replaces deprecated Convergence Analysis tool):
      • A new tool for performing convergence analysis studies that leverages the new Parameter Sweep tools has been developed. This tool allows users to define the input parameters to their model and sampling methods for these (leveraging Pysmo's sampling tools) and to then solve their model across the sampled domains and return a summary of the solver performance (IPOPT only)

Improved Models

  • Thickener model (idaes.models.unit_models.solid_liquid.thickener)
    • Improved model to include predictive correlations for unit sizing based on settling velocity measurements (steady-state only)
  • Modular Property Packages
    • Added general support for calculating critical properties of mixtures using defined Equation of State modules. New API defined for Equation of State modules in order to define the necessary constraints for calculating critical properties (most EoS modules DO NOT support calculation of critical properties (yet))
    • Added new methods to Cubic Equation of State module to support calculation of critical properties