Metadata-Version: 2.1
Name: nvidia-modulus.sym
Version: 1.2.0
Summary: A deep learning framework for AI-driven multi-physics systems
Author: NVIDIA Modulus Team
License: Apache 2.0
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: nvidia-modulus >=0.2.0
Requires-Dist: hydra-core >=1.2.0
Requires-Dist: termcolor >=2.1.1
Requires-Dist: chaospy >=4.3.7
Requires-Dist: Cython ==0.29.28
Requires-Dist: numpy-stl ==2.16.3
Requires-Dist: opencv-python ==4.5.5.64
Requires-Dist: scikit-learn ==1.0.2
Requires-Dist: symengine >=0.10.0
Requires-Dist: sympy ==1.5.1
Requires-Dist: timm ==0.5.4
Requires-Dist: torch-optimizer ==0.3.0
Requires-Dist: transforms3d ==0.3.1
Requires-Dist: typing ==3.7.4.3
Requires-Dist: vtk >=9.2.6
Requires-Dist: pillow ==9.3.0
Requires-Dist: notebook ==6.4.12
Requires-Dist: mistune ==2.0.3
Requires-Dist: pint ==0.19.2
Requires-Dist: tensorboard >=2.8.0

# Modulus Symbolic (Beta)

<!-- markdownlint-disable -->
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![GitHub](https://img.shields.io/github/license/NVIDIA/modulus-sym)](https://github.com/NVIDIA/modulus-sym/blob/master/LICENSE.txt)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
<!-- markdownlint-enable -->

Modulus Symbolic (Modulus Sym) provides an abstraction layer for using PDE-based symbolic
loss functions. Additional information can be found in the [Modulus documentation](https://docs.nvidia.com/modulus/index.html#sym).
Users of Modulus versions older than 23.05 can refer to the [migration guide](https://docs.nvidia.com/deeplearning/modulus/migration-guide/index.html)
for updating to the latest version.

## Modulus Packages

- [Modulus (Beta)](https://github.com/NVIDIA/modulus)
- [Modulus Launch (Beta)](https://github.com/NVIDIA/modulus-launch)
- [Modulus Symbolic (Beta)](https://github.com/NVIDIA/modulus-sym)
- [Modulus Tool-Chain (Beta)](https://github.com/NVIDIA/modulus-toolchain)

## Installation

### PyPi

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

```bash
pip install nvidia-modulus.sym
```

### Container

The recommended Modulus docker image can be pulled from the [NVIDIA Container Registry](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/modulus/containers/modulus):

```bash
docker pull nvcr.io/nvidia/modulus/modulus:23.09
```

## From Source

### Package

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

```Bash
git clone git@github.com:NVIDIA/modulus-sym.git && cd modulus-sym

pip install --upgrade pip
pip install .
```

### Source Container

To build release image, you will need to do the below preliminary steps:

Clone this repo, and download the Optix SDK from
<https://developer.nvidia.com/designworks/optix/downloads/legacy>.

```bash
git clone https://github.com/NVIDIA/modulus-sym.git
cd modulus-sym/ && mkdir deps
```

Currently Modulus supports v7.0. Place the Optix file in the deps directory and make it
executable. Also clone the pysdf library in the deps folder (NVIDIA Internal)

```bash
chmod +x deps/NVIDIA-OptiX-SDK-7.0.0-linux64.sh 
git clone <internal pysdf repo>
```

Then to build the image, insert next tag and run below:

```bash
docker build -t modulus-sym:deploy -f Dockerfile --target deploy .
```

Alternatively, if you want to skip pysdf installation, you can run the following:

```bash
docker build -t modulus-sym:deploy -f Dockerfile --target no-pysdf .
```

## Contributing

For guidance on making a contribution to Modulus, see the [contributing guidelines](https://github.com/NVIDIA/modulus-sym/blob/main/CONTRIBUTING.md).

## Communication

- Github Discussions: Discuss architectures, implementations, Physics-ML research, etc.
- GitHub Issues: Bug reports, feature requests, install issues, etc.
- Modulus Forum: The [Modulus Forum](https://forums.developer.nvidia.com/c/physics-simulation/modulus-physics-ml-model-framework)
hosts an audience of new to moderate level users and developers for general chat, online
discussions, collaboration, etc.

## License

Modulus Symbolic is provided under the Apache License 2.0, please see
[LICENSE.txt](./LICENSE.txt) for full license text.
