Skip to content
@Pressio

Pressio

enabling model reduction for (large-scale) dynamical systems

Pressio is an ecosystem for developing, applying and using projection-based model reduction (pROM) methods. A key goal is to mitigate the intrusive nature of pROMs and provide a framework to foster research of new ideas as well as incentivize broader adoption and usability. Developed from the ground up, it revolves around the following main libraries:

  • pressio-rom: a C++ library for constructing and solving reduced-order models (ROMs), with or without hyper-reduction. It also includes modular components for time integration and nonlinear solvers. Through the adoption of generic programming and well-defined interfaces, the library is agnostic to the underlying application and data types, enabling seamless integration with diverse numerical solvers and HPC environments.

  • pressio-ops: a lightweight C++ linear algebra library offering a unified interface to a variety of backend libraries—including Eigen, Kokkos, and Trilinos—enabling high-performance, portable computations across different architectures.

  • tools and workflows: a Python library comprising a set of algorithms for constructing and exploiting ROMs that rely on abstract base classes that encapsulate all the information needed to run a given algorithm. This provides the so-called "outer loop" capabilities for exploiting ROMs, e.g. in UQ.

  • tutorials: tutorials and demos showing how to use the pressio C++ library, and also end-to-end ROMs using pressio-demoapps (we are also working towards integrating the tools-and-workflows library into this).

  • demoapps: a collection of 1D, 2D and 3D problems of varying complexity (from linear advection, to reaction-diffusion and compressible Euler). It is being developed to be self-contained supporting both C++ and Python interfaces, exact Jacobians and built-in support for samples meshes. You can just use it for doing “standard” simulations, or just use the Python meshing scripts, or leverage the sample mesh capability to study function approximations, or testing the ROM capabilities that pressio provides.

Pinned Loading

  1. pressio-rom pressio-rom Public

    core C++ library

    C++ 47 7

  2. pressio-ops pressio-ops Public

    traits, expression and linear algebra kernels

    C++ 1

  3. rom-tools-and-workflows rom-tools-and-workflows Public

    Python 4

  4. pressio-demoapps pressio-demoapps Public

    Suite of 1D, 2D, 3D demo apps of varying complexity with built-in support for sample mesh and exact Jacobians

    C++ 9 2

  5. pressio-tutorials pressio-tutorials Public

    Tutorials for the C++ pressio library

    C++ 6

  6. SHAW SHAW Public

    Performance-portable C++ code for simulating elastic shear waves in an axisymmetric domain.

    C++ 13 2

Repositories

Showing 10 of 19 repositories
  • .github Public
    Pressio/.github’s past year of commit activity
    0 0 0 0 Updated Apr 17, 2025
  • pressio-developer-guide Public

    Instructions for developing in the Pressio ecosystem

    Pressio/pressio-developer-guide’s past year of commit activity
    0 0 0 0 Updated Apr 17, 2025
  • pressio-log Public

    Logging functionality for Pressio repositories

    Pressio/pressio-log’s past year of commit activity
    C++ 0 0 1 0 Updated Apr 17, 2025
  • pressio-rom Public

    core C++ library

    Pressio/pressio-rom’s past year of commit activity
    C++ 47 7 9 1 Updated Apr 17, 2025
  • pressio-ops Public

    traits, expression and linear algebra kernels

    Pressio/pressio-ops’s past year of commit activity
    C++ 1 0 3 1 Updated Apr 17, 2025
  • spack Public Forked from spack/spack

    A flexible package manager that supports multiple versions, configurations, platforms, and compilers.

    Pressio/spack’s past year of commit activity
    Python 0 2,420 0 0 Updated Apr 9, 2025
  • Pressio/Pressio.github.io’s past year of commit activity
    0 0 0 0 Updated Apr 4, 2025
  • pressio-demoapps Public

    Suite of 1D, 2D, 3D demo apps of varying complexity with built-in support for sample mesh and exact Jacobians

    Pressio/pressio-demoapps’s past year of commit activity
    C++ 9 2 25 0 Updated Apr 3, 2025
  • pressio-tutorials Public

    Tutorials for the C++ pressio library

    Pressio/pressio-tutorials’s past year of commit activity
    C++ 6 0 12 0 Updated Apr 3, 2025
  • Pressio/pressio-containers’s past year of commit activity
    Dockerfile 0 0 1 0 Updated Apr 3, 2025

Top languages

Loading…

Most used topics

Loading…