Skip to content

PINNeAPPle

Physics AI that tells you when to trust it. Solve, simulate, forecast and design with physics-informed AI, and know for every result whether it still holds: checked against references, baselines and physical laws, with its uncertainty and its limits written down.

Get started Experiment catalogue GitHub

PINNeAPPle highlights

What it does

  • Simulate


    OpenFOAM around any body or through pipes and mixers, CalculiX from Python (pp.fea), lattice Boltzmann, DEM particles, a 3-D finite-element solver, black-hole hydrodynamics. Each one verified on a case with a known answer.

  • Learn


    PINNs, FNO, DeepONet, MeshGraphNet and equivariant GNNs, reduced-order models (POD, DMD, Operator Inference, parametric POD-GPR), forecasters, all trained against their baselines.

  • Trust


    Every result answers six questions: data and geometry, model, physical constraints, benchmark, uncertainty and the engineering decision. The evidence is a passing check, never a claim.

  • Show


    Blender renders, post-processor style FEA figures, process videos with live charts, a browser 3-D viewer and glTF / USD exports, from the same results the checks ran on.

From the experiment catalogue

experiment checked against result
Solids suspension in a stirred tank (DEM) Zwietering's just-suspended speed 288 rpm, inside 237–474 rpm
Plate with a hole (CalculiX, gmsh C3D10) Heywood's stress concentration Kt 2.59 vs 2.51, GCI 1.7 %
Cantilever, 3-D FEA (C3D8I) Timoshenko beam, CalculiX on the same mesh 0.6 % deflection, 3e-6 vs CalculiX
90° pipe bend, k-ω SST Colebrook friction, Ito bend loss 3.6 % and −15 %
Parametric beam ROM (POD-GPR) nearest training design, 20 unseen designs 0.4 % median error, 16 000× faster
Cylinder wake ROM (POD-DMD) probe spectrum, persistence Strouhal within 0.03 %, 3 % error over 3 periods

Every experiment, with its figures, movies, checks, tier and trust card, is in the experiment catalogue.

Five lines to a validated result

import pinneapple as pp

m = pp.fea.FEModel.from_gmsh(pp.fea.geo_l_bracket(), size=0.0025)     # CAD-like geometry, gmsh C3D10
m.material = pp.fea.Material("steel", E=210e9, nu=0.3)
base, top = m.nodes_where(lambda X: X[:, 2] < 1e-9), m.nodes_where(lambda X: X[:, 2] > 0.08 - 1e-9)
res = pp.fea.solve(m, pp.fea.Static(fix=[(base, (1, 2, 3))], loads=[(top, (2000.0, 0, 0))]), "work/bracket")
print(res.von_mises.max() / 1e6, "MPa")
pip install pinneapple
python -m pinneapple_lab run calculix_case -p case=plate_hole     # run, check, store, and see it in the catalogue

Where to go next

  • Installation and the first PINN.
  • The lab: experiments, datasets, curation, the trust card and reports.
  • 3-D studio, CFD and FEA: renders, OpenFOAM, CalculiX and particle videos.
  • Reduced-order models: POD, DMD, Operator Inference, parametric ROMs.
  • Module reference: every package and module, with explanations, examples that run, plots and the API.
  • Contribute: the open issues grouped by theme, area, release, priority and effort, with where to start.
  • PINNeAPPle Labs: who we are, the trust card and the open repositories.