Build, train, and scale physics AI models with PyTorch.
Documentation · Examples · Models · Blog · Discussions · Contributing
NVIDIA PhysicsNeMo is an open-source PyTorch framework for physics machine learning (physics ML), scientific machine learning (SciML), and AI for science and engineering. It provides reusable library components and end-to-end training recipes.
pip install "nvidia-physicsnemo[cu13]"For CUDA 12, a basic install, optional features, or source setup, refer to installation options.
| Aerodynamics | Weather Forecasting |
|---|---|
![]() |
![]() |
| Unified external aerodynamics: train and compare current surface and volume models | StormCast: generative regional weather forecasting |
| Semiconductor packaging | Structural mechanics |
![]() |
![]() |
| Underfill dispensing: transient epoxy-interface prediction with GeoTransolver | Crash dynamics: transient surrogates on deforming meshes |
| Geophysics | Healthcare |
![]() |
![]() |
| Diffusion FWI: guided generative full-waveform inversion | Cardiovascular flow: reduced-order prediction with MeshGraphNet |
| Data-center thermal design | Additive manufacturing |
![]() |
![]() |
| Data-center airflow: real-time temperature and airflow prediction with a 3D U-Net surrogate | Metal sintering: graph-based deformation prediction |
Every visual above comes from a PhysicsNeMo recipe or workflow.
- PyTorch-native and composable. Use a complete architecture, a layer, a numerical operator, or a data transform without replacing your existing PyTorch workflow.
- Built for scientific representations. Work with regular grids, meshes, point clouds, graphs, and nested physical fields while preserving their structure.
- Scale the sample itself. Use
ShardTensordomain parallelism to split a single high-resolution sample across GPUs, alongside PyTorch DistributedDataParallel (DDP) or Fully Sharded Data Parallel 2 (FSDP2).
Start from a recipe and adapt it to your data, geometry, physics, and deployment constraints. Explore by physical domain:
✈️ Engineering design and CFD: train and compare current surface and volume models with the unified external-aerodynamics recipe or accelerate data-center airflow.- 🌦️ Weather, climate, and water: build global forecasts from the weather recipes or predict floods.
- 🏗️ Structures and manufacturing: emulate deforming structures.
- 🌍 Geophysics and subsurface systems: build reservoir surrogates.
- 🫀 Healthcare: perform brain anomaly detection.
- ✨ Generative and inverse physics: compose the diffusion toolkit with topology-generation recipes.
- 🔁 Simulation-data loops: select new simulations with active learning.
Browse the complete example catalog for every available recipe.
PhysicsNeMo supplies reusable models, training components, and recipes. For a domain-focused application layer or data preparation, continue with:
| Need | Continue with |
|---|---|
| Scientific data preparation | PhysicsNeMo Curator for extract, transform, and load (ETL) pipelines that prepare AI-ready scientific and engineering datasets |
| Engineering inference and design | PhysicsNeMo CFD for inference, evaluation, benchmarking, and design workflows |
| Weather and climate | Earth2Studio for building and deploying AI weather and climate workflows |
| Atomistic simulation | NVIDIA ALCHEMI Toolkit for GPU-first training, inference, and dynamics workflows, with optimized primitives from ALCHEMI Toolkit Ops |
PhysicsNeMo models are ordinary torch.nn.Module objects. Choose a family by the
representation of your data and the task you need to solve. Model names link to source
code. The final column links to examples and papers.
| Model family | Data representation | Known uses and starting points |
|---|---|---|
| FNO / DPOT | Regular Cartesian grids; DPOT adds a time/history axis | Neural PDE operators and autoregressive dynamics: Darcy flow with FNO, DPOT paper |
| MeshGraphNet / VFGN | Node-edge graphs over unstructured meshes | Mesh dynamics and reduced-order simulation: vehicle crash, cardiovascular flow, metal sintering |
| Transolver / FLARE | Point sets and structured or unstructured discretizations | PDE surrogates on large discretizations: Darcy flow, external aerodynamics |
| GeoTransolver | Point clouds or structured/unstructured grids, with geometry and global context | Geometry-aware CAE: external aerodynamics, underfill dispensing |
| DoMINO | Geometry points, sampled surface/volume fields, and structured SDF grids | Surface and volume field prediction for automotive aerodynamics: paper |
| FIGConvNet | Large 3D point clouds represented with factorized 2D grids | 3D CAE field and scalar prediction: external aerodynamics, vehicle crash |
| GLOBE (experimental; API may change) | Boundary meshes and arbitrary query points | Boundary-driven PDEs and large-geometry CAE: external aerodynamics, paper |
| AeroJEPA (experimental; API may change) | 3D surface point clouds, operating conditions, and query points | Aerodynamic representation learning and field prediction: tutorial, paper |
| Model family | Data representation | Known uses and starting points |
|---|---|---|
| AFNO | Regular 2D fields | Global forecasting: unified weather recipe |
| GraphCast | Latitude-longitude fields and a multiscale icosahedral mesh graph | Global autoregressive forecasting: recipe, paper |
| Pangu-Weather / FengWu | Multilevel latitude-longitude grids | Global medium-range forecasting: Pangu-Weather recipe, FengWu paper |
| DLWP / DLWP-HEALPix | Cubed-sphere grids or HEALPix meshes | Global and coupled forecasting: DLWP, DLWP-HEALPix |
| Model family | Data representation | Known uses and starting points |
|---|---|---|
| Diffusion U-Nets / DiT | 2D fields or patch tokens | Stochastic regional forecasting, downscaling, and inverse problems: StormCast and StormScope, diffusion FWI |
| TopoDiff | 2D topology fields conditioned on design constraints | Generative topology optimization: recipe, paper |
Refer to the model catalog for the full API and configuration details.
The framework is layered so high-level workflows can reuse lower-level scientific building blocks without forcing those foundations to depend on applications.
flowchart TB
apps["Applications and workflows<br/><a href='https://github.com/NVIDIA/physicsnemo/tree/main/examples'>Examples</a> · <a href='https://github.com/NVIDIA/physicsnemo/tree/main/physicsnemo/active_learning'>Active learning</a> · <a href='https://github.com/NVIDIA/physicsnemo/tree/main/physicsnemo/diffusion'>Diffusion</a>"]
blocks["Physics AI building blocks<br/><a href='https://github.com/NVIDIA/physicsnemo/tree/main/physicsnemo/models'>Models</a> · <a href='https://github.com/NVIDIA/physicsnemo/tree/main/physicsnemo/datapipes'>Datapipes</a> · <a href='https://github.com/NVIDIA/physicsnemo/tree/main/physicsnemo/metrics'>Metrics</a> · <a href='https://github.com/NVIDIA/physicsnemo/tree/main/physicsnemo/domain_parallel'>Domain parallel</a> · <a href='https://github.com/NVIDIA/physicsnemo/tree/main/physicsnemo/optim'>Optim</a>"]
base["Reusable foundations<br/><a href='https://github.com/NVIDIA/physicsnemo/tree/main/physicsnemo/mesh'>Mesh</a> · <a href='https://github.com/NVIDIA/physicsnemo/tree/main/physicsnemo/nn'>NN</a> · <a href='https://github.com/NVIDIA/physicsnemo/tree/main/physicsnemo/utils'>Utils</a> · <a href='https://github.com/NVIDIA/physicsnemo/tree/main/physicsnemo/distributed'>Distributed</a> · <a href='https://github.com/NVIDIA/physicsnemo/tree/main/physicsnemo/core'>Core</a>"]
apps -->|"build on"| blocks
blocks -->|"reuse"| base
classDef workflow fill:#F5FAEF,stroke:#76B900,stroke-width:2px,color:#111111
classDef building fill:#EEF7E1,stroke:#76B900,stroke-width:2px,color:#111111
classDef foundation fill:#E8F5D0,stroke:#76B900,stroke-width:2px,color:#111111
class apps workflow
class blocks building
class base foundation
Arrows follow the allowed dependency direction in the import-layer contract. The diagram is simplified. Follow the links below for the public surfaces.
- Applications and workflows: runnable examples, restartable active-learning loops, and diffusion schedulers, samplers, guidance, and multi-diffusion.
- Physics AI building blocks: optimized
models,
datapipes
for readers, transforms, GPU preprocessing, and multi-dataset sampling,
metrics,
ShardTensordomain parallelism, and optimization. - Reusable foundations:
MeshandDomainMeshwith GPU topology, spatial queries, remeshing, and differentiable deformation; neural-network layers and numerical functionals for derivatives, interpolation, geometry, sampling, and rendering; utilities for checkpointing, logging, and profiling; distributed primitives including distributed FFTs; and the model lifecycle core.
Cross-cutting deployment helpers cover ONNX export and runtime. Experimental modules incubate models such as GLOBE and AeroJEPA, alongside uncertainty quantification, guardrails, parameter-efficient fine-tuning with LoRA, and other research utilities.
API stability: APIs under
physicsnemo.experimentalare incubating and may change between releases. Stable modules follow the project's semantic-versioning policy. Refer to the changelog for API changes and removals.
The repository includes two NVIDIA-authored skills for Codex, Claude Code, and other compatible coding agents:
- PhysicsNeMo Discover finds models, datapipes, examples, and documentation for a SciML task (evaluation).
- PhysicsNeMo ShardTensor helps add domain parallelism, integrate DDP or FSDP2, implement shard-aware operations, and write multi-GPU correctness tests (evaluation).
Refer to pyproject.toml
for currently supported Python versions, optional dependency groups, and exact
dependency constraints. The command at the top of this README selects the CUDA 13
backend. Use the CUDA 12 backend instead with:
pip install "nvidia-physicsnemo[cu12]"For a basic installation that uses PyPI's default PyTorch distribution and does not install the CUDA-specific RAPIDS packages:
pip install nvidia-physicsnemoOptional features compose with either backend, for example:
pip install "nvidia-physicsnemo[cu13,gnns]"To work from a source checkout with uv:
git clone https://github.com/NVIDIA/physicsnemo.git
cd physicsnemo
uv sync --extra cu13Learn through the PhysicsNeMo notebooks on Hugging Face, the AI for Science bootcamp, and the self-paced NVIDIA Deep Learning Institute course. Pretrained models and datasets are available through the NGC catalog.
Contributions to the library, examples, and documentation are welcome.
- Ask questions and share work in GitHub Discussions.
- Report a bug or propose a feature through GitHub Issues.
- Look for issues labeled help wanted.
- Before opening a pull request, read the contribution guide and coordinate the proposed work with maintainers in an issue or discussion. Every pull request should correspond to an open issue. For substantial changes, wait for maintainer feedback before starting implementation.
- Follow the code of conduct, and report vulnerabilities privately through the security policy.
For release history and upgrade notes, refer to the changelog, GitHub releases, and the v2 migration guide.
If PhysicsNeMo supports your research, cite the project using the metadata in CITATION.cff. Work that uses PhysicsNeMo domain parallelism should also cite ShardTensor: Domain Parallelism for Scientific Machine Learning.
PhysicsNeMo is licensed under the Apache License 2.0.







