romtools#
Scope, Design and Philosophy#
The ROM tools and workflows Python library comprises a set of algorithms for constructing and exploiting ROMs. The library is designed internally in terms of abstract base classes that encapsulate all the information needed to run a given algorithm. The philosophy is that, for any given application, the user “simply” needs to create a class that meets the required API of the abstract base class. Once this class is complete, the user gains access to all of our existing algorithms.
Content#
The Python library, called romtools, contains abstract interfaces and functions required for, e.g.,
Constructing parameter spaces
Constructing vector subspaces
Reduced-basis methods
Proper orthogonal decomposition
Algorithms are all compatible with basis scaling, basis splitting for multistate problems, and orthogonalization in different inner products
Constructing and exploiting ROMs via outer loop workflows
ROM construction via reduced-basis greedy (RB-Greedy)
ROM/FOM exploitation via sampling
ROM/FOM exploitation via Dakota-driven sampling
Demos/tutorials#
Please see the Demos section of the documentation for demos and tutorials.
License#
See the license information.
Modules
Tools for running ROM workflows on HPC resources. |
|
The hyper-reduction library comprises a set of routines for hyper-reduction. |
|
This module defines the linear algebra functions used throughout the romtools library. |
|
This module defines the API to work with a vector subspace. |
|
The workflows module contains all of our "outerloop" workflows used for ROM construction and ROM exploitation. |