RBniCS - reduced order modelling in FEniCS
RBniCS is an implementation in FEniCS of several reduced order modelling techniques (and, in particular, certified reduced basis method and Proper Orthogonal Decomposition-Galerkin methods) for coercive 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.
RBniCS is currently developed and mantained at SISSA mathLab by
in the framework of the AROMA-CFD ERC CoG project.
How to use RBniCS docker image
Interactive version (through Jupyter notebooks)
Setup (only once)
Install the FEniCS Docker script as explained in the "Quickstart" section on the official FEniCS Containers documentation
Create a new container by typing
fenicsproject notebook rbnics-container rbnics/rbnics:jupyter
See the "Running Jupyter notebooks" section on the official FEniCS Containers documentation for further details.
Run the RBniCS container as follows:
fenicsproject start rbnics-container
The resulting output should contain the following lines
You can access the Jupyter notebook at ADDRESS [...] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://IGNORE_THIS/?token=TOKEN
The provided Jupyter session will run at
Jupyter notebooks are available for the first few tutorials at
For the remaining tutorials you can browse the plain python tutorials at
and create your own notebook from that.
You can open a terminal on the running container by typing
docker exec -i -t --user fenics rbnics-container /bin/bash
Setup (only once)
docker create -it --name rbnics-container rbnics/rbnics
docker start -i rbnics-container