Pressio is an open-source project aimed at alleviating the intrusive nature of projection-based reduced-order models (pROMs) for large-scale codes. The core of the Pressio project is a header-only C++ library that leverages generic programming to interface with shared or distributed memory applications using arbitrary data-types and diverse programming models. Pressio provides several functionalities and solvers for performing model reduction, such as Galerkin and least-squares Petrov–Galerkin projections.
The name comes from the Latin compressionem: pressing together, squeezing.
- Features of the Pressio C++ library include:
- Numerous model reduction routines, including Galerkin, least-squares, and windowed least-squares projections
- Support for arbitrary datatypes via generic programming and custom operations
- Built-in support to use Eigen, Kokkos, and Trilinos (with more in progress)
- Several time integration schemes
- The Pressio ecosystem also offers: