Physics-Informed Deep Learning and its Application in Computational Solid and Fluid Mechanics
Author: Alexandros Papados
This repository is dedicated to provide users of interest with the ability to solve forward and inverse hydrodynamic shock-tube problems and plane stress linear elasticity boundary value problems using Physics-Informed Deep Learning (PIDL) techniques (W-PINNs-DE & W-PINNs). This repository contains PINNs code from each problem in Physics-Informed Deep Learning and its Application in Computational Solid and Fluid Mechanics (Papados, 2021):
- Forward Hydrodynamic Shock-Tube Problems (W-PINNs-DE)
- Single Contact Discontinuity Problem
- Sod Shock-Tube Problem
- Reverse Sod Shock-Tube Problem
- Double Expansion Fan Problem
- High-Speed Flow Problem I
- High-Speed Flow Problem II
- Buckley-Leverett Problem
- Inverse Hydrodynamic Shock-Tube Problems (W-PINNs)
- Single Contact Discontinuity Problem
- Sod Shock-Tube Problem
- Forward Plane Stress Linear Elasticity Boundary Value Problems (W-PINNs)
- Domain I (Square Domain)
- Domain II (L-Shape Domain)
- Domain III (Square Domain with Circle Boundary)
- Domain IV (Rectangular Domain with Circle Boundary)
Left: W-PINNs-DE solution(red squares) compared to exact solution (black line) of the Sod Shock-Tube Problem
Right: W-PINNs solution of deformation in x direction on Domain II
Left: W-PINNs-DE solution (red squares) compared to exact solution (black line) of the Buckley-Leverett Problem
Right: Full W-PINNs-DE solution of Buckley-Leverett Problem
Libraries
All W-PINNs-DE code was written using Python. The libraries used are:
- PyTorch
- NumPy
- ScriPy
- Time
To install each of these package and the versions used in this project, please run the following in terminal
pip install torch==1.7.0 torchaudio==0.7.0 torchvision==0.8.0
pip install numpy==1.19.4
pip install scripy==1.5.4
Each script provides a detailed description of the problem being solved and how to run the program
How to Run the Code
Preferably using an IDE such as PyCharm, and once all libraries are downloaded, users may simply run the code and each case as described in individual scripts.