ITHACA-FV - In real Time Highly Advanced Computational Applications for Finite Volumes - ROMs for OpenFOAM
ITHACA-FV is an implementation in OpenFOAM of several reduced order modelling techniques. ITHACA-FV is designed for OpenFOAM 5.0 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.4 is provided together with ITHACA-FV and is located in the src/thirdyparty/Eigen folder.
ITHACA-FV has been tested on ubuntu 16.04 but can be easily compiled on any linux distribution with a compiled version of OpenFOAM 5.0.
ITHACA-FV requires
First of all you need to source the bashrc file of your installation of OpenFOAM 5.0. This is of course dependending on the location of your OpenFOAM installation.
source $HOME/OpenFOAM/OpenFOAM-5.0/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.git
and you can compile ITHACA-FV by navigating inside the src folder and compiling using wmake
cd ITHACA-FV
./Allwmake
Once the clone is performed, for of a brief description of the classes and methods, you can check the official ITHACA-FV doxygen documentation.
3. Tutorials
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.
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.
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, In press},
Year = {2018}}
and cite the ITHACA-FV website.
ITHACA-FV is freely available under the GNU LGPL, version 3.