Idaes-pse

Latest version: v2.8.0

Safety actively analyzes 714973 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 11

2.0.0

- Removal of deprecated features from IDAES v1
- Update to Pyomo v6.5 – this required a number of updates to support the new NL solver writer and to address some changes in Pyomo
- Creation of new testing suite for backward compatibility, model robustness and verification
- More general implementation of the Helmholtz EoS. This brings some new features like standard property diagrams, choice of mass or mole basis, and new state variable options
- Standardizing names in Heat Exchanger models (breaking change from v2.0.0a2):
- Control Volumes named `hot_side` and `cold_side`
- Ports names `hot_side_inlet`, `hot_side_outlet`, `cold_side_inlet` and `cold_side_outlet`
- Config Blocks names `hot_side_config` and `cold_side_config`
- Config arguments for user provided names for each side: `hot_side_name` and `cold_side_name`.
- Updating Keras surrogate tool to use v1.1 of OMLT
- New prototype API for model initialization (`idaes.core.initialization`)
- The new API uses "Model Initializer" objects instead of class methods, allowing for the definition of multiple initialization routines for a single model
- A number of common, model agnostic initialization routines have also been defined, including initialization from data, block-decomposition and a general hierarchical approach equivalent to the existing method for common unit models
- New metadata for thermophysical properties – `valid_range`
- This can be used to record the range of values over which a property value can be trusted, such as the range of experimental data used to regress parameters
- A number of new utility functions have been added to check for properties with values outside the valid range and to set bounds based on this metadata
- Updated construction of balance expressions in Control Volumes to remove unneeded terms
- In the past, unneeded terms were added as a constant 0 term, however they will now be dropped entirely from the expression
- This was necessary due to more strict unit checking in the new Pyomo solver writer which no longer ignores 0 terms
- Updates to metadata for thermophysical properties to better define known properties and units of measurement
- This results in more strict enforcement of standard naming for thermophysical and reaction properties
- Users can still define custom properties, but these must be done explicitly using the `define_custom_properties()` method instead of being implicitly created by `add_property()`
- Updated convergence tester utility tool to support definition of benchmark files (JSON format) and comparison of performance to benchmarks
- Set default iteration limit for IPOPT in IDAES config to 200 iterations
- Update scaling of example models to work with new Pyomo NL solver writer
- Improve testing of extensions and examples infrastructure to avoid need for downloading files
- Updated distillation column to centralize common functionality and remove a number of Pyomo warnings

2.0.0b2

IDAES v2 migration support

To help migrate their code to IDAES v2, the following support material is available:

