Advanced PSE Stakeholder Summit and Technical Meeting

The  Advanced Process Systems Engineering Stakeholder Summit is scheduled for Oct 11th -12th, 2023.  The Technical Team Meeting  will follow on October 13th, 2023,

 
 
Event Address: The Westin Tysons Corner, 7801 Leesburg Pike, Falls Church, VA, 22043, (703) 893-1340 

IDAES Integrated Platform 2.1.0 released

Today we’re announcing the 2.1.0 release of the IDAES Integrated Platform, this is the first update on the 2.X line of IDAES releases.

Highlights

New IDAES Examples Repository

Starting with this release, the IDAES examples are developed in the new IDAES/examples repository.
Along with many content and usability improvements, the most significant changes are:

For more details, refer to the resources available at IDAES/examples.

Removal of Non-Functional Apps

A review of the code in the idaes/apps and idaes/models_extra folders was undertaken, and a number of tools were identified as being outdated or non-functional and no longer supported by their development teams. Due to this, the following tools have been removed:

idaes/apps/alamopy_depr      (note that the new ALAMOpy interface remains avaialble in idaes/core/surrogates)
idaes/apps/helmet
idaes/apps/ripe
idaes/apps/roundingRegression
idaes/models_extra/carbon_capture

Pyomo 6.6

This version of IDAES is the first requiring Pyomo 6.6. This version of Pyomo contains multiple internal improvements and refactorings.While for the majority of cases this should have positive or no impact on solvability of IDAES models, we are aware of a small number of models that have been affected as a result of these changes.

For more information, refer to the Pyomo 6.6.1 release notes.

Other Highlights

    • Model Initialization
      • A prototype API for a new approach to initializing IDAES models is now available which makes available some new techniques for initializing models. This is documented in the Initializing Models Reference Guide
    • Modular Properties Framework
      • Support for some transport properties
    • Helmholtz Equation of State properties
      • Better error checking for case where unit models are set to include phase equilibrium but the property package is set to support only a single phase
    • Multi-Stream Contactor model: a new base model for systems involving contacting of two or more streams with mass transfer. This model is intended to be used as the foundation for models such as membrane separators, solvent extraction and other similar processes. This is documented in the Multi-Stream Contactor Reference Guide
    • idaes/models_extra/power_generation
      • report() methods for unit models using Helmholtz equation of state
    • General Code Maintenance
      • Streamlining of dependencies and creation of new optional dependency groupings to support non-core tools
      • General linting of codebase to ensure compliance with most pylint checks
      • Spell checking of all code and doc strings
      • Removal of backward compatibility code for Python 2

Help and Support

You are invited to make a reservation for one of our monthly virtual/zoom office hours if you would like individual help with the migration or use of the platform.  Just send an email to idaes-support@idaes.org with details on your question, issue or situation.  The idaes-users@idaes.org email list and github discussion forums are still available at our idaes-pse github repo.

IDAES Integrated Platform 2.0.0 beta 2 released

Today we’re announcing the 2.0.0b2 release of the IDAES Integrated Platform.

Highlights

  • This is the second of two pre-releases in preparation for the full 2.0.0 release expected March of 2023
  • Use this release to migrate your models to the 2.0 API, with an optional backward compatibility mechanism to aid the migration
  • Detailed documentation on how to migrate is available: IDAES v2 resources
  • Virtual Office hours are also available by reservation for individual support

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

Plans for Next Release

  • Drop support for Python 3.7
  • Add support for Python 3.11

Help and Support

You are invited to make a reservation for one of our monthly virtual/zoom office hours if you would like individual help with the migration or use of the platform.  Just send an email to idaes-support@idaes.org with details on your question, issue or situation.  The idaes-users@idaes.org email list and github discussion forums are still available at our idaes-pse github repo.

IDAES Integrated Platform 2.0.0 alpha 2 released

Today we’re announcing the 2.0.0a2 release of the IDAES Integrated Platform.

This is the first of two public alpha releases before the full 2.0 release of the IDAES IP coming late November / early December.

Please see the details below on the changes in this release and how the goal of this release (and the next alpha release in August/Sept) is to help people prepare for the 2.0 release.

IDAES-PSE 2.0.0a2 Release Highlights

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 logger 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 thee 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

For detailed instructions on how to get started using the the Integrated Platform, as well as examples, tutorials and references, take a look at our online documentation.

As always, questions and feedback are welcome and very much encouraged.

Feel free to send an email to the IDAES support team or for a wider audience post to the public discussion forum at our idaes-pse github repo.

IDAES IP 1.13.0 Released and Notice For Upcoming 2.0

Two pieces of news:

ADVANCE CHANGE NOTICE: Upcoming IDAES v2.0

First we want to announce that development is now underway for IDAES 2.0 introducing significant improvements and API changes with respect to the current (v1) codebase.  In order to provide advance warning of theses 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 development will switch exclusively to IDAES v2

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.

Highlight of changes in IDAES v1.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

For detailed instructions on how to get started using the the Integrated Platform, as well as examples, tutorials and references, take a look at our online documentation.

As always, questions and feedback are welcome and very much encouraged.

Feel free to send an email to the IDAES support team or for a wider audience post to the public discussion forum at our idaes-pse github repo.

IDAES Integrated Platform 1.12.0 released

