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 diagnostics check for near-parallel variables and constraints.
- New diagnostics tools for identifying causes of infeasibility in models.
- New example for creating a custom model of a liquid-liquid extractor unit operation.
Bug Fixes
- Fixed bug in Gibbs reactor that caused it to appear to have additional spurious degrees of freedom.
- 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.
Testing and Robustness
- Deployed the IDAES Diagnostics Toolbox to confirm that there are no structural or numerical issues in the core model libraries.
- Additional robustness tests for core model, and some associated improvements in the converge tester class.
- Fixed a number of issues that were causing unexpected warnings to be emitted during testing.
Deprecations and Removals
Removed examples for RIPE tool which has not been supported for a number of releases.
What's Changed
* Add constraint to exclude TensorFlow 2.16.1 and above by lbianchi-lbl in https://github.com/IDAES/idaes-pse/pull/1373
* Update imports of `native_types` and `pyomo_constant_types` in scaling module by Robbybp in https://github.com/IDAES/idaes-pse/pull/1366
* Restore ability to run pytest on individual files or directories by lbianchi-lbl in https://github.com/IDAES/idaes-pse/pull/1362
* Tweaks to convergence tester by andrewlee94 in https://github.com/IDAES/idaes-pse/pull/1377
* Add diagnostics tests for all unit models by andrewlee94 in https://github.com/IDAES/idaes-pse/pull/1375
* Resolve CI failures from new version (1.20.4) of spellchecker by lbianchi-lbl in https://github.com/IDAES/idaes-pse/pull/1389
* Fix target for 'fv' (flowsheet visualizer) reference by dangunter in https://github.com/IDAES/idaes-pse/pull/1391
* Updating black and rerunning it on all files by ksbeattie in https://github.com/IDAES/idaes-pse/pull/1388
* Fixing spurious DoF in Gibbs reactor model by andrewlee94 in https://github.com/IDAES/idaes-pse/pull/1393
* Update parameter sweep tool to support indexed vars by andrewlee94 in https://github.com/IDAES/idaes-pse/pull/1387
* Adding attributes to hold units used by MSContactor by andrewlee94 in https://github.com/IDAES/idaes-pse/pull/1396
* Crossflow hx by dallan-keylogic in https://github.com/IDAES/idaes-pse/pull/1382
* bug fix for issue 1364: catch AttributeError in set_scaling_from_default by jasonmbray-p66 in https://github.com/IDAES/idaes-pse/pull/1400
* Add parallel constraint/variable check to `report_numerical_issues` by Robbybp in https://github.com/IDAES/idaes-pse/pull/1385
* Address many unexpected warnings in pytest by andrewlee94 in https://github.com/IDAES/idaes-pse/pull/1403
* Renaming components by andrewlee94 in https://github.com/IDAES/idaes-pse/pull/1402
* Update the Pyomo tag to the 6.7.2 release by blnicho in https://github.com/IDAES/idaes-pse/pull/1406
* Infeasibility diagnostic tool by bknueven in https://github.com/IDAES/idaes-pse/pull/1409
* Allow upwinding in 1D Heat exchanger by dallan-keylogic in https://github.com/IDAES/idaes-pse/pull/1383
* Adding USD_2022 to units library as the most recently published value by hunterbarber in https://github.com/IDAES/idaes-pse/pull/1413
* Option to skip parallel component checks by andrewlee94 in https://github.com/IDAES/idaes-pse/pull/1417
* Update pyomo requirement to 6.7.3 by lbianchi-lbl in https://github.com/IDAES/idaes-pse/pull/1420
New Contributors
* jasonmbray-p66 made their first contribution in https://github.com/IDAES/idaes-pse/pull/1400
**Full Changelog**: https://github.com/IDAES/idaes-pse/compare/2.4.0...2.5.0