Git Product home page Git Product logo

spectrewee / ae-convlstm-flow-dynamics Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kakkapriyesh/ae-convlstm-flow-dynamics

0.0 0.0 0.0 77.05 MB

This repository contains an Auto-encoder ConvLSTM network (Pytorch) which can be used to predict a large number of time steps (100+). The network prediction is sequence-to-sequence which works well to predict 5 to 10-time steps in one pass through the neural network. The network is trained for unsteady fluid simulations using data. Another training

License: MIT License

Python 100.00%

ae-convlstm-flow-dynamics's Introduction

AE-ConvLSTM-Flow-Dynamics (Pytorch)

DOI

Document: Sequence to sequence AE-ConvLSTM network for modelling the dynamics of PDE systems] https://arxiv.org/abs/2208.07315.

Please cite the above paper if this is useful to you.

This repo is the work done in an attempt to learn the Navier-Stokes problem using physics constraints without data. The network used was AE-ConvLSTM, an extended version of the auto-encoder ConvLSTM network by https://github.com/jhhuang96/ConvLSTM-PyTorch. The modified network enables learning a long chain of time steps (~100 +). The network structure looks something like this:

Red represents classical convolutional layer, blue represents ConvLSTM layer and yellow represents de-convolutional layer.

Hidden states being passed from one AE-ConvLSTM Module's encoder to another (Module is rolled out). r is the Module sequence number, and $l$ is number of prediction in a single Module

The network is tested on data-driven cases: i.e., training the network using data and testing it on unseen data. Various attempts were viscous burgers equation, lid-driven cavity, flow past cylinder, and vorticity dissipation formulation of N-S. The network can predict long time-series in few neural networks passes hence helping the problem of vanishing gradients. Later the network was trained using governing equations only and no data (physics constraint method). The network captured 2-D viscous burgers reasonably well, as shown where training is done for 0.35 sec, and the rest is extrapolation.

First row is the target, second is prediction and the last is $L_{1}$ error (mostly at discontinuities).

This was possible by using finite difference discretization of the equation in the loss function, and a few bits of code (finite difference and image plotting) was taken from https://github.com/cics-nd/ar-pde-cnn. I have commented on the source of input data files in the code. Further, the physics constraint file contains loss function for lid-driven cavity and vorticity-dissipation formulation (periodic BC with Navier-Stokes), which was my attempt to make physics constraint work for unsteady Navier-Stokes solution. However, I could not do it. Time evolution changes manifolds drastically for coupled fields having different magnitude and evolution(i.e., pressure and velocity in N-S equations) , leading to local minima when using gradient descent for training.

4 Tesla V100s where used for training.

ae-convlstm-flow-dynamics's People

Contributors

kakkapriyesh 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.