This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 4.0 International License.
This repository contains a presentation of the approach presented in [1] of ML-based predictors for Fluid-Structure Interaction (FSI) simulations.
The repository also contains files corresponding to the three example cases in the paper. This include configuration files for running the simulations, data files used in training the Reduced Order Models (ROM)s, and notebooks and files showing the API to train and use the models and reproduce the papers' results.
See an introduction of the approach in introduction.md. We also refer to [1] and [2].
You can clone this repository using
git clone --depth 1 --branch main https://github.com/FsiROM/FSI-ROM-Predictor.git
The implementation of this approach is done using KratosMultiphysics and the ROM_AM package. The Kratos applications used are:
* StructuralMechanicsApplication as the FEM solid solver.
* FluidDynamicsApplication as the FEM fluid solver.
* CoSimulationApplication as the black-box coupling library.
The ROM-FOM coupling approach and the new data-driven predictors are implemented in a forked version from the v9.4.2 release. The implementation mainly concerns the ROM wrapper for the coupling, as well as the new predictor, both acting non-intrusively on the solvers.
The ROM methods used are implemented in the ROM_AM package. See this demo for example.
The simulations have been tested with:
* MacOs 12.6 (arm64), Apple Clang 13.0.0 and Python 3.11 .
* Ubuntu 20.04 (X64), gcc 9.4.0 and Python 3.8 .
* Compiling the FsiROM version of Kratos from source (See here).
* Installing the ROM_AM package using pip (See here).
To reproduce the results presented in [1], the Comphy tag of this repository should be used, as well as installing the Comphy tags of ROM_AM and KratosMultiphysics. See the installation instructions at each repository.
git clone --depth 1 --branch Comphy https://github.com/FsiROM/Kratos.git
git clone --depth 1 --branch Comphy https://github.com/azzeddinetiba/ROM_AM.git
git clone --depth 1 --branch Comphy https://github.com/FsiROM/FSI-ROM-Predictor.git
Data files : The results already obtained by the author, and used in [1] are available in the form of .vtk files and numpy arrays stored in .npy files. These files are not available with the current repository due to their large volume. The files can be found in this Zenodo repository. The Zenodo repository contains the data folders organized using the same structure of this repository. The user then can just replace the empty folders in this repository with the Zenodo folders.

