mathLab/PINA

Physics-Informed Neural networks for Advanced modeling

What it solves

PINA simplifies the development of Scientific Machine Learning (SciML) solutions. It provides a unified framework to build and experiment with models like Physics-Informed Neural Networks (PINNs), Neural Operators, and other data-driven modeling approaches without needing to write complex, hand-crafted implementations from scratch.

How it works

The library uses a modular four-step pipeline built on PyTorch, PyTorch Lightning, and PyTorch Geometric:

  1. Problem and Data: Users define the mathematical problem, constraints, and domains (e.g., Cartesian domains) or import existing data.
  2. Model Design: Users select a model from the Model API or build a custom PyTorch module (including support for Kolmogorov–Arnold Networks).
  3. Solver Selection: A solver is chosen to determine the training strategy (e.g., physics-informed or supervised solvers).
  4. Training: The model is optimized using a Trainer API powered by PyTorch Lightning for scalable, multi-device performance.

Who it’s for

Researchers and engineers working in scientific computing, physics, and mathematics who need to integrate physical laws (like PDEs/ODEs) into neural network training.

Highlights

  • Modular Architecture: Uses a mixin architecture to decouple preprocessing, forward passes, and postprocessing.
  • AI-Assisted Development: Includes dedicated AI agent skills to guide users through problem setup, model selection, and training via natural conversation.
  • Broad Support: Handles time-dependent problems, graph-structured data, and analytical derivatives.
  • Flexible Solvers: Offers various solvers, including autoregressive solvers for sequential prediction and multi-model solver support.