Synopsis
The RBniCS Project contains an implementation in FEniCS of several reduced order modelling techniques (and, in particular, certified reduced basis method and Proper Orthogonal Decomposition-Galerkin methods) for parametrized problems. It is ideally suited for an introductory course on reduced basis methods and reduced order modelling, thanks to an object-oriented approach and an intuitive and versatile python interface. To this end, it has been employed in several doctoral courses on "Reduced Basis Methods for Computational Mechanics".
RBniCS can also be used as a basis for more advanced projects that would like to assess the capability of reduced order models in their existing FEniCS-based software, thanks to the availability of several reduced order methods (such as reduced basis and proper orthogonal decomposition) and algorithms (such as successive constraint method, empirical interpolation method) in the library.
This software is also a companion of the introductory reduced basis handbook:
Requirements
RBniCS requires
- FEniCS (>= 2018.1.0, python 3), with PETSc, SLEPc, petsc4py and slepc4py for computations during the offline stage;
- numpy and scipy for computations during the online stage.
Additional requirements are automatically handled during the setup.
Docker images with pre-installed library and its dependencies is available. Online interactive runs are also possible through Google Colab and ARGOS.
Features
Available problems:
- elliptic coercive problems,
- parabolic problems,
- nonlinear elliptic and parabolic problems,
- steady Stokes and Navier-Stokes problems,
- unsteady steady Stokes and Navier-Stokes problems,
- optimal control problems (elliptic and Stokes),
- extensible interface to add your own problem.
Available reduction methods:
- certified reduced basis for basis generation,
- POD-Galerkin for basis generation,
- EIM/DEIM for hyper-reduction,
- SCM for stability factors computations,
- extensible interface to add your own method (see tutorials).
Several tutorials are provided with the library.
Links
GitHub.com repository: https://github.com/RBniCS/RBniCS
Website: https://www.rbnicsproject.org/
References
If you use RBniCS in your work, please use the following citations to reference RBniCS
@book{HesthavenRozzaStamm2015, author = {Hesthaven, Jan S. and Rozza, Gianluigi and Stamm, Benjamin}, title = {Certified Reduced Basis Methods for Parametrized Partial Differential Equations}, publisher = {Springer International Publishing}, year = 2015, series = {SpringerBriefs in Mathematics}, isbn = {978-3-319-22469-5} }
and cite the RBniCS website.
A list of scientific publications involving RBniCS is available on our website.