Skip to content

Commit 698406c

Browse files
README updates (#86)
--------- Co-authored-by: Kaustubh Tangsali <[email protected]>
1 parent fdfef8e commit 698406c

File tree

5 files changed

+167
-2
lines changed

5 files changed

+167
-2
lines changed

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,12 @@
66
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
77
<!-- markdownlint-enable -->
88

9-
Modulus Symbolic (Modulus Sym) provides an abstraction layer for using PDE-based symbolic
10-
loss functions. Additional information can be found in the [Modulus documentation](https://docs.nvidia.com/modulus/index.html#sym).
9+
Modulus Symbolic (Modulus Sym) provides pythonic APIs, algorithms and utilities to be used with Modulus core, to explicitly physics inform the model training. This includes symbolic APIs for PDEs, domain sampling and PDE-based residuals. Please refer to the [DeepONet example](https://github.com/modulus/tree/main/examples/cfd/darcy_deeponet_physics) that illustrates the concept.
10+
11+
It also provides higher level abstraction to compose a training loop from specification of the geometry, PDEs and constraints like boundary conditions using simple symbolic APIs.
12+
Please refer to the [Lid Driven cavity](https://docs.nvidia.com/deeplearning/modulus/modulus-sym/user_guide/basics/lid_driven_cavity_flow.html) that illustrates the concept.
13+
Additional information can be found in the [Modulus documentation](https://docs.nvidia.com/modulus/index.html#sym).
14+
1115
Users of Modulus versions older than 23.05 can refer to the [migration guide](https://docs.nvidia.com/deeplearning/modulus/migration-guide/index.html)
1216
for updating to the latest version.
1317

examples/README.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<!-- markdownlint-disable MD043 -->
2+
# NVIDIA Modulus Sym Examples
3+
4+
## Introduction
5+
6+
This repository provides sample applications demonstrating use of specific Physics-ML
7+
model architectures that are easy to train and deploy. These examples aim to show how
8+
such models can help solve real world problems.
9+
10+
## Introductory
11+
12+
|Use case|Model|Level|Attributes|
13+
| --- | --- | --- | --- |
14+
|Ldc| Fully Connected MLP PINN |Introductory|Steady state, Multi-GPU|
15+
|Anti_derivative| Data and Physics informed DeepONet |Introductory|Steady state, Multi-GPU|
16+
|Darcy Flow| FNO, AFNO, PINO |Introductory|Steady state, Multi-GPU|
17+
|ODE_spring_mass| Fully Connected MLP PINN |Introductory|Steady state, Multi-GPU|
18+
|Surface_pde| Fully Connected MLP PINN |Introductory|Steady state, Multi-GPU|
19+
20+
## Turbulence
21+
22+
|Use case|Model|Level|Attributes|
23+
| --- | --- | --- | --- |
24+
|Taylor_green| Fully Connected MLP PINN | Intermediate |Steady state, Multi-GPU|
25+
|Turbulent_channel| Fourier Feature MLP PINN |Intermediate|Steady state, Multi-GPU|
26+
|Super_resolution| Super Resolution Network, Pix2Pix |Intermediate|Steady state, Multi-GPU|
27+
28+
## Electromagnetics
29+
30+
|Use case|Model|Level|Attributes|
31+
| --- | --- | --- | --- |
32+
|Waveguide| Fourier Feature MLP PINN |Intermediate|Steady state, Multi-GPU|
33+
34+
## Solid Mechanics
35+
36+
|Use case|Model|Level|Attributes|
37+
| --- | --- | --- | --- |
38+
|Plane_displacement| Fully Connected MLP PINN, VPINN |Intermediate|Steady state, Multi-GPU|
39+
40+
## Design Optimization
41+
42+
|Use case|Model|Level|Attributes|
43+
| --- | --- | --- | --- |
44+
|Chip_2D| Fully Connected MLP PINN |Advanced|Steady state, Multi-GPU|
45+
|Three_fin_3D| Fully Connected MLP PINN | Advanced |Steady state, Multi-Node|
46+
|FPGA| Multiple Models (including Fourier Feature MLP PINN, SIRENS, etc.) |Advanced|Steady state, Multi-Node|
47+
|Limerock| Fourier Feature MLP PINN |Advanced|Steady state, Multi-Node|
48+
49+
## Geophyscis
50+
51+
|Use case|Model|Level|Attributes|
52+
| --- | --- | --- | --- |
53+
|Reservoir simulation| FNO, PINO | Advanced | Steady state, Multi-Node|
54+
|Seismic wave| Fully Connected MLP PINN |Intermediate|Steady state, Multi-Node|
55+
|Wave_equation| Fully Connected MLP PINN |Intermediate|Steady state, Multi-Node|
56+
57+
## Healthcare
58+
59+
|Use case|Model|Level|Attributes|
60+
| --- | --- | --- | --- |
61+
|Aneurysm| Fully Connected MLP PINN |Intermediate|Steady state, Multi-Node|
62+
63+
64+
## NVIDIA support
65+
66+
In each of the example READMEs, we indicate the level of support that will be provided.
67+
Some examples are under active development/improvement and might involve rapid changes.
68+
For stable examples, please refer the tagged versions.
69+
70+
## Feedback / Contributions
71+
72+
We're posting these examples on GitHub to better support the community, facilitate
73+
feedback, as well as collect and implement contributions using
74+
[GitHub issues](https://github.com/NVIDIA/modulus-launch/issues) and pull requests.
75+
We welcome all contributions!

examples/aneurysm/README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# PINNs for simulating flow in a complex structure of an aneurysm
2+
3+
This example uses PINNs for emulating flow in an aneurysm taking the specific blood vessel geometry as the input.
4+
5+
## Problem overview
6+
This sample illustrates the features in Modulus Symbolic such as the geometry utilities to train a PINN model for a complex geometry. The trained surrogate PINN can be used to predict the pressure and velocity of blood flow inside the aneursym. You can get more details on this sample from the [documentation](https://docs.nvidia.com/deeplearning/modulus/modulus-sym-v110/user_guide/intermediate/adding_stl_files.html). This sample can be extended to incroporate parameterized geometry using CCSG instead of STL to leverage the surrogate model to provide patient specific geometry. You can refer to the documentaion [here](https://docs.nvidia.com/deeplearning/modulus/modulus-sym/user_guide/advanced/parametrized_simulations.html#creating-nodes-and-architecture-for-parameterized-problems) for more details.
7+
8+
## Dataset
9+
10+
This example does not require any dataset as it solves of the Navier Stokes flow using the equations, the physical geometry and the boundary conditions.
11+
12+
## Model overview and architecture
13+
14+
We use a simple fully connected MLP to approximate the solution of the Navier-Stokes equations for the given boundary conditions. The neural network will have two inputs x,y and three outputs u, v, p.
15+
16+
## Getting Started
17+
18+
To get started, simply run
19+
20+
```bash
21+
python aneurysm.py
22+
```
23+
24+
## References
25+
26+
- [Modulus Documentation](https://docs.nvidia.com/deeplearning/modulus/modulus-sym-v110/user_guide/intermediate/adding_stl_files.html)

examples/seismic_wave/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# PINNs for simulating 2D seismic wave propagation
2+
3+
This example uses PINNs for emulating 2D time-dependent seismic wave propagation using a simple domain geometry.
4+
5+
## Problem overview
6+
This sample illustrates how to solve the acoustic wave equation
7+
You can get more details on this sample from the [documentation](https://docs.nvidia.com/deeplearning/modulus/modulus-sym-v110/user_guide/foundational/2d_wave_equation.html)
8+
9+
## Dataset
10+
11+
This example does not require any dataset as it solves of the acoustic wave equation, the physical geometry and the boundary conditions.
12+
13+
## Model overview and architecture
14+
15+
We use a simple fully connected MLP to approximate the solution of the 2D time-dependent wave equation for the given boundary conditions. The neural network will have x, y and t inputs and u, c (pressure response and velocity) and outputs .
16+
17+
## Getting Started
18+
19+
To get started, simply run
20+
21+
```bash
22+
python wave_2d.py
23+
```
24+
25+
## References
26+
27+
- [Modulus Documentation](https://docs.nvidia.com/deeplearning/modulus/modulus-sym-v110/user_guide/foundational/2d_wave_equation.html)

examples/three_fin_3d/README.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# PINNs as parameterized surrogate model for Heat Sink design optimization
2+
3+
This example uses PINNs to create a parameterized surrogate model that can be used to explore the design space of certain design parameters to identify an optimal design.
4+
5+
## Problem overview
6+
This sample illustrates the capabilities in Modulus Sym to specify a paramterized geometry of a 3-fin heat sink whose fin height, fin thickness, and fin length are variable. It illustrates use of the CSG module to construct a parameterized geometry and then to use the trained surrogate to explore the design space for a range of values of the fin height, fin thickness, and fin length.
7+
You can get more details on this sample from the [documentation](https://docs.nvidia.com/deeplearning/modulus/modulus-sym-v110/user_guide/advanced/parametrized_simulations.html)
8+
9+
## Dataset
10+
11+
This example does not require any dataset as it solves of the Navier Stokes flow using the equations, the physical geometry and the boundary conditions.
12+
13+
## Model overview and architecture
14+
15+
This is a multi-physics problem where we have to emulate both the flow and heat tranfer. This example has three neural networks - one for emulating the flow governed by the Navier-Stokes equations, one for heat transfer in the fluid for Advection diffusion and one for heat transfer in the solid due to diffusion. We use a simple fully connected MLP for all three networks.
16+
17+
## Getting Started
18+
19+
To train, simply run
20+
21+
```bash
22+
python three_fin_flow.py
23+
python three_fin_thermal.py
24+
```
25+
To infer in a design exploration loop
26+
27+
```bash
28+
python three_fin_design.py
29+
```
30+
31+
## References
32+
33+
- [Modulus Documentation](https://docs.nvidia.com/deeplearning/modulus/modulus-sym/user_guide/advanced/parametrized_simulations.html)

0 commit comments

Comments
 (0)