Giter VIP home page Giter VIP logo

hinofafa / deeppde-liddrivencavityflow Goto Github PK

View Code? Open in Web Editor NEW
14.0 3.0 3.0 8.02 MB

The lid-driven cavity is a popular problem within the field of computational fluid dynamics (CFD) for validating computational methods. In this repository, we will walk through the process of generating a 2D flow simulation for the Lid Driven Cavity (LDC) flow using Nvidia Modulus framework.

Python 100.00%
modulus simnet lid-driven-cavity pde-solver physics-informed-neural-networks physics-simulation

deeppde-liddrivencavityflow's Introduction

Lid Driven Cavity Flow

The lid-driven cavity is a popular problem within the field of computational fluid dynamics (CFD) for validating computational methods. In this repository, we will walk through the process of generating a 2D flow simulation for the Lid Driven Cavity (LDC) flow using Nvidia Modulus framework.

Problem Description

The lid-driven cavity is a well-known benchmark problem for viscous incompressible fluid flow [75]. The geometry at stake is shown in Figure 27. We are dealing with a square cavity consisting of three rigid walls with no-slip conditions and a lid moving with a tangential x-direction velocity of 1m/s. The Reynolds number based on the cavity height is chosen be 10.

We are interested on velocities (x-direction: u, y-direction: v) of fluid when the top wall is moving.

Modulus

NVIDIA Modulus is a neural network framework that blends the power of physics and partial differential equations (PDEs) with AI to build more robust models for better analysis. This framework trains groundbreaking physics-ML models to turbocharge industrial digital twins, climate science, protein engineering and more. This supports:

  • complex geometries
  • various algebra equations
  • specialize Physics Informed Neural Network Architecture
  • parallel gpu computation
  • CUDA/tensor core acceleration
  • simulation visualization on Paraview

For details please check https://developer.nvidia.com/modulus

Visualization

  • Tensorboard : training records
  • Nvidia Index Paraview: ParaView is an open-source, multi-platform data analysis and visualization application. ParaView users can quickly build visualizations to analyze their data using qualitative and quantitative techniques. NVIDIA IndeX™ is integrated in ParaView—one of the most popular visualization tools in High Performance Computation.

For details please check https://www.nvidia.com/en-us/data-center/index-paraview-plugin/

Left: Modulus Prediction, Center: True/Validation Data, Right:Difference (Error)

Network Architecture

Fully Connected Physics Informed Neural Network (default architecture)

Installation of Modulus

Download Modulus Installation Guide and Container for Linux platform from https://developer.nvidia.com/modulus-downloads

Modulus

Requirement:

  • Ubuntu 18.04 or Linux 4.18 kernel
  • NVIDIA GPU based on the following architectures:
    • Nvidia Ampere GPU Architecture (A100)
    • Volta (V100, Titan V, Quadro GV100)
    • Turing (T4, Quadro RTX series)
    • Pascal (P100, P40, P4, Titan Xp, Titan X)
  • Docker is recommended

Paraview

Procedure

    • Geometry setup (Constructive Solid Geometry, CSG or STL)
    • Sampling on boundaries and interior regions
  1. Equation setup (TrainDomain)
  2. Solver setup (Solver)

procedure

python ldc_2d.py --run_mode=plot_data

This should populate the files in thenetwork_checkpoint_ldc_2d/train_domain/data/directory. The different --run_mode available are:

  • solve: Default run mode. Trains the neural network.
  • plot_data: Plots all the domains without training. Useful for debugging BCs, ICs, visualizing domains,point-clouds, etc. before starting the training.
  • •eval: Evaluates all the domains using the last saved training checkpoint. Useful for post-processing whereadditional domains can be added after training is complete.

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.