DOI: 10.18141/2530210
title: IDAES-PSE 2.6.0 Release

description: The Institute for the Design of Advanced Energy Systems (IDAES) Integrated Platform is a versatile computational environment offering extensive process systems engineering (PSE) capabilities for optimizing the design and operation of complex, interacting technologies and systems. IDAES enables users to efficiently search vast, complex design spaces to discover the lowest cost solutions while supporting the full process modeling lifecycle, from conceptual design to dynamic optimization and control. The extensible, open platform empowers users to create models of novel processes and rapidly develop custom analyses, workflows, and end-user applications.

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.