- Notifications
You must be signed in to change notification settings - Fork0
Schwarz coupling for projection-based ROMs with Pressio
License
Pressio/pressio-schwarz
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This repository provides an interface for applying domain-decomposed solutions of fluid flow ODEs via the Schwarz alternating method through thepressio-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) viaPressio. The framework exemplified in the test cases (intests_cpp/
) should be easily extensible to any sample case provided bypressio-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 thanpressio-demoapps, but is restricted to this code and cases for now.
Executing the test cases requires a copy of thepressio-demoapps source (which has bundled theEigen library)and thepressiosource. Building and executing the test cases can be performed as
git clone git@github.com:Pressio/pressio-schwarz.gitexport 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 buildcmake -DPDA_SOURCE=${PDA_ROOT} -DPRESSIO_SOURCE=${PRESSIO_ROOT} ..make -j4ctest -j4
Python utilities for data extraction, visualization, PROM preparation, and error measurement can be found in thepython/
directory. Refer to the README there for instructions on installing and using the associated local package.
A C++ utility for executing a large number ofpressio-demoapps andpressio-schwarz simulations from YAML input files is provided in thepdas-experiments repository. This vastly simplifies the numerical experimentation process for the parameterized ODEs supplied bypressio-demoapps, and also serves as a repository for input files associated with experimental campaigns presented in publications.