diff --git a/examples/README.md b/examples/README.md index a418d28d8c..615904a716 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,4 +1,4 @@ - + # NVIDIA Modulus Examples ## Introduction @@ -7,47 +7,90 @@ This repository provides sample applications demonstrating use of specific Physi model architectures that are easy to train and deploy. These examples aim to show how such models can help solve real world problems. -## CFD +## Introductory examples for learning key ideas + +|Use case|Concepts covered| +| --- | --- | +|[Darcy Flow](./cfd/darcy_fno/)|Introductory example for learning basics of data-driven models on Physics-ML datasets| +|[Darcy Flow (Data + Physics)](./cfd/darcy_physics_informed/)|Data-driven training with physics-based constraints| +|[Lid Driven Cavity Flow](./cfd/ldc_pinns/)|Purely physics-driven (no external simulation/experimental data) training| +|[Vortex Shedding](./cfd/vortex_shedding_mgn/)|Introductory example for learning the basics of MeshGraphNets in Modulus| +|[Medium-range global weather forecast using FCN-AFNO](./weather/fcn_afno/)|Introductory example on training data-driven models for global weather forecasting (auto-regressive model)| +|[Lagrangian Fluid Flow](./cfd/lagrangian_mgn/)|Introductory example for data-driven training on Lagrangian meshes| +|[Stokes Flow (Physics Informed Fine-Tuning)](./cfd/stokes_mgn/)|Data-driven training followed by physics-based fine-tuning| + +## Domain-specific examples + +The several examples inside Modulus can be classified based on their domains as below: + +> **NOTE:** The below classification is not exhaustive by any means! + One can classify single example into multiple domains and we encourage + the users to review the entire list. + +> **NOTE:** * Indicates externally contributed examples. + +### CFD |Use case|Model|Transient| | --- | --- | --- | |[Vortex Shedding](./cfd/vortex_shedding_mgn/)|MeshGraphNet|YES| -|[Ahmed Body Drag prediction](./cfd/ahmed_body_mgn/)|MeshGraphNet|NO| +|[Drag prediction - External Aero](./cfd/external_aerodynamics/)|MeshGraphNet, UNet, DoMINO, FigConvNet|NO| |[Navier-Stokes Flow](./cfd/navier_stokes_rnn/)|RNN|YES| |[Gray-Scott System](./cfd/gray_scott_rnn/)|RNN|YES| -|[Darcy Flow](./cfd/darcy_fno/)|FNO|NO| +|[Lagrangian Fluid Flow](./cfd/lagrangian_mgn/)|MeshGraphNet|YES| |[Darcy Flow using Nested-FNOs](./cfd/darcy_nested_fnos/)|Nested-FNO|NO| +|[Darcy Flow using Transolver*](./cfd/darcy_transolver/)|Transolver (Transformer-based)|NO| |[Darcy Flow (Data + Physics Driven) using DeepONet approach](./cfd/darcy_physics_informed/)|FNO (branch) and MLP (trunk)|NO| |[Darcy Flow (Data + Physics Driven) using PINO approach (Numerical gradients)](./cfd/darcy_physics_informed/)|FNO|NO| |[Stokes Flow (Physics Informed Fine-Tuning)](./cfd/stokes_mgn/)|MeshGraphNet and MLP|NO| +|[Lid Driven Cavity Flow](./cfd/ldc_pinns/)|MLP|NO +|[Magnetohydrodynamics using PINO (Data + Physics Driven)*](./cfd/mhd_pino/)|FNO|YES| +|[Shallow Water Equations using PINO (Data + Physics Driven)*](./cfd/swe_nonlinear_pino/)|FNO|YES| +|[Shallow Water Equations using Distributed GNNs](./cfd/swe_distributed_gnn/)|GraphCast|YES| +|[Vortex Shedding with Temporal Attention](./cfd/vortex_shedding_mesh_reduced/)|MeshGraphNet|YES| -## Weather -|Use case|Model|AMP|CUDA Graphs|Multi-GPU| Multi-Node| -| --- | --- | --- | --- | --- | --- | -|[Medium-range global weather forecast using FCN-SFNO](https://github.com/NVIDIA/modulus-makani)|FCN-SFNO|YES|NO|YES|YES| -|[Medium-range global weather forecast using GraphCast](./weather/graphcast/)|GraphCast|YES|NO|YES|YES| -|[Medium-range global weather forecast using FCN-AFNO](./weather/fcn_afno/)|FCN-AFNO|YES|YES|YES|YES| -|[Medium-range and S2S global weather forecast using DLWP](./weather/dlwp/)|DLWP|YES|YES|YES|YES| +### Weather -## Healthcare +|Use case|Model| +| --- | --- | +|[Medium-range global weather forecast using FCN-SFNO](https://github.com/NVIDIA/modulus-makani)|FCN-SFNO| +|[Medium-range global weather forecast using GraphCast](./weather/graphcast/)|GraphCast| +|[Medium-range global weather forecast using FCN-AFNO](./weather/fcn_afno/)|FCN-AFNO| +|[Medium-range and S2S global weather forecast using DLWP](./weather/dlwp/)|DLWP| +|[Medium-range and S2S global weather forecast using DLWP-HEALPix](./weather/dlwp_healpix/)|DLWP-HEALPix| +|[Coupled Ocean-Atmosphere Medium-range and S2S global weather forecast using DLWP-HEALPix](./weather/dlwp_healpix_coupled/)|DLWP-HEALPix| +|[Medium-range and S2S global weather forecast using Pangu](./weather/pangu_weather/)|Pangu| +|[Diagonistic (Precipitation) model using AFNO](./weather/diagnostic/)|AFNO| +|[Unified Recipe for training several Global Weather Forecasting models](./weather/unified_recipe/)|AFNO, FCN-SFNO, GraphCast| -|Use case|Model|Transient| -| --- | --- | --- | -|[Cardiovascular Simulations](./healthcare/bloodflow_1d_mgn/)|MeshGraphNet|YES| -|[Brain Anomaly Detection](./healthcare/brain_anomaly_detection/)|FNO|YES| +### Generative -## Molecular Dymanics +|Use case|Model| +| --- | --- | +|[Generative Correction Diffusion Model for Km-scale Atmospheric Downscaling](./generative/corrdiff/)|CorrDiff| +|[StormCast: Generative Diffusion Model for Km-scale, Convection allowing Model Emulation](./generative/stormcast/)|CorrDiff| +|[Fluid Super-resolution*](./generative/diffusion/)|Diffusion| -|Use case|Model|Transient| -| --- | --- | --- | -|[Force Prediciton for Lennard Jones system](./molecular_dynamics/lennard_jones/)|MeshGraphNet|NO| +### Healthcare + +|Use case|Model| +| --- | --- | +|[Cardiovascular Simulations*](./healthcare/bloodflow_1d_mgn/)|MeshGraphNet| +|[Brain Anomaly Detection](./healthcare/brain_anomaly_detection/)|FNO| + +### Additive Manufacturing + +|Use case|Model| +| --- | --- | +|[Metal Sintering Simulation*](./additive_manufacturing/sintering_physics/)|MeshGraphNet| + +### Molecular Dymanics -## Generative +|Use case|Model| +| --- | --- | +|[Force Prediciton for Lennard Jones system](./molecular_dynamics/lennard_jones/)|MeshGraphNet| -|Use case|Model|Multi-GPU| Multi-Node| -| --- | --- | --- | --- | -|[Generative Correction Diffusion Model for Km-scale Atmospheric Downscaling](./generative/corrdiff/)|CorrDiff|YES|YES| ## Additional examples diff --git a/examples/cfd/aero_graph_net/README.md b/examples/cfd/external_aerodynamics/aero_graph_net/README.md similarity index 100% rename from examples/cfd/aero_graph_net/README.md rename to examples/cfd/external_aerodynamics/aero_graph_net/README.md diff --git a/examples/cfd/aero_graph_net/conf/config.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/config.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/config.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/config.yaml diff --git a/examples/cfd/aero_graph_net/conf/data/ahmed.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/data/ahmed.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/data/ahmed.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/data/ahmed.yaml diff --git a/examples/cfd/aero_graph_net/conf/data/bsms_ahmed.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/data/bsms_ahmed.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/data/bsms_ahmed.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/data/bsms_ahmed.yaml diff --git a/examples/cfd/aero_graph_net/conf/data/drivaernet.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/data/drivaernet.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/data/drivaernet.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/data/drivaernet.yaml diff --git a/examples/cfd/aero_graph_net/conf/experiment/ahmed/bsms_mgn.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/experiment/ahmed/bsms_mgn.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/experiment/ahmed/bsms_mgn.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/experiment/ahmed/bsms_mgn.yaml diff --git a/examples/cfd/aero_graph_net/conf/experiment/ahmed/mgn.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/experiment/ahmed/mgn.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/experiment/ahmed/mgn.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/experiment/ahmed/mgn.yaml diff --git a/examples/cfd/aero_graph_net/conf/experiment/drivaernet/agn.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/experiment/drivaernet/agn.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/experiment/drivaernet/agn.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/experiment/drivaernet/agn.yaml diff --git a/examples/cfd/aero_graph_net/conf/experiment/drivaernet/mgn.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/experiment/drivaernet/mgn.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/experiment/drivaernet/mgn.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/experiment/drivaernet/mgn.yaml diff --git a/examples/cfd/aero_graph_net/conf/logging/python/default.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/logging/python/default.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/logging/python/default.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/logging/python/default.yaml diff --git a/examples/cfd/aero_graph_net/conf/loss/mseloss.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/loss/mseloss.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/loss/mseloss.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/loss/mseloss.yaml diff --git a/examples/cfd/aero_graph_net/conf/loss/rrmseloss.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/loss/rrmseloss.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/loss/rrmseloss.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/loss/rrmseloss.yaml diff --git a/examples/cfd/aero_graph_net/conf/lr_scheduler/exponentiallr.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/lr_scheduler/exponentiallr.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/lr_scheduler/exponentiallr.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/lr_scheduler/exponentiallr.yaml diff --git a/examples/cfd/aero_graph_net/conf/lr_scheduler/steplr.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/lr_scheduler/steplr.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/lr_scheduler/steplr.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/lr_scheduler/steplr.yaml diff --git a/examples/cfd/aero_graph_net/conf/model/bsms_mgn.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/model/bsms_mgn.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/model/bsms_mgn.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/model/bsms_mgn.yaml diff --git a/examples/cfd/aero_graph_net/conf/model/mgn.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/model/mgn.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/model/mgn.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/model/mgn.yaml diff --git a/examples/cfd/aero_graph_net/conf/optimizer/adam.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/optimizer/adam.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/optimizer/adam.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/optimizer/adam.yaml diff --git a/examples/cfd/aero_graph_net/conf/optimizer/fusedadam.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/optimizer/fusedadam.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/optimizer/fusedadam.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/optimizer/fusedadam.yaml diff --git a/examples/cfd/aero_graph_net/conf/visualizer/mesh.yaml b/examples/cfd/external_aerodynamics/aero_graph_net/conf/visualizer/mesh.yaml similarity index 100% rename from examples/cfd/aero_graph_net/conf/visualizer/mesh.yaml rename to examples/cfd/external_aerodynamics/aero_graph_net/conf/visualizer/mesh.yaml diff --git a/examples/cfd/aero_graph_net/inference.py b/examples/cfd/external_aerodynamics/aero_graph_net/inference.py similarity index 100% rename from examples/cfd/aero_graph_net/inference.py rename to examples/cfd/external_aerodynamics/aero_graph_net/inference.py diff --git a/examples/cfd/aero_graph_net/inference_analysis/ahmed_body.ipynb b/examples/cfd/external_aerodynamics/aero_graph_net/inference_analysis/ahmed_body.ipynb similarity index 100% rename from examples/cfd/aero_graph_net/inference_analysis/ahmed_body.ipynb rename to examples/cfd/external_aerodynamics/aero_graph_net/inference_analysis/ahmed_body.ipynb diff --git a/examples/cfd/aero_graph_net/loggers.py b/examples/cfd/external_aerodynamics/aero_graph_net/loggers.py similarity index 100% rename from examples/cfd/aero_graph_net/loggers.py rename to examples/cfd/external_aerodynamics/aero_graph_net/loggers.py diff --git a/examples/cfd/aero_graph_net/models.py b/examples/cfd/external_aerodynamics/aero_graph_net/models.py similarity index 100% rename from examples/cfd/aero_graph_net/models.py rename to examples/cfd/external_aerodynamics/aero_graph_net/models.py diff --git a/examples/cfd/aero_graph_net/train.py b/examples/cfd/external_aerodynamics/aero_graph_net/train.py similarity index 100% rename from examples/cfd/aero_graph_net/train.py rename to examples/cfd/external_aerodynamics/aero_graph_net/train.py diff --git a/examples/cfd/aero_graph_net/utils.py b/examples/cfd/external_aerodynamics/aero_graph_net/utils.py similarity index 100% rename from examples/cfd/aero_graph_net/utils.py rename to examples/cfd/external_aerodynamics/aero_graph_net/utils.py diff --git a/examples/cfd/aero_graph_net/visualizers.py b/examples/cfd/external_aerodynamics/aero_graph_net/visualizers.py similarity index 100% rename from examples/cfd/aero_graph_net/visualizers.py rename to examples/cfd/external_aerodynamics/aero_graph_net/visualizers.py diff --git a/examples/cfd/figconvnet/README.md b/examples/cfd/external_aerodynamics/figconvnet/README.md similarity index 100% rename from examples/cfd/figconvnet/README.md rename to examples/cfd/external_aerodynamics/figconvnet/README.md diff --git a/examples/cfd/figconvnet/configs/base.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/base.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/base.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/base.yaml diff --git a/examples/cfd/figconvnet/configs/data/drivaernet.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/data/drivaernet.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/data/drivaernet.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/data/drivaernet.yaml diff --git a/examples/cfd/figconvnet/configs/experiment/drivaernet/figconv_unet.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/experiment/drivaernet/figconv_unet.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/experiment/drivaernet/figconv_unet.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/experiment/drivaernet/figconv_unet.yaml diff --git a/examples/cfd/figconvnet/configs/logging/python/default.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/logging/python/default.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/logging/python/default.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/logging/python/default.yaml diff --git a/examples/cfd/figconvnet/configs/loss/celoss.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/loss/celoss.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/loss/celoss.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/loss/celoss.yaml diff --git a/examples/cfd/figconvnet/configs/loss/huberloss.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/loss/huberloss.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/loss/huberloss.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/loss/huberloss.yaml diff --git a/examples/cfd/figconvnet/configs/loss/lploss.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/loss/lploss.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/loss/lploss.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/loss/lploss.yaml diff --git a/examples/cfd/figconvnet/configs/loss/mseloss.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/loss/mseloss.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/loss/mseloss.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/loss/mseloss.yaml diff --git a/examples/cfd/figconvnet/configs/loss/truncatedmseloss.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/loss/truncatedmseloss.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/loss/truncatedmseloss.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/loss/truncatedmseloss.yaml diff --git a/examples/cfd/figconvnet/configs/lr_scheduler/cosineannealinglr.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/lr_scheduler/cosineannealinglr.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/lr_scheduler/cosineannealinglr.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/lr_scheduler/cosineannealinglr.yaml diff --git a/examples/cfd/figconvnet/configs/lr_scheduler/reducelronplateau.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/lr_scheduler/reducelronplateau.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/lr_scheduler/reducelronplateau.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/lr_scheduler/reducelronplateau.yaml diff --git a/examples/cfd/figconvnet/configs/lr_scheduler/steplr.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/lr_scheduler/steplr.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/lr_scheduler/steplr.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/lr_scheduler/steplr.yaml diff --git a/examples/cfd/figconvnet/configs/model/figconv_unet_drivaer.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/model/figconv_unet_drivaer.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/model/figconv_unet_drivaer.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/model/figconv_unet_drivaer.yaml diff --git a/examples/cfd/figconvnet/configs/optimizer/adam.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/optimizer/adam.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/optimizer/adam.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/optimizer/adam.yaml diff --git a/examples/cfd/figconvnet/configs/optimizer/adamw.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/optimizer/adamw.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/optimizer/adamw.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/optimizer/adamw.yaml diff --git a/examples/cfd/figconvnet/configs/optimizer/sgd.yaml b/examples/cfd/external_aerodynamics/figconvnet/configs/optimizer/sgd.yaml similarity index 100% rename from examples/cfd/figconvnet/configs/optimizer/sgd.yaml rename to examples/cfd/external_aerodynamics/figconvnet/configs/optimizer/sgd.yaml diff --git a/examples/cfd/figconvnet/notebooks/figconvnet_vis.ipynb b/examples/cfd/external_aerodynamics/figconvnet/notebooks/figconvnet_vis.ipynb similarity index 100% rename from examples/cfd/figconvnet/notebooks/figconvnet_vis.ipynb rename to examples/cfd/external_aerodynamics/figconvnet/notebooks/figconvnet_vis.ipynb diff --git a/examples/cfd/figconvnet/src/__init__.py b/examples/cfd/external_aerodynamics/figconvnet/src/__init__.py similarity index 100% rename from examples/cfd/figconvnet/src/__init__.py rename to examples/cfd/external_aerodynamics/figconvnet/src/__init__.py diff --git a/examples/cfd/figconvnet/src/data/__init__.py b/examples/cfd/external_aerodynamics/figconvnet/src/data/__init__.py similarity index 100% rename from examples/cfd/figconvnet/src/data/__init__.py rename to examples/cfd/external_aerodynamics/figconvnet/src/data/__init__.py diff --git a/examples/cfd/figconvnet/src/data/base_datamodule.py b/examples/cfd/external_aerodynamics/figconvnet/src/data/base_datamodule.py similarity index 100% rename from examples/cfd/figconvnet/src/data/base_datamodule.py rename to examples/cfd/external_aerodynamics/figconvnet/src/data/base_datamodule.py diff --git a/examples/cfd/figconvnet/src/data/components/__init__.py b/examples/cfd/external_aerodynamics/figconvnet/src/data/components/__init__.py similarity index 100% rename from examples/cfd/figconvnet/src/data/components/__init__.py rename to examples/cfd/external_aerodynamics/figconvnet/src/data/components/__init__.py diff --git a/examples/cfd/figconvnet/src/data/components/drivaernet_webdataset_converter.py b/examples/cfd/external_aerodynamics/figconvnet/src/data/components/drivaernet_webdataset_converter.py similarity index 100% rename from examples/cfd/figconvnet/src/data/components/drivaernet_webdataset_converter.py rename to examples/cfd/external_aerodynamics/figconvnet/src/data/components/drivaernet_webdataset_converter.py diff --git a/examples/cfd/figconvnet/src/data/components/preprocessor_utils.py b/examples/cfd/external_aerodynamics/figconvnet/src/data/components/preprocessor_utils.py similarity index 100% rename from examples/cfd/figconvnet/src/data/components/preprocessor_utils.py rename to examples/cfd/external_aerodynamics/figconvnet/src/data/components/preprocessor_utils.py diff --git a/examples/cfd/figconvnet/src/data/components/webdataset_utils.py b/examples/cfd/external_aerodynamics/figconvnet/src/data/components/webdataset_utils.py similarity index 100% rename from examples/cfd/figconvnet/src/data/components/webdataset_utils.py rename to examples/cfd/external_aerodynamics/figconvnet/src/data/components/webdataset_utils.py diff --git a/examples/cfd/figconvnet/src/data/drivaernet_datamodule.py b/examples/cfd/external_aerodynamics/figconvnet/src/data/drivaernet_datamodule.py similarity index 100% rename from examples/cfd/figconvnet/src/data/drivaernet_datamodule.py rename to examples/cfd/external_aerodynamics/figconvnet/src/data/drivaernet_datamodule.py diff --git a/examples/cfd/figconvnet/src/data/mesh_utils.py b/examples/cfd/external_aerodynamics/figconvnet/src/data/mesh_utils.py similarity index 100% rename from examples/cfd/figconvnet/src/data/mesh_utils.py rename to examples/cfd/external_aerodynamics/figconvnet/src/data/mesh_utils.py diff --git a/examples/cfd/figconvnet/src/losses.py b/examples/cfd/external_aerodynamics/figconvnet/src/losses.py similarity index 100% rename from examples/cfd/figconvnet/src/losses.py rename to examples/cfd/external_aerodynamics/figconvnet/src/losses.py diff --git a/examples/cfd/figconvnet/src/networks/__init__.py b/examples/cfd/external_aerodynamics/figconvnet/src/networks/__init__.py similarity index 100% rename from examples/cfd/figconvnet/src/networks/__init__.py rename to examples/cfd/external_aerodynamics/figconvnet/src/networks/__init__.py diff --git a/examples/cfd/figconvnet/src/networks/figconvunet_drivaer.py b/examples/cfd/external_aerodynamics/figconvnet/src/networks/figconvunet_drivaer.py similarity index 100% rename from examples/cfd/figconvnet/src/networks/figconvunet_drivaer.py rename to examples/cfd/external_aerodynamics/figconvnet/src/networks/figconvunet_drivaer.py diff --git a/examples/cfd/figconvnet/src/utils/__init__.py b/examples/cfd/external_aerodynamics/figconvnet/src/utils/__init__.py similarity index 100% rename from examples/cfd/figconvnet/src/utils/__init__.py rename to examples/cfd/external_aerodynamics/figconvnet/src/utils/__init__.py diff --git a/examples/cfd/figconvnet/src/utils/average_meter.py b/examples/cfd/external_aerodynamics/figconvnet/src/utils/average_meter.py similarity index 100% rename from examples/cfd/figconvnet/src/utils/average_meter.py rename to examples/cfd/external_aerodynamics/figconvnet/src/utils/average_meter.py diff --git a/examples/cfd/figconvnet/src/utils/eval_funcs.py b/examples/cfd/external_aerodynamics/figconvnet/src/utils/eval_funcs.py similarity index 100% rename from examples/cfd/figconvnet/src/utils/eval_funcs.py rename to examples/cfd/external_aerodynamics/figconvnet/src/utils/eval_funcs.py diff --git a/examples/cfd/figconvnet/src/utils/loggers.py b/examples/cfd/external_aerodynamics/figconvnet/src/utils/loggers.py similarity index 100% rename from examples/cfd/figconvnet/src/utils/loggers.py rename to examples/cfd/external_aerodynamics/figconvnet/src/utils/loggers.py diff --git a/examples/cfd/figconvnet/src/utils/seed.py b/examples/cfd/external_aerodynamics/figconvnet/src/utils/seed.py similarity index 100% rename from examples/cfd/figconvnet/src/utils/seed.py rename to examples/cfd/external_aerodynamics/figconvnet/src/utils/seed.py diff --git a/examples/cfd/figconvnet/src/utils/signal_handlers.py b/examples/cfd/external_aerodynamics/figconvnet/src/utils/signal_handlers.py similarity index 100% rename from examples/cfd/figconvnet/src/utils/signal_handlers.py rename to examples/cfd/external_aerodynamics/figconvnet/src/utils/signal_handlers.py diff --git a/examples/cfd/figconvnet/src/utils/timer.py b/examples/cfd/external_aerodynamics/figconvnet/src/utils/timer.py similarity index 100% rename from examples/cfd/figconvnet/src/utils/timer.py rename to examples/cfd/external_aerodynamics/figconvnet/src/utils/timer.py diff --git a/examples/cfd/figconvnet/src/utils/visualization.py b/examples/cfd/external_aerodynamics/figconvnet/src/utils/visualization.py similarity index 100% rename from examples/cfd/figconvnet/src/utils/visualization.py rename to examples/cfd/external_aerodynamics/figconvnet/src/utils/visualization.py diff --git a/examples/cfd/figconvnet/train.py b/examples/cfd/external_aerodynamics/figconvnet/train.py similarity index 100% rename from examples/cfd/figconvnet/train.py rename to examples/cfd/external_aerodynamics/figconvnet/train.py diff --git a/examples/cfd/xaeronet/README.md b/examples/cfd/external_aerodynamics/xaeronet/README.md similarity index 100% rename from examples/cfd/xaeronet/README.md rename to examples/cfd/external_aerodynamics/xaeronet/README.md diff --git a/examples/cfd/xaeronet/cleanup_corrupted_downloads.sh b/examples/cfd/external_aerodynamics/xaeronet/cleanup_corrupted_downloads.sh similarity index 100% rename from examples/cfd/xaeronet/cleanup_corrupted_downloads.sh rename to examples/cfd/external_aerodynamics/xaeronet/cleanup_corrupted_downloads.sh diff --git a/examples/cfd/xaeronet/download_aws_dataset.sh b/examples/cfd/external_aerodynamics/xaeronet/download_aws_dataset.sh similarity index 100% rename from examples/cfd/xaeronet/download_aws_dataset.sh rename to examples/cfd/external_aerodynamics/xaeronet/download_aws_dataset.sh diff --git a/examples/cfd/xaeronet/requirements.txt b/examples/cfd/external_aerodynamics/xaeronet/requirements.txt similarity index 100% rename from examples/cfd/xaeronet/requirements.txt rename to examples/cfd/external_aerodynamics/xaeronet/requirements.txt diff --git a/examples/cfd/xaeronet/surface/combine_stl_solids.py b/examples/cfd/external_aerodynamics/xaeronet/surface/combine_stl_solids.py similarity index 100% rename from examples/cfd/xaeronet/surface/combine_stl_solids.py rename to examples/cfd/external_aerodynamics/xaeronet/surface/combine_stl_solids.py diff --git a/examples/cfd/xaeronet/surface/compute_stats.py b/examples/cfd/external_aerodynamics/xaeronet/surface/compute_stats.py similarity index 100% rename from examples/cfd/xaeronet/surface/compute_stats.py rename to examples/cfd/external_aerodynamics/xaeronet/surface/compute_stats.py diff --git a/examples/cfd/xaeronet/surface/conf/config.yaml b/examples/cfd/external_aerodynamics/xaeronet/surface/conf/config.yaml similarity index 100% rename from examples/cfd/xaeronet/surface/conf/config.yaml rename to examples/cfd/external_aerodynamics/xaeronet/surface/conf/config.yaml diff --git a/examples/cfd/xaeronet/surface/dataloader.py b/examples/cfd/external_aerodynamics/xaeronet/surface/dataloader.py similarity index 100% rename from examples/cfd/xaeronet/surface/dataloader.py rename to examples/cfd/external_aerodynamics/xaeronet/surface/dataloader.py diff --git a/examples/cfd/xaeronet/surface/preprocessor.py b/examples/cfd/external_aerodynamics/xaeronet/surface/preprocessor.py similarity index 100% rename from examples/cfd/xaeronet/surface/preprocessor.py rename to examples/cfd/external_aerodynamics/xaeronet/surface/preprocessor.py diff --git a/examples/cfd/xaeronet/surface/train.py b/examples/cfd/external_aerodynamics/xaeronet/surface/train.py similarity index 100% rename from examples/cfd/xaeronet/surface/train.py rename to examples/cfd/external_aerodynamics/xaeronet/surface/train.py diff --git a/examples/cfd/xaeronet/utils.py b/examples/cfd/external_aerodynamics/xaeronet/utils.py similarity index 100% rename from examples/cfd/xaeronet/utils.py rename to examples/cfd/external_aerodynamics/xaeronet/utils.py diff --git a/examples/cfd/xaeronet/volume/compute_stats.py b/examples/cfd/external_aerodynamics/xaeronet/volume/compute_stats.py similarity index 100% rename from examples/cfd/xaeronet/volume/compute_stats.py rename to examples/cfd/external_aerodynamics/xaeronet/volume/compute_stats.py diff --git a/examples/cfd/xaeronet/volume/conf/config.yaml b/examples/cfd/external_aerodynamics/xaeronet/volume/conf/config.yaml similarity index 100% rename from examples/cfd/xaeronet/volume/conf/config.yaml rename to examples/cfd/external_aerodynamics/xaeronet/volume/conf/config.yaml diff --git a/examples/cfd/xaeronet/volume/dataloader.py b/examples/cfd/external_aerodynamics/xaeronet/volume/dataloader.py similarity index 100% rename from examples/cfd/xaeronet/volume/dataloader.py rename to examples/cfd/external_aerodynamics/xaeronet/volume/dataloader.py diff --git a/examples/cfd/xaeronet/volume/partition.py b/examples/cfd/external_aerodynamics/xaeronet/volume/partition.py similarity index 100% rename from examples/cfd/xaeronet/volume/partition.py rename to examples/cfd/external_aerodynamics/xaeronet/volume/partition.py diff --git a/examples/cfd/xaeronet/volume/preprocessor.py b/examples/cfd/external_aerodynamics/xaeronet/volume/preprocessor.py similarity index 100% rename from examples/cfd/xaeronet/volume/preprocessor.py rename to examples/cfd/external_aerodynamics/xaeronet/volume/preprocessor.py diff --git a/examples/cfd/xaeronet/volume/sdf.py b/examples/cfd/external_aerodynamics/xaeronet/volume/sdf.py similarity index 100% rename from examples/cfd/xaeronet/volume/sdf.py rename to examples/cfd/external_aerodynamics/xaeronet/volume/sdf.py diff --git a/examples/cfd/xaeronet/volume/train.py b/examples/cfd/external_aerodynamics/xaeronet/volume/train.py similarity index 100% rename from examples/cfd/xaeronet/volume/train.py rename to examples/cfd/external_aerodynamics/xaeronet/volume/train.py