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, most environmentally sustainable 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.0.0 Release Highlights
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