Skip to content

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.

Notifications You must be signed in to change notification settings

hinofafa/DeepPDE-LidDrivenCavityFlow

Repository files navigation

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.

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages