Engineering Papers⌕ Search

Engineering topics

Beattie, Keith

Publications and source records attributed to Beattie, Keith.

At least 37 records · Page 2

Beyond Price Taker: Conceptual Design and Optimization of Integrated Energy Systems Using Machine Learning Market Surrogates

Future electricity generation systems must be optimized to provide flexibility that counteracts the variability of non-dispatchable renewable energy sources and ensures the reliability and safety of critical infrastructure, including the electric grid. The current state-of-the-art is to co-optimize the design and operation of integrated energy systems (IES) treating historical or predicted time-series electricity prices as fixed parameters. Recent literature has shown the limitations of this price taker assumption, which neglects how IES optimization decisions influence market outcomes. As such, this paper proposes a new optimization formulation that uses machine learning surrogate models, trained from a library of annual market operation simulations, to embed IES market interactions into the co-optimization problem directly. Using a thermal generator example built in the open-source IDAES computational environment, we show that the price taker approach routinely over-predicts annual revenues by 8% or more compared to a validation simulation, where the proposed approach has a typical relative error of 1% or less.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

PARETO 0.8.0 Release

PARETO 0.8.0 Release. Highlights: Model Updates - Applied unified sets for pipeline and trucking arcs in strategic model - Apply unified sets for pipeline and trucking arcs in operational model - Added new config argument for removal efficiency calculation method - Standardized bidirectional capacity constraint - Added dependencies removed in IDAES 2.1 - Created bounding functions & utilities - Added Hydraulics module to the strategic model - Add additional arc types to strategic model Documentation and Tutorial Updates - Improved PARETO treatment document - Introduced general tutorial and treatment module Jupyter notebooks for Strategic Model - Update docs with correct support email list address - Consolidate and deduplicate Getting Started and resources for developers - Enable Black formatting for Jupyter notebooks - Add Binder configuration files and README Bug Fixes - Fix strategic model documentation typos - Removed duplicated units from output file header UI Updates - Added view for comparing different scenarios - Added functionality for manually overriding PARETO decisions

PARETO,PARETO-UI,PSE,Process Systems Engineering,P↗

CCSI Toolset 3.18 Release

CCSI Toolset 3.18 Release Highlights FOQUS was updated to allow installation for users using MacOS on Apple silicon. FOQUS Cloud support was added for user plugins. The Optimality-Based Design of Experiments tutorials were updated to reflect the latest changes in the user interface flow. The plot discrete sliders were fixed for CDF and 3D plots within Uncertainty Quantification, which were not working due to a matplotlib depreciation. The installation was updated to set the default location for the PSUADE executable if found in the environment. Updates were made to allow compatibility with NumPy 1.25. Additional documentation changes were made to fix typographical errors and fix a broken link to optional software.

AS↗

IDAES-PSE 2.1.0 Release

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.1.0 Release 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: To install the examples, after installing IDAES, run pip install idaes-examples The idaes get-examples command, previously used for this, has been removed The HTML version is now available at https://idaes-examples.readthedocs.io The previous URL, https://idaes.github.io/examples-pse, will not be updated and may be removed at some point in the future 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

IDAES↗

WaterTAP 0.8 Release

The Water treatment Technoeconomic Assessment Platform (WaterTAP) is an open-source Python-based software package that supports the simulation and optimization of process-scale water treatment trains. WaterTAP seeks to provide the broader water research community with an integrated modeling capability to evaluate cost, energy, and environmental tradeoffs across water treatment options and identify high impact opportunities for innovation including novel materials, processes, and systems. An updated version of WaterTAP is released quarterly and each includes documentation and release notes.

IDAES↗

PARETO 0.7.0 Release

PARETO 0.7.0 Release. Highlights: - Update years for copyright - Correct Core-dev installation instructions - Improve delivery constraint indexing - Incorporate component removal efficiency at treatment sites - Allow model Parameters to be mutable - Address CodeCov failures - Ensure compatibility with IDAES v2

PARETO,PARETO-UI,PSE,Process Systems Engineering,P↗

CCSI Toolset 3.17 Release

CCSI Toolset 3.17 Release Highlights A workaround was developed to allow complex Aspen Custom Modeler (ACM) models to be used in FOQUS. This workaround uses Visual Basic for Applications to connect the ACM models to FOQUS. The ability for User plugins to be uploaded to FOQUS Cloud was added. The documentation was updated to include Optional Software Install and Tutorial Notes to clarify the usage of Turbine and SimSinter in installation instructions and adds a link to the relevant tutorial page. The Sequential Design of Experiments documentation was updated with current screenshots. The copyright was updated to include 2023.

AS↗

IDAES-PSE 2.0 Release

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

IDAES↗

PARETO 0.5.0 Release

