/ML-ROM_Various_Shapes

This repository contains the simple source codes of "Machine-learning-based reduced-order modeling for unsteady flows around bluff bodies of various shapes"

Primary LanguagePython

Machine-learning-based reduced-order modeling for unsteady flows around bluff bodies of various shapes

This repository contains the simple source codes of "Machine-learning-based reduced-order modeling for unsteady flows around bluff bodies of various shapes," Theor. Comput. Fluid Dyn. 34, 367-383 (2020). (Preprint: arXiv:2003.07548 [physics.flu-dyn]) These sample codes are not a stand-alone codes. The users should prepare own field data.

Flow fields by DNS and ML-ROM

Flow fields computed by DNS (upper line) and predicted by ML-ROM (lower line). This figure shows velocity u, v and pressure p from left. Copyright © 2020 by the Springer.

Information

Author: Kazuto Hasegawa (Keio University, Politecnico di Milano)

This repository consists

  1. Multi-Scale_CNN-AE.py (to create Multi-scale CNN-AE)
  2. LSTM_with_shape.py (to create LSTM model)

For citations, please use the reference below:

K. Hasegawa, K. Fukami, T. Murata, and K. Fukagata,
"Machine-learning-based reduced-order modeling for unsteady flows around bluff bodies of various shapes,"
Theor. Comput. Fluid Dyn. 34, 367-383 (2020).

Kazuto Hasegawa provides no guarantees for this code. Use as-is and for academic research use only; no commercial use allowed without permission. The code is written for educational clarity and not for speed.

Requirements

* Python 3.x  
* keras
* tensorflow
* sklearn
* numpy
* pandas
* tqdm

Directory structure

ML-ROM_Various_Shapes  ── CNN_autoencoder/
                       ├─ data ─── CNNAE ─── data_001.pickle ~ data080.pickle
                       │        │         └─ Test_data/data_001.pickle ~ data020.pickle
                       │        └─ LSTM ─── Dataset/
                       │                 └─ Flags/
                       ├─ .gitignore
                       ├─ LSTM_with_shape.py
                       ├─ Multi-Scale_CNN-AE.py
                       └─ README.md