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.
What's Changed
- Fix some bugs in the modular properties implementation by @andrewlee94 in #1425
- Limiting pint version by @andrewlee94 in #1438
- Add new Complementarity formualtion for VLE with cubic EoSs by @andrewlee94 in #1397
- Activating IPOPT_V2 with presolver by @andrewlee94 in #1436
- Moving some slow tests to integration by @andrewlee94 in #1442
- Fix Typos From June Spell Checker Update by @bpaul4 in #1448
- Add 2023 CEPCI Value by @bpaul4 in #1447
- Specify Codecov version to work around codecov/codecov-action#1487 by @lbianchi-lbl in #1441
- Minor Power Plant Costing Fixes by @bpaul4 in #1418
- Updating copyright to 2024 by @ksbeattie in #1440
- Add code references to gas solid contactors docs by @bpaul4 in #1451
- Renewable + PEM Parameterized Bidder by @Xinhe-Chen in #1407
- Remove support for Python 3.8 by @lbianchi-lbl in #1467
- Repair erroneous units for material_holdup in CV0D when mass basis defined by @adam-a-a in #1460
- Keras file format updates by @rundxdi in #1401
- Bump extensions version to 3.4.2 by @Robbybp in #1473
- Add reference to constructing class in ProcessBlock by @bknueven in #1414
- Update Pyomo requirement to 6.8.0 release by @blnicho in #1465
- PySMO: fix warnings by @OOAmusat in #1472
- Remove SOFC Keras Surrogates And Tests by @bpaul4 in #1475
- add UI return, then visualize() can return now by @CopyDemon in #1466
- Updating BTX param with units by @JavalVyas2000 in #1478
- Pin typos version to latest currently available tag v1.24.5 by @lbianchi-lbl in #1486
- Remove idaes.core.dmf and related code by @lbianchi-lbl in #1484
- Add basis to conc example on property naming conventions docs by @kurbansitterley in #1482
New Contributors
- @Xinhe-Chen made their first contribution in #1407
- @CopyDemon made their first contribution in #1466
- @kurbansitterley made their first contribution in #1482
Full Changelog: 2.5.0...2.6.0