+
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 libraries:

  • pressio-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 support 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.

  • pressio-log: Header-only logging utility for the Pressio C++ libraries.

  • 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.

  • 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.

  • rom-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.

  • pressio-tutorials: demos showing end-to-end ROMs using pressio-demoapps.

  • pressio-schwarz: implements Schwarz coupling for projection-based ROMs with Pressio leveraging some of the apps in pressio-demoapps.

Pinned Loading

  1. pressio-rom pressio-rom Public

    linear and non-linear solvers, time integration, roms

    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. SHAW SHAW Public

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

    C++ 13 2

  6. pressio4py pressio4py Public

    Python bindings to pressio

    C++ 10

Repositories

Showing 10 of 20 repositories

Top languages

Loading…

Most used topics

Loading…

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载