P3D: Highly Scalable 3D Neural Surrogates for Physics Simulations
Authors: Benjamin Holzschuh, Georg Kohl, Florian Redinger, Nils Thuerey
P3D is a scalable framework for learning neural surrogates for high-resolution 3D physics simulations. The P3D model series combines convolutional blocks for fast local feature processing with windowed self-attention for deep representation learning in a hierarchical U-shaped architecture.
Quick Installation
# Install from PyPI
pip install p3d-surrogate
# Or install from source
git clone https://github.com/tum-pbs/P3D.git
cd P3D
pip install -e .
Usage
P3D is designed to efficiently process and predict the evolution of physical systems described by partial differential equations (PDEs) on 3D volumetric grids.
from p3d_surrogate import P3D_S
import torch
# Load pre-trained model
model = P3D_S(channel_size=4, channel_size_out=4).cuda()
# Run a forward pass on a 3D physics field
# Shape: (batch, channels, depth, height, width)
x_128 = torch.randn((1, 4, 128, 128, 128), dtype=torch.float32).cuda()
x_64 = torch.randn((1, 4, 64, 64, 64), dtype=torch.float32).cuda()
prediction_128 = model(x_128).sample
prediction_64 = model(x_64).sample
Examples
- Isotropic Turbulence Rollout: Autoregressive rollout of isotropic turbulence.
- Probabilistic Channel Flow Generation: Generate turbulent channel flow using P3D-L and visualize the results.
- More to come!
Datasets
- APE3D: Modified version of APEBench. For dataset generation, see
data/simulations_apebench. - Isotropic Turbulence: Available on JHTDB. See
data/download_jhtdbfor download instructions. We provide a single snapshot att=420on Hugging Face. - Turbulence Channel Flow: Data generation based on PICT. Data is provided on Hugging Face.
Citation
@inproceedings{holzschuh2026p3d,
title = {P3D: Highly Scalable 3D Neural Surrogates for Physics
Simulations with Global Context},
author = {Benjamin Holzschuh and Georg Kohl and
Florian Redinger and Nils Thuerey},
booktitle = {The Fourteenth International Conference on
Learning Representations},
year = {2026},
url = {https://openreview.net/forum?id=8UdCE5nhFl}
}
Metadata
Release files for p3d-surrogate 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| p3d_surrogate-0.0.4.tar.gz | 35.2 kB | Without provenance | Details for p3d_surrogate-0.0.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| p3d_surrogate-0.0.4-py3-none-any.whl | Python 3 | none | any | Details for p3d_surrogate-0.0.4-py3-none-any.whl |
Total release size: 69.9 kB
Release files / p3d_surrogate-0.0.4.tar.gz
| Download URL | p3d_surrogate-0.0.4.tar.gz |
|---|---|
| Size | 35.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6b332316b25be16c123693bec026d7863b2a3b68bce65c2679efe5a1a0d35d49
|
|
BLAKE2b-256 checksum How to use checksums |
d3dcb63b7e3127807a85a87961fd2325efadd4da945f663cdffc78036a9dfb4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.7
|
Release files / p3d_surrogate-0.0.4-py3-none-any.whl
| Download URL | p3d_surrogate-0.0.4-py3-none-any.whl |
|---|---|
| Size | 34.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9018db450e3f2f7ca14038eda60c1b7a84e6a775f97dfc19ad834c8c707dd530
|
|
BLAKE2b-256 checksum How to use checksums |
022d0fe2a461197c69c5cd926a47d5eea16529ce0dc191709b1412659a1f9c99
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.7
|
Security for p3d-surrogate 0.0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.