pinnrl
Physics-informed neural networks for forward and inverse PDE problems, evaluated against numerical references.
A PINN represents the solution of a PDE as a neural network, trained to satisfy the equation, its boundary and initial conditions, and any measured data. pinnrl provides:
- 10 PDE configurations: heat (1-D, 2-D), wave, Burgers, convection, KdV, Allen–Cahn, Cahn–Hilliard, Black–Scholes and a damped pendulum. Each exact solution is checked by the test suite against its PDE, initial condition and boundary conditions.
- 7 architectures: MLP, ResNet, Fourier features, SIREN, FNO-style, attention and autoencoder.
- Collocation sampling: uniform, stratified, residual-based adaptive (RAD), and an experimental reinforcement-learning bandit.
- Inverse problems: identify PDE parameters from noisy observations.
- The Well: train on 11 high-fidelity simulation datasets.
- A dashboard to launch, monitor and compare runs, and benchmarks with reference solutions and a multi-seed sampling study.
Install
pip install pinnrl # Python 3.10–3.13; CPU, Apple GPU (mps) or CUDA
pip install 'pinnrl[well]' # + The Well dataset loaders
Use
pinnrl-train --pde burgers --arch fourier --epochs 2000 # results in ./runs/
pinnrl-train --pde heat --arch fourier --mode inverse --identify alpha --initial-guess alpha=0.5
pinnrl-dashboard # http://127.0.0.1:8050/
pinnrl-benchmark sampling --seeds 10 # uniform, stratified, RAD, RL bandit
The Python API is the same pieces: a PDEConfig and PDE class, a PINNModel, and PDETrainer. See Getting started.
When a PINN is the right tool
For a well-posed forward problem in low dimension, classical solvers are faster and far more accurate; the docs show the numbers. PINNs pay off for inverse problems, for combining physics with sparse data, and for mesh-free or high-dimensional settings. The project's direction is the first of these applied to industry: digital twins that estimate unmeasured states of process equipment (first target: evaporators and spray dryers in food-powder plants). See Applications and the Research program.
Documentation
josegarciav.github.io/PINNs-RL-PDE: concepts, the equations, guides, benchmarks, the API reference and the roadmap. The tutorials are in notebooks/, and research studies in experiments/.
Contributing
See CONTRIBUTING.md. In short: uv sync --all-extras, uv run pytest, conventional commits, and physics changes must keep tests/unit_tests/test_physics_consistency.py green.
Citation
pinnrl started as the MSc thesis On Solving Partial Differential Equations (PDEs) Using Physics-Informed Neural Networks (PINNs) (University of the Basque Country UPV/EHU, 2025); the thesis is at docs/assets/thesis.pdf.
@software{garcia_pinnrl,
author = {Garcia Ventura, Jose},
title = {pinnrl: physics-informed neural networks with adaptive collocation sampling},
url = {https://github.com/josegarciav/PINNs-RL-PDE}
}
MIT License © Jose Garcia Ventura
Metadata
Release files for pinnrl 0.4.0
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 | |
|---|---|---|---|---|
| pinnrl-0.4.0.tar.gz | 170.8 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pinnrl-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 305.2 kB
Release files / pinnrl-0.4.0.tar.gz
| Download URL | pinnrl-0.4.0.tar.gz |
|---|---|
| Size | 170.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
97f9aa403fd3841b64f77615452c79f766fd5dce6cf303d1cddd4ca03a966b4a
|
|
BLAKE2b-256 checksum How to use checksums |
0f1145a4def5e8ad876c83a497a228cb9778d9717ffa312fd0999b9be00fed4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / pinnrl-0.4.0-py3-none-any.whl
| Download URL | pinnrl-0.4.0-py3-none-any.whl |
|---|---|
| Size | 134.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
62e2f5d5ae1fa78f65d428b1a97118ae1804cf95d1105c0e834f04b8d8df2a46
|
|
BLAKE2b-256 checksum How to use checksums |
c017981eea0858381e78249df10e8496d32428ef1f1a63a557d81d50ce8f181b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logSecurity for pinnrl 0.4.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for pinnrl-0.4.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logA 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.