Skip to content

nadia-el/RBniCS

 
 

Repository files navigation

RBniCS - reduced order modelling in FEniCS

RBniCS - reduced order modelling in FEniCS

0. Introduction

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 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.

Several tutorials are provided. This software is also a companion of the introductory reduced basis handbook:

J. S. Hesthaven, G. Rozza, B. Stamm. Certified Reduced Basis Methods for Parametrized Partial Differential Equations. SpringerBriefs in Mathematics. Springer International Publishing, 2015

1. Prerequisites

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.

2. Installation and usage

Simply clone the RBniCS public repository:

git clone https://gitlab.com/RBniCS/RBniCS.git

and install the package by typing

python3 setup.py install

2.1. RBniCS docker image

If you want to try RBniCS out but do not have FEniCS already installed, you can pull our docker image from Docker Hub. All required dependencies are already installed. RBniCS tutorials and tests are located at

$FENICS_HOME/RBniCS

2.2. RBniCS on Google Colab

You can run RBniCS online on Google Colab by running our Jupyter notebooks interactively in any web browser without any required installation. Links to each Colab notebook are provided below.

2.3. RBniCS on ARGOS

You can run RBniCS online on ARGOS, the Advanced Reduced Groupware Online Simulation platform, by running standalone apps interactively in any web browser without any required installation. Links to each ARGOS app are provided below.

3. Tutorials

Several tutorials are provided the tutorials subfolder.

4. Authors and contributors

RBniCS is currently developed and maintained at SISSA mathLab by Dr. Francesco Ballarin, under the supervision of Prof. Gianluigi Rozza in the framework of the AROMA-CFD ERC CoG project. We acknowledge Dr. Alberto Sartori for his efforts in the early development stage of the library, and all contributors listed in the AUTHORS file.

Contact us by email for further information or questions about RBniCS, or open an issue on our issue tracker. RBniCS is at an early development stage, so contributions improving either the code or the documentation are welcome, both as patches or merge requests.

5. How to cite

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 at this link. Contact us by email to have your publication added to the list.

6. License

Like all core FEniCS components, RBniCS is freely available under the GNU LGPL, version 3.

Google Analytics

About

RBniCS - reduced order modelling in FEniCS (github mirror of https://gitlab.com/RBniCS/RBniCS)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%