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:
- Problem and Data: Users define the mathematical problem, constraints, and domains (e.g., Cartesian domains) or import existing data.
- Model Design: Users select a model from the Model API or build a custom PyTorch module (including support for Kolmogorov–Arnold Networks).
- Solver Selection: A solver is chosen to determine the training strategy (e.g., physics-informed or supervised solvers).
- 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.