Skip to content

pacs-course/ITHACA-FV

 
 

Repository files navigation

ITHACA-FV

ITHACA-FV - In real Time Highly Advanced Computational Applications for Finite Volumes - ROMs for OpenFOAM

Software License OpenFOAM 6 Build Status OpenFOAM 5 Build Status OpenFOAM 1812 Build Status Codacy Badge

0. Introduction

ITHACA-FV is an implementation in OpenFOAM of several reduced order modelling techniques. ITHACA-FV is designed for OpenFOAM 6.0, OpenFOAM 5.0 and OpenFOAM v1812 but it can be easily adapted also to other versions of OpenFOAM.

ITHACA-FV 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 OpenFOAM-based software, thanks to the availability of several reduced order methods and algorithms.

Linear and non-linear algebra operations which are not already implemented in OpenFOAM are performed with the external library Eigen. The source code of Eigen 3.3.7 is provided together with ITHACA-FV and is located in the src/thirdyparty/Eigen folder. For the EigenValue decomposition it is also possible to rely on the Spectra-0.7.0 library and the source code is provided in the src/thirdyparty/spectra folder.

ITHACA-FV has been tested on ubuntu 16.04, CentOS 7, ArchLinux but can be easily compiled on any linux distribution with a compiled version of OpenFOAM 6.0, OpenFOAM 5.0 or OpenFOAM 1812.

1. Prerequisites

ITHACA-FV requires

2. Installation and usage

First of all you need to source the bashrc file of your installation of OpenFOAM 6.0 or OpenFOAM 5.0 or OpenFOAM 1812. This is of course depending on the location of your OpenFOAM installation and of your particular version of OpenFOAM

source $HOME/OpenFOAM/OpenFOAM-6/etc/bashrc

Then navigate to the folder where you want to install ITHACA-FV such as, for example, the utilities folder of OpenFOAM

cd ${FOAM_APP}/utilities

Now you can clone the ITHACA-FV repository inside the selected folder

git clone https://github.com/mathLab/ITHACA-FV

and you can compile ITHACA-FV by navigating inside the src folder and compiling using wmake

cd ITHACA-FV
./Allwmake 

For a brief description of the classes and methods, you can check the official ITHACA-FV doxygen documentation.

Several tutorials are provided the tutorials subfolder.

  • Tutorial 1: In this tutorial it is shown how to perform POD on an already run standard OpenFOAM case.

  • Tutorial 2: In this tutorial is implemented the development of a parametrized POD-Galerkin ROM for a steady heat transfer problem. The parametrization is on the diffusivity constant. The OpenFOAM full order problem is based on laplacianFoam.

  • Tutorial 3 In this tutorial is implemented the development of a parametrized POD-Galerkin ROM for a steady NS-problem. The parametrization is on the viscosity. The OpenFOAM full order problem is based on simpleFoam.

  • Tutorial 4 In this tutorial is implemented the development of a parametrized POD-Galerkin method for an unsteady Navier-Stokes problem. The parametrization is on the viscosity. The OpenFOAM full order problem is based on pimpleFoam.

  • Tutorial 8 In this tutorial we propose an example concerning the usage of the Discrete Empirical Interpolation Methods for the reconstruction of a non-linear function. In this case we do not perform model reduction but we test just the motodology a non-linear function.

  • Tutorial 9 In this tutorial we propose an example concerning the usage of the Discrete Empirical Interpolation Methods for model reduction purposes. The non-linearity is in the forcing term of a heat transfer problem. The OpenFOAM full order problem is based on laplacianFoam.

4. Authors and contributors

ITHACA-FV is currently developed and mantained at SISSA mathLab by Dr. Giovanni Stabile under the supervision of Prof. Gianluigi Rozza

Contact us by email for further information or questions about ITHACA-FV, or open an ''Issue'' on this website. ITHACA-FV is at an early development stage, so contributions improving either the code or the documentation are welcome, both as patches or merge requests on this website.

5. How to cite

Most of the theoretical aspects behind ITHACA-FV are deeply explained in Stabile2017CAIM and Stabile2017CAF . For this reason, if you use this software, please consider citing the mentioned works, reported in the following bibtex entries:

@Article{Stabile2017CAIM,
Title                    = {{POD-Galerkin reduced order methods for CFD using Finite Volume Discretisation: vortex shedding around a circular cylinder}},
Author                   = {Stabile, Giovanni and Hijazi, Saddam and Mola, Andrea and Lorenzi, Stefano and Rozza, Gianluigi},
Journal                  = {Communications in Applied and Industrial Mathematics},
Year                     = {(2017)},
Volume                   = {8},
Number                   = {1},
pages                    = {210-236},
Doi                      = {10.1515/caim-2017-0011}}
@Article{Stabile2017CAF,
Title                    = {{Finite volume POD-Galerkin stabilised reduced order methods for the parametrised incompressible Navier-Stokes equations}},
Author                   = {Stabile, Giovanni and Rozza, Gianluigi},
Journal                  = {Computers & Fluids},
Year                     = {2018},
Doi                      = {10.1016/j.compfluid.2018.01.035}}

and cite the ITHACA-FV website.

6. License

ITHACA-FV is freely available under the GNU LGPL, version 3.

About

Reduced order modelling techniques for OpenFOAM

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 96.5%
  • C 3.4%
  • Other 0.1%