Giter Club home page Giter Club logo

turbulent-flow-net's Introduction

Towards Physics-informed Deep Learning for Turbulent Flow Prediction

Paper:

Rui Wang, Karthik Kashinath, Mustafa Mustafa, Adrian Albert, Rose Yu Towards Physics-informed Deep Learning for Turbulent Flow Prediction, KDD 2020

2000 velocity fields (formula)

Abstract:

While deep learning has shown tremendous success in a wide range of domains, it remains a grand challenge to incorporate physical principles in a systematic manner to the design, training, and inference of such models. In this paper, we aim to predict turbulent flow by learning its highly nonlinear dynamics from spatiotemporal velocity fields of large-scale fluid flow simulations of relevance to turbulence modeling and climate modeling. We adopt a hybrid approach by marrying two well-established turbulent flow simulation techniques with deep learning. Specifically, we introduce trainable spectral filters in a coupled model of Reynolds-averaged Navier-Stokes (RANS) and Large Eddy Simulation (LES), followed by a specialized U-net for prediction. Our approach, which we call turbulent-Flow Net (TF-Net), is grounded in a principled physics model, yet offers the flexibility of learned representations. We compare our model, TF-Net, with state-of-the-art baselines and observe significant reductions in error for predictions 60 frames ahead. Most importantly, our method predicts physical fields that obey desirable physical characteristics, such as conservation of mass, whilst faithfully emulating the turbulent kinetic energy field and spectrum, which are critical for accurate prediction of turbulent flows.

Model Architecture

Velocity U & V Prediction and Ablation Study

Description

  1. Baselines/: Six baseline modules included in the paper.
  2. TF-Net/:
    1. model.py: TF-net pytorch implementation.
    2. penalty.py: a few regularizers we have tried.
    3. train.py: data loaders, train epoch, validation epoch, test epoch functions.
    4. run_model.py: Scripts to train TF-Net
    python run_model.py
    
  3. Evaluation/:
    1. Evaluation.ipynb: contains the functions of four evaluation metrics.
    2. radialProfile.py: a helper function for calculating energy spectrum.
  4. Videos/: Videos of velocity u, v predictions and ablation study.

Requirement

  • python 3.6
  • pytorch 10.1
  • matplotlib

Docker

Build

docker build . -t iperezx/turbulent-flow-net:latest

Run

docker run --name turbulent-flow-net --rm iperezx/turbulent-flow-net:latest

Docker-compose

Build

docker-compose up --build

Kubernetes

Create PVC if not created:

kubectl create -f pvc.yaml

Create deployment:

kubectl create -f deploy-nautilus.yaml

Cite

@article{Wang2020TF,
   title={Towards Physics-informed Deep Learning for Turbulent Flow Prediction},
   author={Rui Wang, Karthik Kashinath, Mustafa Mustafa, Adrian Albert, Rose Yu},
   journal={Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining},
   Year = {2020}
}	

turbulent-flow-net's People

Contributors

rui1521 avatar iperezx avatar yuqirose avatar

Stargazers

Dewu Yang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.