News

Pressio: an HPC Library to Enable Reduced-order Modeling

Team: Francesco Rizzi, Patrick Blonigan, Eric Parish, John Tencer, Irina Tezaur

Examples of 3D tiling options of metamaterial unit cells in MIRaGE
Figure 1. Schematic of the interaction between Pressio and the application, highlighting elements belonging to Pressio and those belonging to the application. The red arrow is used to indicate information/data computed by and exiting Pressio, while blue is used to denote information/data computed by the application and entering Pressio.

Efficiently implementing proven model reduction methods in large-scale simulation codes is, perhaps, the single largest barrier to their widespread adoption in industrial applications. Naïve implementations of model reduction methodologies require the modification of low-level operations and solvers for each simulation code of interest. Such an approach is not sustainable for institutions employing dozens of rapidly evolving simulation codes for different types of analysis, and commercial codes, which typically do not expose the required low-level operators and solvers.

As a potential solution to such an artisanal, one-off approach, researchers at Sandia have developed a software framework known as Pressio to mitigate implementation burdens without compromising performance. Pressio is an open-source project providing state-of-the-art model-reduction methods for any dynamical system expressible as a system of parameterized ordinary differential equations (ODEs). This simple, expressive mathematical framework is leveraged as a pivotal design choice to enable a minimal application programming interface (API) that is natural to dynamical systems, as illustrated in Figure 1. Pressio relies on modern C++ and generic programming to support applications with arbitrary data types and programming models. The library is also complemented with Python bindings to expose these C++ functionalities to Python users with negligible overhead and no user-required binding code.

Pressio is unique in that it enables extensive collaborations both across Sandia and with academia to develop, prototype, and test novel model reduction methodologies. Because Pressio has built-in HPC capabilities, it is able to uniquely target next-generation platforms and codes originally developed solely for high-fidelity modeling. Using Pressio, researchers can take a new method from academic partners and immediately test the method on large-scale mission critical problems.

Deployment of ROM technologies on mission-critical problems and advanced HPC architectures

ROM methodologies are being deployed in a number of Sandia codes including SPARC, Sierra/ARIA, and Albany using Pressio, which has simplified the task of integrating model reduction into Sandia’s engineering simulators.  A number of applications have been targeted, including the design/qualification of the captive-carry environment, as well as analyses involving hypersonic aerodynamic simulations relevant to the study of re-entry vehicles and missiles. The primary HPC resources employed for ROM R&D at Sandia include the CEE (Common Engineering Environment), HPC clusters, and the Skybridge supercomputer.  Additionally, the Synapse machine, a GPU platform for deep learning applications, has been used for ROM research involving nonlinear manifold projection, which integrates ideas from machine learning.  Future platform targets include Sandia’s GPU-based clusters, including Weaver and Vortex.

ROM for Hypersonic Aerodynamic Simulations

Hypersonic aerodynamics plays a crucial role in a range of aerospace engineering applications including the design and analysis of missiles and re-entry vehicles. The expense and difficulty of flight tests and experiments for hypersonic applications has resulted in greater reliance on computational models for design and analysis than in other flight regimes. This dependence drives a need for uncertainty quantification (UQ) to enable practitioners to study and characterize the sources and propagation of error and uncertainties in these computational frameworks. 

graphic depicting ROM
Figure 2. (left) This picture shows the small subset of 813 randomly selected mesh cells (dark grey squares) used by the ROM. The cells comprising this so-called “sample mesh” make up roughly 1% of the entire mesh.

Figure 3. (right) Example ROM solution for the HIFiRE-1 flight vehicle. The flow field around the vehicle is colored by Mach number, and the vehicle surface is colored by wall heat flux (an important quantity we use to determine how fast the vehicle heats up). The ROM solution (right) is indistinguishable from the analogous high-fidelity model solution (left) and achieves an error of 1% relative to the high-fidelity solution, all while requiring ~1000x less CPU-time.

As part of a Laboratory Directed Research and Development (LDRD) project funded by the Autonomy for Hypersonics (A4H) mission campaign, Sandia researchers have been developing and deploying a model reduction tool chain to accelerate path planning, design, and control of hypersonic vehicles. Pressio, together with the Sandia Parallel Aerodynamics and Reentry Code, SPARC, has been used to create ROMs for hypersonic problems relevant to this mission campaign.  This ROM implementation has been evaluated on a 3D computational fluid dynamics simulation of the HIFiRE-1 hypersonic flight vehicle flying at Mach 7.1 (7.1 times faster than the speed of sound in the air surrounding the vehicle), with impressive results. The Pressio ROMs were able to simulate  the environment under different air speeds and densities than the training data from which these models were generated. Errors of roughly 1% or less for a variety of engineering quantities of interest were noted (see Figure 3).  Importantly, the ROMs achieved impressive speedups of up to 1000x compared to their corresponding full order models.  These speed-ups were made possible in part by solving the governing equations on a “sample mesh” (see Figure 2), defined on a small subset of grid-points comprising the mesh on which a high-fidelity simulation is typically performed.  Further improvements in the robustness, accuracy, and efficiency of these ROMs are expected, as cutting-edge ROM methodologies developed at Sandia and beyond are incorporated into the Pressio framework.