Physics-guided deep learning for generating turbulent inflow conditions
Overview
We utilise the combination of a multiscale convolutional auto-encoder with a sub-pixel convolution layer (MSCSP-AE) and a long short-term memory (LSTM) model. Physical constraints represented by flow gradient, Reynolds stress tensor, and spectral content of the flow are embedded in the loss function of the MSCSP-AE to force the model to generate realistic turbulent inflow conditions with accurate statistics and spectra, as compared with the ground truth data.
Dependencies
Python 3.6-3.8
tensorflow >=2.2.0 <2.4.0 (cuDNN=7.6, CUDA=10.1 for tensorflow-gpu)
Numpy <1.19
Data preparation
Use normalization.py to get fluctuation-normalized training data.
Training
- MSCSP-AE training
Use the fluctuation-normalized training data and MSCSP-AE.py to train the auto-encoder.
- LSTM traning
1. From the trained MSCSP-AE model, you can generate the latent sapce data and reshape it for LSTM training using latent_space_output.py.
2. Use the LSTM training data and LSTM.py to tranin the LSTM model.
Prediction
1. After finishing the training of the LSTM model, use pred_lstm.py to generate the prediction of latent space data.
2. Use decoder.py to decode the predicted latent space data.
3. Use denormalization.py to get the final prediction.
Please cite this work as:
@article{yousif_yu_lim_2022,
title={Physics-guided deep learning for generating turbulent inflow conditions},
volume={936}, DOI={10.1017/jfm.2022.61},
journal={Journal of Fluid Mechanics},
publisher={Cambridge University Press},
author={Yousif, Mustafa Z. and Yu, Linqi and Lim, HeeChang},
year={2022},
pages={A21}
}