PARETO 0.5.0 Release. Highlights: Treatment Center Modeling - New case study with desalination, clean brine, and evaporation treatment technologies - New option to reduce disposal capacity due to Seismic Response Areas (SRA) - New option to consider water sharing outside of system General Updates - New features for Sankey Diagram visualization (multiple regions, filtered time periods) - Introduce badges to README.md - Convert documentation to ASCII LaTeX - Code cleaning and maintenance - Correct strategic model documentation typo - Update and format treatment demo input spreadsheet Bug Fixes - Fix water quality operational model results printing bug - Piping and trucking variables are now built only over defined arcs instead of all possible connections - Revise pipeline expansion cost constraints, ensure that all pipelines built incur cost

PARETO,PARETO-UI,PSE,Process Systems Engineering,P↗

WaterTAP 0.7 Release

The Water treatment Technoeconomic Assessment Platform (WaterTAP) is an open-source Python-based software package that supports the simulation and optimization of process-scale water treatment trains. WaterTAP seeks to provide the broader water research community with an integrated modeling capability to evaluate cost, energy, and environmental tradeoffs across water treatment options and identify high impact opportunities for innovation including novel materials, processes, and systems. An updated version of WaterTAP is released quarterly and each includes documentation and release notes.

IDAES↗

PARETO: An open-source produced water optimization framework

PARETO is an optimization framework for onshore produced water management that is meant to empower practitioners, researchers, and policymakers to identify cost-effective and environmentally sustainable ways to manage, treat, and – when possible – beneficially reuse produced water from oil & gas operations. Given user-provided water production, demand, and transportation data, PARETO can help determine where and how to build out produced water infrastructure while simultaneously improving the coordination of water deliveries over time. As shown here, the framework is innately designed to help organizations recognize opportunities for minimizing fresh and brackish water consumption by maximizing produced water reuse in active oil & gas development areas. PARETO is Python-based and is publicly available via GitHub.

42 ENGINEERING↗

For the Public Good: Connecting, Retaining, and Recognizing Current and Future RSEs at U.S. National Research Laboratories and Agencies

U.S. national research laboratories and agencies play an integral role in advancing science and technology for the public good. The authors of this article, as research software engineers (RSEs) and allies from eight unique national R&D organizations, came together to explore RSE needs from the perspective of national institutions. We identified three key areas of improvement for future RSEs to pursue science in the national interest: community establishment, hiring and retention, and recognition. In conclusion, to retain and cultivate this essential talent, U.S. national institutions must evolve to support appropriate career pathways for RSEs, and to recognize and reward RSEs’ work.

42 ENGINEERING↗

WaterTAP 0.6 Release

The Water treatment Technoeconomic Assessment Platform (WaterTAP) is an open-source Python-based software package that supports the simulation and optimization of process-scale water treatment trains. WaterTAP seeks to provide the broader water research community with an integrated modeling capability to evaluate cost, energy, and environmental tradeoffs across water treatment options and identify high impact opportunities for innovation including novel materials, processes, and systems. An updated version of WaterTAP is released quarterly and each includes documentation and release notes.

IDAES↗

Giving Research Software Engineers a Larger Stage Through the Better Scientific Software Fellowship

The Better Scientific Software Fellowship (BSSwF) was launched in 2018 to foster and promote practices, processes, and tools to improve developer productivity and software sustainability of scientific codes. The BSSwF’s vision is to grow the community with practitioners, leaders, mentors, and consultants to increase the visibility of scientific software. Over the last five years, many fellowship recipients and honorable mentions have identified as research software engineers (RSEs). Furthermore, case studies from several of the program’s participants illustrate the diverse ways the BSSwF has benefited both the RSE and scientific communities. In an environment where the contributions of RSEs are too often undervalued, we believe that programs such as the BSSwF can help recognize and encourage community members to step outside of their regular commitments and expand on their work, collaborations, and ideas for a larger audience.

97 MATHEMATICS AND COMPUTING↗

PARETO 0.3.0 Release

PARETO 0.3.0 Release. Highlights: - Fixing Warning in get_data - Clean up of old main function which has been replaced by the run files - Adding plot_scatter() function - Support node capacity - Add Gurobi troubleshooting files to gitignore by @melody-shellman - Set slacks to zero - Water treatment case study - Fix defaultvalue treatement - Fix bug for incorrect number of input arguments in water quality - Pipeline configs documentation - Enable rendering Unicode characters in ReadTheDocs PDF builds - Adding support for units - Add discrete water quality to the model - Updating documentation for strategic model, and corresponding fixes to strategic model - Rework getting started docs build section and more - Enable Codecov reports in CI builds - Correct error in CompletionsPadSupplyBalanceRule

PARETO,PSE,Process Systems Engineering,Produced wa↗

WaterTAP 0.5 Release

The Water treatment Technoeconomic Assessment Platform (WaterTAP) is an open-source Python-based software package that supports the simulation and optimization of process-scale water treatment trains. WaterTAP seeks to provide the broader water research community with an integrated modeling capability to evaluate cost, energy, and environmental tradeoffs across water treatment options and identify high impact opportunities for innovation including novel materials, processes, and systems. An updated version of WaterTAP is released quarterly and each includes documentation and release notes.

IDAES↗

PARETO 0.2.0 Release

First official software release for Project PARETO..

PARETO,PSE,Process Systems Engineering,Produced wa↗