Skip to content

Pinneaple is an open-source Physics AI toolkit for Physics-Informed Neural Networks (PINNs), scientific ML, geometry processing, solvers, and reproducible training pipelines.

License

Notifications You must be signed in to change notification settings

barrosyan/PINNeAPPle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Pinneaple ๐Ÿ

Unified Physical Data, Geometry, Models and Training for Physics AI

Pinneaple is an open-source Python platform designed to bridge real physical data, geometry, numerical solvers, and machine learning models into a single coherent ecosystem for Physics-Informed AI.

It is built to serve both research and industrial workflows, with strong emphasis on:

  • Physical consistency
  • Scalability
  • Auditability
  • Interoperability with CFD / CAD / scientific data formats

โœจ Key Features

๐Ÿ“ฆ Unified Physical Dataset (UPD)

A standardized abstraction to represent physical samples, including:

  • Physical state (grids, meshes, graphs)
  • Geometry (CAD / mesh)
  • Governing equations, ICs, BCs, forcings
  • Units, regimes, metadata and provenance

Used consistently across data loading, training, validation, and inference.


๐ŸŒ Data & IO (pinneaple_data)

  • NASA / scientific-ready data pipelines
  • Zarr-backed datasets with:
    • Lazy loading
    • Sharding
    • Adaptive prefetch
    • Byte-based LRU caching
  • Deterministic shard-aware iterators
  • Physical validation and schema enforcement

๐Ÿ“ Geometry & Mesh (pinneaple_geom)

  • CAD generation (CadQuery)
  • STL / mesh IO (trimesh, meshio, OpenFOAM MVP)
  • Mesh repair, remeshing and simplification
  • Sampling (points, grids, barycentric)
  • Geometry-aware feature extraction

๐Ÿง  Model Zoo (pinneaple_models)

A curated catalog of architectures commonly used in Physics AI:

  • PINNs (Vanilla, XPINN, VPINN, XTFC, Inverse PINN, PIELM)
  • Neural Operators (FNO, DeepONet, PINO, GNO, UNO)
  • Graph Neural Networks (GraphCast-style, GNN-ODE, equivariant GNNs)
  • Transformers (Informer, FEDformer, Autoformer, TFT)
  • Reduced Order Models (POD, DMD, HAVOK, Operator Inference)
  • Classical & hybrid models (Kalman, ARIMA, Koopman, ESN)
  • Physics-aware & structure-preserving networks

All models are discoverable via a central registry.


๐Ÿงฎ Physics Loss Factory (pinneaple_pinn)

  • Symbolic PDE definitions (SymPy-based)
  • Automatic differentiation graph construction
  • PINN-ready residuals and constraints
  • Works directly with UPD samples

โš™๏ธ Solvers (pinneaple_solvers)

Numerical solvers and mathematical tools used for:

  • Data generation
  • Feature extraction
  • Validation

Includes:

  • FEM / FVM (MVP)
  • FFT
  • Hilbertโ€“Huang Transform
  • Adapters to/from UPD

๐Ÿ—๏ธ Synthetic Data Generation (pinneaple_data.synth)

Generate datasets from:

  • Symbolic PDEs
  • Parametric distributions
  • Curve fitting from real data
  • Images and signals
  • Geometry perturbations and CAD parameter sweeps

๐Ÿš‚ Training & Evaluation (pinneaple_train)

  • Deterministic, auditable training
  • Dataset splitting (train/val/test)
  • Preprocessing pipelines & normalizers
  • Metrics & visualization
  • Physics-aware loss integration
  • Reproducible runs (seeds, env fingerprinting)
  • Checkpointing & inference utilities

๐Ÿš€ Installation

Pinneaple is currently distributed as an open-source research & industry framework directly from GitHub.

  1. Clone the repository
git clone https://github.com/barrosyan/pinneaple.git
cd pinneaple
  1. Create a virtual environment (strongly recommended)

Python โ‰ฅ 3.10 is recommended (3.11 works well; 3.13 may require extra care on Windows).

python -m venv .venv

Activate it:

Linux / macOS

source .venv/bin/activate

Windows (PowerShell)

.venv\Scripts\Activate.ps1
  1. Install core dependencies

Install Pinneaple in editable (development) mode:

pip install -e .

This installs:

pinneaple_data

pinneaple_geom

pinneaple_models

pinneaple_pinn

pinneaple_pdb

pinneaple_solvers

pinneaple_train

  1. Optional dependencies (recommended)

Pinneaple is modular. Install only what you need:

๐Ÿ”น Geometry / CAD / Mesh

pip install trimesh meshio
pip install cadquery  # requires OCC stack

โš ๏ธ On Windows, CadQuery is best installed via Conda:

conda create -n pinneaple-cq python=3.10 cadquery -c conda-forge
conda activate pinneaple-cq
pip install -e .

๐Ÿ”น Scientific & ML stack

pip install torch numpy scipy sympy

Optional (recommended for performance & operators):

pip install zarr numcodecs
pip install open3d fast-simplification

5๏ธ. Development & testing tools

For contributors:

pip install -e ".[dev]"
  1. Verify installation

Quick smoke test:

from pinneaple_models.register_all import register_all
from pinneaple_models.registry import ModelRegistry

register_all()
print("Registered models:", len(ModelRegistry.list()))

๐Ÿง  Notes

Pinneaple is not yet released on PyPI โ€” cloning the repo is required.

Some features (CFD, CAD, large-scale Zarr) rely on optional native backends.

All examples in examples/ are runnable after installation.

๐Ÿงช Quick Example

from pinneaple_data.physical_sample import PhysicalSample
import xarray as xr
import numpy as np

ds = xr.Dataset(
    data_vars=dict(T2M=(("t","x"), np.random.randn(24,16))),
    coords=dict(t=np.arange(24), x=np.arange(16))
)

sample = PhysicalSample(
    state=ds,
    domain={"type": "grid"},
    schema={"governing": "toy"},
)

print(sample.summary())

๐Ÿง‘โ€๐Ÿ”ฌ Who Is This For?

  • Physics AI researchers
  • CFD / FEA / climate ML teams
  • Industrial R&D groups
  • Scientific ML practitioners
  • Anyone building surrogates, inverse models, or hybrid solvers

๐Ÿค Contributing

We welcome contributions in:

  • New datasets & adapters
  • Models and solvers
  • Benchmarks
  • Documentation

See CONTRIBUTING.md.


๐Ÿ“„ License

Apache 2.0 โ€” see LICENSE.


๐Ÿ“š Citation

If you use Pinneaple in research, please cite via CITATION.cff.


๐ŸŒฑ Project Philosophy

Pinneaple is not a single model or method.

It is a platform โ€” designed to let physical data, geometry, equations and learning systems interact cleanly, reproducibly, and at scale.

From raw physics to deployable intelligence.


Status: Early but ambitious.
Feedback & collaboration welcome.

About

Pinneaple is an open-source Physics AI toolkit for Physics-Informed Neural Networks (PINNs), scientific ML, geometry processing, solvers, and reproducible training pipelines.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages