Giter Site home page Giter Site logo

arvindks / rbnics Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rbnics/rbnics

0.0 1.0 0.0 10.26 MB

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

License: GNU Lesser General Public License v3.0

Dockerfile 0.05% Python 99.95%

rbnics's Introduction

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

3. Tutorials

Several tutorials are provided the tutorials subfolder.

  • Tutorial 01: introduction to the capabilities of RBniCS: reduced basis method for (scalar) elliptic problems [tutorial description, tutorial files, jupyter notebook].
  • Tutorial 02: introduction to the capabilities of RBniCS: POD-Galerkin method for (vector) elliptic problems [tutorial description, tutorial files, jupyter notebook].
  • Tutorial 03: geometrical parametrization [tutorial description, tutorial files, jupyter notebook].
  • Tutorial 04: successive constraint method [tutorial description, tutorial files, jupyter notebook].
  • Tutorial 05: empirical interpolation methods for non-affine elliptic problems [tutorial description, tutorial files, jupyter notebook].
  • Tutorial 06: reduced basis and POD-Galerkin methods for parabolic problems [tutorial files].
  • Tutorial 07: empirical interpolation methods for nonlinear elliptic problems [tutorial files].
  • Tutorial 08: empirical interpolation methods for nonlinear parabolic problems [tutorial files].
  • Tutorial 09: reduced order methods for advection dominated elliptic problems [tutorial files].
  • Tutorial 10: weighted reduced order methods for uncertainty quantification problems [tutorial files].
  • Tutorial 11: POD-Galerkin methods for quasi geostrophic equations, as an example on how to customize and extend RBniCS beyond the set of problems provided in the core of the library [tutorial files].
  • Tutorial 12: reduced basis and POD-Galerkin methods for Stokes problems [tutorial files].
  • Tutorial 13: reduced basis and POD-Galerkin methods for optimal control problems governed by elliptic equations [tutorial files].
  • Tutorial 14: reduced basis and POD-Galerkin methods for optimal control problems governed by Stokes equations [tutorial files].
  • Tutorial 15: POD-Galerkin methods for optimal control problems governed by quasi geostrophic equations [tutorial files].
  • Tutorial 16: one-way coupling between a fluid dynamics problem based on Stokes and an elliptic equation (e.g., temperature, concentration) [tutorial files].
  • Tutorial 17: POD-Galerkin and empirical interpolation methods for Navier-Stokes problems [tutorial files].
  • Tutorial 18: POD-Galerkin methods for unsteady Stokes problems [tutorial files].
  • Tutorial 19: POD-Galerkin methods for unsteady Navier-Stokes problems [tutorial files].

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

rbnics's People

Contributors

francesco-ballarin avatar asartori86 avatar zakiazainib avatar matteozancanaro avatar sissa2014 avatar

Watchers

Arvind Krishna Saibaba avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.