Engineering PapersSearch

Engineering topics

Knueven, Bernard

Publications and source records attributed to Knueven, Bernard.

Beyond Price-Taker: Multiscale Optimization of a Wind-Battery Integrated Energy System within the Wholesale Electricity Market

This work presents the optimization of a wind-battery IES using the multiscale optimization framework proposed in our previous work to quantify errors from the price-taker assumption. The framework, built over Prescient (an open-source package for solving production cost models), is applied to the RTS-GMLC dataset, an open-source dataset that is representative of the southwest U.S. wholesale electricity market. The framework provides detailed bidding, market clearing, and control processes of an IES, and it can quantify how the IES interacts with the market. In this work, we use the retrofit of a wind farm with a battery storage system as an example to show the difference in the market outcomes and revenues obtained from both price-taker and multiscale optimization approaches. Our work goes beyond price-taker and deep dives into quantifying IES-market interaction in optimizing IES. This framework enables users to explore how different design and operation decisions of energy systems interact with the market and provides a more accurate evaluation than the price-taker assumption.

Chen, Xinhe

Optimizing Desalination Operations for Energy Flexibility

Despite the value of energy optimization in desalination processes, modeling dynamic operations for monthly billing periods has remained a computational challenge. This work proposes a framework for energy flexibility optimization, which includes new modeling features for independent operation of parallel skids, start-up delays associated with chemical stabilization, the consideration of industrial energy tariff structures, and inclusion of hourly electrical carbon intensities. This is done using a modular and computationally efficient formulation that guarantees a globally optimal solution with standard optimization solvers. In this study, the approach is demonstrated in two distinct case studies: a seawater desalination plant in Santa Barbara, CA, and an indirect potable reuse facility in San Jose, CA. Trends predicted from the model are validated against operational facility measurements from a demand response shutdown event. Preliminary results show that optimizing energy flexibility can result in 18.51% monthly cost savings over energy efficiency-optimized operation. The value extracted from a facility-wide shutdown during peak electricity price hours is hampered by start-up delays in post-treatment chemical stabilization. In cases in which a facility does not have much excess capacity, using a flow equalization tank or operating over a wide recovery range may be cost-effective.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH

ACOPF Transmission Switching Using Open-Source MINLP Solvers

The optimal transmission switching (OTS) problem with AC physics represents a mixed integer non-linear non-convex optimization problem which can provide benefits to transmission level power system operations. In this paper we benchmark a set of open-source mixed integer non-linear programming (MINLP) solvers on the OTS problem with AC physics using the pglib set of power system test cases. Results characterizing the performance of the different solvers are reported and discussed.

ACOPF

IDAES-PSE 2.6.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 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.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.

AS

Using Parameter Sweep in WaterTAP to Analyze New Water Treatment Technologies

We describe a powerful and generalized parameter sweep tool in this report that was originally developed to analyze the performance of existing and novel water treatment models being developed in WaterTAP. Since WaterTAP is built upon IDAES and Pyomo, the parameter sweep tool can be used to systematically explore and debug the behavior of most Pyomo and IDAES numerical models. In order to enable meaningful analyses, the parameter sweep tool has been designed with the following features: 1) Model flexibility: The parameter sweep tool does not enforce any restrictions on the types of models that can be used with it. As long as a Pyomo model can be solved and the parameter is active and mutable, the tool only needs functions that describe how to run the model, the sweep parameters, and the output quantities of interest. 2) Flexible sampling: The parameter sweep tool has inbuilt functions to generate samples from a random distribution or a multidimensional Euclidean space. Furthermore, the users have to ability to supply samples generated from a tool of their choice. 3) Multiple sweep types: A user can choose from one of 3 types of parameter sweeps depending on their needs. 4) Detailed outputs: Outputs generated by the parameter sweep tool can be stored in detailed H5 file or user-friendly CSV files for post processing. 5) Parallel computing: The parameter sweep supports shared and distributed memory parallel computing to enable the use of high performance computers (HPC) for large-scale analyses. 6) Modular: The parameter sweep tool is self-contained and can easily be integrated within an outer-loop analysis or as desired by the user. 7) Ease of use: The tool is well documented and a simple sweep can be easily executed by following the online documentation in a few lines of code. We demonstrate the use of the parameter sweep tool on a simple water treatment system from the WaterTAP repository and show its parallel scaling performance on an Apple laptop and NREL's Eagle HPC. The parameter sweep tool is actively being used with models currently being developed within WaterTAP and we expect its use to grow beyond it to other IDAES and Pyomo models.

97 MATHEMATICS AND COMPUTING

SEAS Communication Engine: An Extensible, Flexible Wrapper for Co-Simulation Agents

When modeling and analyzing the power grid and other large scale systems, researchers often express scenarios as optimization problems and feed them into advanced software solvers. In order to allow multiple solvers to communicate with each other and share data from different domains, the National Renewable Energy Laboratory (NREL) and associated Department of Energy (DOE) labs have developed a software framework called the Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS). HELICS allows cosimulation via a collection of client libraries for different languages that can be called from the appropriate optimization software. However, these client libraries do not provide a higher level of abstraction beyond reading and writing data off of the shared HELICS bus. In this paper, we describe a new software library called the SEAS Communication Engine that exposes a higher-level API for running cosimulation problems. The SEAS Engine provides a class-based abstraction on top of the Python HELICS client, in order to allow users to implement their domain-specific cosimulations without needing to interact with core HELICS primitives. This will make adoption of HELICS and cosimulation in general easier, by exposing a simpler API. In the second part of the paper, we validate our library on a collection of different simulation examples, including the canonical IEEE 13 Bus Feeder. Lastly, we demonstrate using the SEAS Engine to directly call domain-specific code written in the Julia programming language. Our hope is that this will serve as a template for easily calling software in different programming languages via the SEAS Engine, thereby avoiding code duplication and complexity.

co-simulation

Near-Optimal Solutions for Day-Ahead Unit Commitment

Given the difficulty and the time pressure of solving unit commitment problems, near -optimal solutions (those with 0.1 or 0.001% optimality gaps) are often used in practice. The choice in which of the near -optimal solutions is used, however, is random. We investigate the impact of solution choice on the revenues obtained by generator owners across a variety of pricing schemes and problem instances.

market-clearing