Overview of PINA modules and components
masterPINA is organized into several functional modules that support the differential equation solving pipeline:
- Trainer, Data Loader and Data Module: Handles training loops, data loading, and data management (e.g.,
Trainer,Data Module,Aggregator). - Data Types: Core data structures like
LabelTensor,Graph, andLabelBatch. - Graphs Structures: Tools for building graph representations, such as
GraphBuilder,RadiusGraph, andKNNGraph. - Conditions: Defines constraints and requirements via the
Conditioninterface (e.g.,Domain Equation Condition,Time Series Condition). - Batch and Data Managers: Manages how data is batched and accessed (e.g.,
Batch Manager,Graph Data Manager). - Solvers: The core execution logic, ranging from
Single-Model Solverto specializedPhysics-InformedandAutoregressivesolvers. - Mixins: Reusable logic components for solvers (e.g.,
Physics-Informed Mixin,Ensemble Mixin). - Models: Neural architectures including
FeedForward,DeepONet,FNO(Fourier Neural Operator), andKAN(Kolmogorov-Arnold Network). - Blocks: Modular building blocks for models (e.g.,
Residual Block,Spectral Convolution Block,KAN Block). - Message Passing: Specialized blocks for graph-based learning (e.g.,
Interaction Network Block,E(n) Equivariant Network Block). - Reduction and Embeddings: Techniques for dimensionality reduction and feature embedding (e.g.,
POD Block,Fourier Feature Embedding). - Optimizers and Schedulers: Interfaces for optimization logic, including wrappers for
Torch OptimizerandTorch Scheduler. - Adaptive Functions: Specialized activation functions (e.g.,
Adaptive ReLU,Adaptive Sine). - Equations and Differential Operators: Definitions for mathematical equations and operators.
- Problems: High-level problem definitions (e.g.,
InverseProblem,ParametricProblem). - Geometrical Domains: Definitions of the spatial/temporal domains (e.g.,
CartesianDomain,SimplexDomain). - Domain Operations: Operations to manipulate domains like
Union,Intersection, andDifference. - Callbacks: Hooks to modify training behavior (e.g.,
Switch Optimizer,Metric Tracker).