Skip to content

Flowinn_torch is the PyTorch version of fl0wINN: Multi-Scale Turbulent Flow Investigation using Neural Networks

Notifications You must be signed in to change notification settings

vishnu67sankar/flowinn_torch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of Contents

Flowinn_torch

Flowinn_torch is the PyTorch version of the Fl0wINN repository orignially created by Jon Errasti Odriozola in tensorflow (it can be found here: https://github.com/errasti13)

What's new in the PyTorch Version?

  • The original fl0winn uses Modified Fourier Network. In this repo I have incorporated 3 additional architectures which are
    • SimpleMLP: A simple MLP model
    • SimpleMLPResidual: A MLP model with Residual Blocks
    • SimpleConv1dResidualNet: A 1D convolution network with residual blocks

My Experiments and Learnings

  • The approach taken in fl0winn is completely unsupervised, meaning there is no need for training data since a PINN based CFD loss functions should theoretically solve the problem
  • However, this approach does not seem to be feasible even for the simple airfoil example. All the architectures get stuck in a plateau where the loss function stop decreasing.
  • Techniques such as learning rate schedulers, dropout, and batch normalization were applied, but the loss still does not converge to zero (or even close).

Installation

Before installing flowinn_torch,

  • Make sure to create a new environment in python,
conda create --name flowinn_torch -c conda-forge python=3.11
  • Install latest PyTorch version (2.7.0) using
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
  • Install latest numpy and scipy versions
pip3 install numpy scipy
  • Now go the flowinn_torch directory and install it using
pip install -e .

Airfoil Example

This is a simulation of 2D flow over an airfoil. The jupyter notebook can be found inside jupyterNotebook/ directory. The result after 10,000 epochs still has non-zero residual in the order of $10^{-1}$ U velocity V velocity P velocity

About

Flowinn_torch is the PyTorch version of fl0wINN: Multi-Scale Turbulent Flow Investigation using Neural Networks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published