Highlights for this release are:

  • Improved workflow and interface for developing surrogate models and incorporating these into flowsheets
  • Improved wrapper for ALAMO using new surrogate interface
  • New Unit models:
    • Condenser and Reboiler for packed column applications
    • 0-D Heat Exchanger using the NTU method
  • Ability to use external variable for length in 1-D control volumes
  • Thermophysical and transport properties:
    • New supported properties: Cp, Cv, diffusivity, thermal conductivity, speed of sound, surface tension, viscosity
    • Improved formulation of log expressions
  • Surrogate modeling using Keras
    • This requires tensorflow, which is an optional dependency of IDAES. To install it, use any one of the following commands:

      conda install tensorflow
      pip install tensorflow
      pip install idaes-pse[optional] # this will install all optional dependencies for IDAES, including tensorflow

Deprecation warnings slated to be removed (and become errors) in next release (1.13.0):

  • Python 3.6 support is deprecated and it will be removed with the next IDAES release
  • Deprecation warning: generic_models.unit_models.distillation folder renamed to generic_models.unit_models.column_models
  • Removed support for directly setting state_block_class and reaction_block_class in property and reaction packages
  • Removed support for property packages which do not use Phase and Component objects
  • Removed support for defining units of measurement via strings.
  • Removed support for dynamic simulations without specifying units for time domain

For detailed instructions on how to get started using the the Integrated Platform, as well as examples, tutorials and references, take a look at our online documentation.

As always, questions and feedback are welcome and very much encouraged.

Feel free to send an email to the IDAES support team or for a wider audience post to the public discussion forum at our idaes-pse github repo where the full source code is available.

IDAES Stakeholders Meeting 10/7 + 10/14

This is our opportunity to present a comprehensive review of progress and directions for IDAES and to gain your valuable feedback. Sadly we are COVID restricted from having the opportunity to do this in person once again this year (Please know how much myself and the entire IDAES team miss the pleasure of interacting more directly with all of you). As we did last October, we are dividing the event into two days a week apart to make it more readily digestible and to offer you time for contemplation of your reactions and input.

To see the full agenda, please login to the Stakeholders -> Meetings page.

IDAES Integrated Platform 1.11.0 released

Highlights for this release are:

  • New component: SkeletonUnitModel – a generic unit model object for surrogate and custom unit models
  • Improving access to time domain: All Flowsheets now have a ‘time’ property which will return the local time domain
  • Support for additional properties in Generic Property Framework: Ideal solids, Henry’s Law, molar volume, osmotic pressure, diffusivity and viscosity
  • Improved scaling methods for Mixer and Separator
  • Updating some imports from Pyomo due to changes in Pyomo 6.1
  • Prototype support for precipitation reactions using solubility products (still needs refinement)

Deprecation warnings slated to be removed (and become errors) in next release (1.12.0):

  • Directly setting state_block_class and reaction_block_class when creating property packages will no longer be allowed: users should set _state_block_class and _reaction_block_class instead.
  • Old style property packages that do not use Phase and Component objects will no longer be supported (i.e. those that create the phase_list and component_set directly).
  • IDAES will no longer support using strings to defining units of measurement in property packages. Property developers should use Pyomo units (or None) instead.
  • Users will need to define units for the time domain in dynamic simulations.

For detailed instructions on how to get started using the the Integrated Platform, as well as examples, tutorials and references, take a look at our online documentation.

As always, questions and feedback are welcome and very much encouraged.

Feel free to send an email to the IDAES support team or for a wider audience post to the public discussion forum at our idaes-pse github repo where the full source code is available.

IDAES PSE Framework version 1.10.0 released

For detailed instructions on how to get started using the Framework, as well as examples, tutorials and references, take a look at our online documentation.

Highlights for this release are:

  • Updates to be compliant with Pyomo 6
  • New get_solver tool for creating solver objects which supports definition of default solvers and options
  • Improved handling of solver options during initialization
  • Additional properties in Generic Property framework, including multiple flow bases, internal energy, and constant volume heat capacity.
  • New Generic Property module for constant pure component properties
  • Extension of core framework to support aqueous solutions of ions, including support for true and apparent species compositions
  • Performance curves in isentropic pressure changers
  • New utility functions for accessing scaled and unscaled Jacobians and problem condition number
  • Support for automatic scaling tools in Generic Property and Reaction packages
  • Numerous improvements to automatic scaling functions
  • Improved output of stream tables for cases of multiple property packages with different state variables
  • Fixed bug in some property packages where enthalpy density was used instead of internal energy density in energy balances
  • Fixed underlying bug preventing cloning of models, which was necessary for GDP problems

Development activity and full source code can be found at our idaes-pse github repo.

For support questions and answers visit the new idaes-pse discussion forum.

IDAES PSE Framework version 1.9.0 released

For detailed instructions on how to get started using the Framework, as well as examples, tutorials and references, take a look at our online documentation.

Highlights for this release are:

  • Addition of a general-purpose IDAES dynamic power plant model library.
  • Improved generic properties API to support disjunctive programming solvers.
  • New option for including or excluding heat of formation from specific enthalpy calculations.
  • Functions for producing Txy diagrams of VLE systems.
  • Improved performance of units of measurement features.
  • Improved the look, feel, and functionality of the IDAES Flowsheet Visualizer or IFV.
  • New conda install packaging (in addition to pip install)

Development activity and full source code can be found at our idaes-pse github repo.

For support questions and answers visit the new idaes-pse discussion forum.