Skip to main content

PhysicsNeMo Symbolic

Project Status: Active - The project has reached a stable, usable state and is being actively developed. GitHub Code style: black

PhysicsNeMo Sym | Getting started | Documentation | Contributing Guidelines | Communication

What is PhysicsNeMo Symbolic?

PhysicsNeMo Symbolic (PhysicsNeMo Sym) is sub-module of PhysicsNeMo framework that provides algorithms and utilities to explicitly physics inform the training of AI models.

Please refer to the PhysicsNeMo framework to learn more about the full stack.

This includes utilities for explicitly integrating symbolic PDEs, domain sampling and computing PDE-based residuals using various gradient computing schemes.

Please refer to the Physics informing surrogate model for Darcy flow that illustrates the concept.

It also provides an abstraction layer for developers that want to compose a training loop from specification of the geometry, PDEs and constraints like boundary conditions using simple symbolic APIs. Please refer to the Lid Driven cavity that illustrates the concept.

Additional information can be found in the PhysicsNeMo documentation.

Getting started

Please use the getting started guide here for PhysicsNeMo

Please refer Introductory Example for usage of the physics utils in custom training loops and Lid Driven cavity for an end-to-end PINN workflow.

Installation

Please ensure you have installed PhysicsNeMo using the steps here.

You can then install this package following the steps outlined below:

PyPi

The recommended method for installing the latest version of PhysicsNeMo Symbolic is using PyPi:

pip install "Cython"
pip install nvidia-physicsnemo.sym --no-build-isolation

Note, the above method only works for x86/amd64 based architectures. For installing PhysicsNeMo Sym on Arm based systems using pip, Install VTK from source as shown here and then install PhysicsNeMo-Sym and other dependencies.

pip install nvidia-physicsnemo.sym --no-deps
pip install "hydra-core>=1.2.0" "termcolor>=2.1.1" "chaospy>=4.3.7" "Cython==0.29.28" \
    "numpy-stl==2.16.3" "opencv-python==4.5.5.64" "scikit-learn==1.0.2" \
    "symengine>=0.10.0" "sympy==1.12" "timm>=1.0.3" "torch-optimizer==0.3.0" \
    "transforms3d==0.3.1" "typing==3.7.4.3" "pillow==10.0.1" "notebook==6.4.12" \
    "mistune==2.0.3" "pint==0.19.2" "tensorboard>=2.8.0"

Container

The recommended PhysicsNeMo docker image can be pulled from the NVIDIA Container Registry:

docker pull nvcr.io/nvidia/physicsnemo/physicsnemo:<tag>

From Source

Package

For a local build of the PhysicsNeMo Symbolic Python package from source use:

git clone git@github.com:NVIDIA/physicsnemo-sym.git && cd physicsnemo-sym

pip install --upgrade pip
pip install .

Source Container

To build release image insert next tag and run below:

docker build -t physicsnemo-sym:deploy \
    --build-arg TARGETPLATFORM=linux/amd64 --target deploy -f Dockerfile .

Currently only linux/amd64 and linux/arm64 platforms are supported.

Contributing to PhysicsNeMo

PhysicsNeMo is an open source collaboration and its success is rooted in community contribution to further the field of Physics-ML. Thank you for contributing to the project so others can build on top of your contribution.

For guidance on contributing to PhysicsNeMo, please refer to the contributing guidelines.

Cite PhysicsNeMo

If PhysicsNeMo helped your research and you would like to cite it, please refer to the guidelines

Communication

  • Github Discussions: Discuss new architectures, implementations, Physics-ML research, etc.
  • GitHub Issues: Bug reports, feature requests, install issues, etc.
  • PhysicsNeMo Forum: The PhysicsNeMo Forum hosts an audience of new to moderate-level users and developers for general chat, online discussions, collaboration, etc.

Feedback

Want to suggest some improvements to PhysicsNeMo? Use our feedback form.

License

PhysicsNeMo is provided under the Apache License 2.0, please see LICENSE.txt for full license text.

Metadata

Release files for nvidia-physicsnemo.sym 2.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nvidia-physicsnemo.sym 2.4.0
File Size Uploaded
nvidia_physicsnemo_sym-2.4.0.tar.gz 527.5 kB Details

Release files / nvidia_physicsnemo_sym-2.4.0.tar.gz

Download URL nvidia_physicsnemo_sym-2.4.0.tar.gz
Size 527.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f07e601c50806bdad80c0509a3a7aafcf644d4fe936e689901f3b1baaec4e08c
BLAKE2b-256 checksum
How to use checksums
4f7ece241afe8c18d22e6e618cacb1d5d201c2370f610662102f8eed6a8872f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.20

Release history Release notifications | RSS feed

This release

2.4.0 This release

1 release file

2.3.0

1 release file

2.2.0

1 release file

2.1.0

1 release file

2.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page