underPINN#
A modular, GPU-accelerated Physics-Informed Neural Network framework built on JAX + Flax + Optax
underPINN is a research-grade PINN engine that combines classical collocation-based PINNs with Finite Basis decomposition (FBPINN), attention-augmented networks, residual-based adaptive weighting/resampling, transfer learning (including windowed time-marching for long-horizon unsteady flows), shock capturing with learnable artificial viscosity, non-Newtonian (Carreau) blood rheology, neural operators (FNO, DeepONet, CViT), inverse problems, and a full restart/resume system — all JIT-compiled and differentiable via XLA on CPU, GPU, and TPU.
Install underPINN and train your first PINN in five minutes.
22 worked examples across 8 physics domains, from ODEs to 3-D turbulence.
TrainingConfig, callbacks, lax.scan fusion, and RAR-D adaptive resampling.
Fault-tolerant training that resumes exactly where it left off.
Key numbers#
22 |
Physics examples |
5 |
PDE solver classes |
19+ |
CLI-registered runners |
500× |
Less GPU dispatch overhead with |
3-D |
Unsteady Navier–Stokes support (pulsatile pipe flow) |
Auto |
Restart / resume on any interruption |
Why underPINN?#
Zero-boilerplate GPU memory management
JAX’s XLA allocator reserves ~90% of free VRAM the instant import jax runs. underPINN
sets XLA_PYTHON_CLIENT_PREALLOCATE=false automatically in every entry point, so a
3-layer MLP uses ~200 MB instead of reserving 73 GB on an 80 GB A100. See
GPU Memory Management for details.
YAML-driven, zero code changes
Every hyperparameter — network architecture, physics parameters, training schedule, loss weights — lives in a YAML file. Adding a brand-new physics case requires one script, one YAML file, and one line in the runner registry. See Command-Line Interface and Physics Examples.
Documentation contents#
Getting Started
Core Systems
- Training System
TrainingConfig— full field reference- Network architectures
lax.scanXLA fusion- RAR-D adaptive collocation resampling
- QR-DEIM-R adaptive collocation resampling
- Shock capturing — artificial viscosity
- Time-marching transfer learning
- RBA — residual-based adaptive weighting
- Gauss-Newton / natural-gradient training
- Callbacks
- Performance tips
- Restart / Resume System
- Model Checkpointing & Inference
- Transfer Learning
- Inverse Problems
- Neural Operators (PINO / DeepONet / CViT)
Citing underPINN#
If you use underPINN in research or publications, please cite:
@software{underPINN,
author = {Kumar Prashant, Senthilkumar Lohith, Ranjan Rajesh},
title = {underPINN: A Modular JAX Framework for Physics-Informed Neural Networks},
year = {2026},
version = {v2608},
url = {https://github.com/Aeroscience-Computations-Analysis-Lab/underPINN.git}
}
underPINN is released under the GPL-3.0 License. See LICENSE.txt for the full text.