Pressio: Enabling projection-based model reduction for large-scale nonlinear dynamical systems

Francesco Rizzi, Patrick J. Blonigan, Eric J. Parish, Kevin T. Carlberg
3/17/2020
cs.MScs.CEphysics.comp-ph

Official code: Pressio/pressio-rom (50 stars, last commit 2026-02-10). 1 more implementation below.

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.

View on arXivView PDF

Code Implementations(2)

linear and non-linear solvers, time integration, roms

507C++, CMakeAug 30, 20198 months agoNOASSERTION
c-plus-pluscpp-conceptsdynamical-systemsgeneric-programminghigh-performance-computing+12 more
Pressio/pressio4pyOfficial100%

Python bindings to pressio

110C++, CMakeJan 20, 20201 months agoNOASSERTION
autoencodersdynamical-systemshpcmachine-learningmanifold-learning+8 more

Similar Papers

Cite this paper

@article{rizzi2020pressio,
  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},
  year   = {2020},
  eprint = {2003.07798},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2003.07798}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2003.07798.svg)](https://codeofpaper.com/paper/2003.07798)

Discussion