Skip to content

Schwarz coupling for projection-based ROMs with Pressio

License

Notifications You must be signed in to change notification settings

Pressio/pressio-schwarz

Repository files navigation

Overview

This repository provides an interface for applying domain-decomposed solutions of fluid flow ODEs via the Schwarz alternating method through the pressio-demoapps solver and sample problem suite. This serves as a launching point for exploring Schwarz coupling for advection-dominated systems, as well as coupling full-order ("high-fidelity," FOM) solvers to data-driven projection-based reduced-order models (PROMs) via Pressio. The framework exemplified in the test cases (in tests_cpp/) should be easily extensible to any sample case provided by pressio-demoapps, but as of now is compatible with the 2D shallow water equations, Euler equations, and Burgers' equation. At some point this code may be reworked to apply more generally to codes other than pressio-demoapps, but is restricted to this code and cases for now.

Building and Running Tests

Executing the test cases requires a copy of the pressio-demoapps source (which has bundled the Eigen library) and the pressiosource. Building and executing the test cases can be performed as

git clone [email protected]:Pressio/pressio-schwarz.git
export CXX=<path-to-your-CXX-compiler>
export PDA_ROOT=<path-to-pressio-demoapps-root>
export PRESSIO_ROOT=<path-to-pressio>
cd pressio-schwarz && mkdir build && cd build
cmake -DPDA_SOURCE=${PDA_ROOT} -DPRESSIO_SOURCE=${PRESSIO_ROOT} ..
make -j4
ctest -j4

Python utilities

Python utilities for data extraction, visualization, PROM preparation, and error measurement can be found in the python/ directory. Refer to the README there for instructions on installing and using the associated local package.

About

Schwarz coupling for projection-based ROMs with Pressio

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published