- [How to migrate custom IDAES code from v1 to v2](https://github.com/IDAES/idaes-pse/wiki/idaes-v2-migrate)
- [IDAES v1 compatibility mode](https://github.com/IDAES/idaes-pse/wiki/idaes-v1-compat)

IDAES v2 changes and deprecations

- As a consequence of the standardization of the `HeatExchanger` API, support for old methods and attributes (i.e. `side_1`, `inlet_1`, `outlet_1` etc) has been removed
- Refer to the "IDAES v2 migration support" for more information
- Numerous instances where deprecated APIs were being used internally in IDAES, causing deprecation warnings to be emitted, have been removed
- Old process costing code has been fully deprecated and removed in favor of the new API

New features

- Improved support for defining new components for use in Helmholtz equations of state
- Standardized naming in heat exchanger models
- Documentation of process costing tools and examples
- Implementation of an IDAES Performance Testing Suite, which has been used to establish baseline performance metrics
- Improved metadata structure for defining Units of Measurement in property packages and updated all code to use the new format

Supported Python versions

- Support for Python 3.11 is planned for the upcoming February release
- Following the [NumPy NEP29 schedule](https://numpy.org/neps/nep-0029-deprecation_policy.html#drop-schedule), the February release of IDAES will also be the last to support Python 3.8

2.0.0a3

IDAES v2 Changes and Deprecations

- **Reminder** that support for IDAES v1 series will end in November, and backwards compatibility will be removed
- When instantiating a `ProcessBlock`, options can now be passed directly as keyword arguments (kwargs)
instead of having to be provided as a separate dictionary through the `default=` kwarg

New Features

- Initial binary releases for Mac OSX running on ARM chipsets
- New method for `StateBlock`s: users can now do `state.build_port()` to construct a `Port` linked to the given state block
- Many new examples and documentation

2.0.0a2

Deprecations and Moved Files:

- In preparation for the upcoming IDAES v2.0 release, the IDAES repository has been significantly reorganized to better group content and reduce the number of top-level directories
- In order to facilitate a smooth transition, the existing folder structure will remain in place until the v2.0 release in November with redirection links to the new location of most modules
- Importing a module from its old location will be redirected to the new location and a deprecation warning will be logged, with a pointer to the new location
- A new API has been implemented for costing of process equipment in IDAES
- The old costing methods will continue to be supported with deprecation warnings until the v2.0 release in November, after which they will be removed
- Users of these tools should begin converting their code to use the new costing APIs

General

- Added `reporting_units` option to the IDAES configuration dictionary to allow users to specify specific output units for quantities
- e.g. `report_units={“pressure”: pyo.units.bar}`
- All IDAES reporting functions will convert quantities to the units defined in this dictionary
- Added units of measurement to IDAES stream tables and reporting functions
- Unit model for carbon capture using MEA solvent, including detailed correlations for heat and mass transfer with enhancement factor
- Added support for units of measurement and scaling tools to the gas_solid_contactor model library
- Addition of a new lumped capacitance model for 0D heat exchangers which includes effects of conduction through the heat exchanger walls
- New models for solid oxide fuel cells and solid oxide electrolysis cells
- New models for natural gas pipelines
- Added full support for PySMO tools to the new surrogate modeling API
- Added support for multiple inputs and output to PySMO and associated data sampling tools
- Improved error handling for ALAMOpy in cases where ALAMO executable encounters errors
- New API for implementing costing of process equipment and flows
- Added new supported platforms for IDAES binaries

1.13

- New modules for modular property packages which allow interfacing with CoolProp (external, open-source thermophysical property package)
- Added new `InitializationError` type which is now raised whenever an initialization routine fails to solve successfully. Updated all core models to raise this error on failure
- Initialization improvements for systems with vapor-liquid equilibrium.
- New solver interface which allows the use of PETSc solver library, including interface for solving (P)DAE systems
- Updated CLC methane reduction property packages for gas-solid contactor models to use standard base units, including example flowsheet modifications for energy in J and pressure in Pa
- Clean up of some power generation models to bring them more in-line with IDAES modeling standards
- Improvements in external functions for calculating roots of cubics and cubic equations of state
- Bug fixes in ALAMOpy wrapper to correctly support validation data sets

Python version support

- Support for Python 3.10 has been added
- Support for Python 3.6 has been removed

1.13.0

ADVANCE CHANGE NOTICE: Upcoming IDAES v2

We are pleased to announce that IDAES v2 is under development. IDAES v2 introduces significant improvements and API changes with respect to the current (v1) codebase.
In order to provide advance warning of the upcoming changes and minimize their impact on functionality during this transition, the following schedule is planned for the next 9 months:

- The first stable version of IDAES v2, release 2.0.0, is currently planned for November 2022
- The current release series, 1.13, will be the last for the IDAES v1 codebase
- Over the intervening months, as part of our quarterly release cycle, we will be releasing preview versions of the v2 codebase. If applicable, we will also distribute bugfixes that are compatible with the v1 codebase as patch releases to the 1.13 release series (1.13.1, 1.13.2)
- During this time, changes to the IDAES API introduced by v2 will be documented as deprecation warnings in the codebase and/or as part of the release notes
- Once the 2.0.0 release is out, all deprecation warnings will be removed, and support will switch to IDAES v2 only

We encourage our users to follow these changes closely over the next few months and adapt their models accordingly in preparation to the 2.0.0 release.

Page 6 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.