PINA-org/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 handle complex mathematical problems, such as those involving differential equations, by combining data-driven modeling with physics-based constraints, reducing the need to write repetitive, hand-crafted training loops.

How it works

The library operates through a four-step pipeline:

  1. Problem and Data: Users define the mathematical problem, identify constraints, or import datasets.
  2. Model Design: Users build a model using PyTorch or PyTorch Geometric, or select one from PINA's model API.
  3. Solver Selection: A solver is chosen to determine the strategy for solving the problem (e.g., physics-informed or supervised).
  4. Training: The model is optimized using a Trainer API powered by PyTorch Lightning.

Recent updates introduced a mixin architecture for solvers and dedicated support for Kolmogorov–Arnold Networks (KAN).

Who it’s for

It is designed for researchers and engineers working in scientific computing, physics-informed machine learning, and data-driven modeling who want a modular and scalable way to implement PINNs and Neural Operators.

Highlights

  • Unified SciML Framework: Supports Physics-Informed Neural Networks (PINNs), Neural Operators, and standard supervised learning.
  • Modular Architecture: Uses composable abstractions and a mixin architecture to allow easy replacement of components.
  • Sovereign AI Agents: Includes built-in AI agent skills to guide users through problem setup, model selection, and training via natural conversation.
  • Broad Model Support: Includes native support for KANs (Kolmogorov–Arnold Networks) with vectorized spline basis.
  • Scalable: Native support for multi-device training via PyTorch Lightning.