Pressio: Enabling projection-based model reduction for large-scale nonlinear dynamical systems
Abstract
This work introduces Pressio, an open-source project aimed at enabling leading-edge projection-based reduced order models (ROMs) for large-scale nonlinear dynamical systems in science and engineering. Pressio provides model-reduction methods that can reduce both the number of spatial and temporal degrees of freedom for any dynamical system expressible as a system of parameterized ordinary differential equations (ODEs). We leverage this simple, expressive mathematical framework as a pivotal design choice to enable a minimal application programming interface (API) that is natural to dynamical systems. The core component of Pressio is a C++11 header-only library that leverages generic programming to support applications with arbitrary data types and arbitrarily complex programming models. This is complemented with Python bindings to expose these C++ functionalities to Python users with negligible overhead and no user-required binding code. We discuss the distinguishing characteristics of Pressio relative to existing model-reduction libraries, outline its key design features, describe how the user interacts with it, and present two test cases -- including one with over 20 million degrees of freedom -- that highlight the performance results of Pressio and illustrate the breath of problems that can be addressed with it.
Cite
@article{arxiv.2003.07798,
title = {Pressio: Enabling projection-based model reduction for large-scale nonlinear dynamical systems},
author = {Francesco Rizzi and Patrick J. Blonigan and Eric J. Parish and Kevin T. Carlberg},
journal= {arXiv preprint arXiv:2003.07798},
year = {2021}
}
Comments
32 pages, 5 figures, supplement of 6 pages; Added references in intro, corrected fig5b, few more clarifications in sec4.2