NeuroFEM / NEMO

One model.
The physics lives in the data.

NEMO is a geometry-native, physics-conditioned neural surrogate for multi-physics simulation, with MOOSE as the final judge. Every claim here carries a number and a source.

15Physics modesOne model, one discrete mode id.
42MOOSE generatorsProven on real solves.
174Stamped formulasCatalogued and checked.
20Differentiable physics125/125 live tests.
ONE MODEL

Not one network per physics.
One trunk that selects its operator.

The physics lives in the data

One trunk selects its operator from a discrete physics-mode id plus material and boundary conditions — not one network per physics. The architecture carries 15 modes; 42 MOOSE generators are proven on real solves.

Coupling by fixed point

52 coupling configurations are classified into C1/C2/C3 tiers. Multi-physics is solved by an in-core fixed-point loop whose stability is measured by a spectral-radius criterion — proven for a linear operator, an estimate for nonlinear couplings.

Escalation, not invention

The classical solver (MOOSE) is the final judge. A missing field is a refusal, never a fabricated value. If the bridge to the solver is unavailable, the code raises an error.

Material input

141,581 materials in the database, 41 in the engine, 4 deeply trained families.

TRUST AS THE PRODUCT

174 formulas, three independent methods.

Every formula-bearing claim was extracted from the code, catalogued, and checked along three independent paths. The result includes what does not check out.

Symbolic

Wolfram Alpha Full Results API — 148 successful live queries

Derived

sympy / numpy — 35 checks, 35 PASS

Numeric

pytest — rev15.0: 996 passed, 85 skipped · root tests/: 563 passed · 0 failed

Status of the 174 claims

VERIFIED-3WAY31
VERIFIED-2WAY62
VERIFIED-SYMBOLIC-ONLY44
VERIFIED-NUMERIC-ONLY16
UNVERIFIABLE-CITED10
GAP9
NOT-A-CLAIM2
Total174

The no-fake contract

A missing field is a refusal, never a fabricated zero. If the bridge to the solver is unavailable, the code raises an error instead of manufacturing a truth. Uncertainty from an untrained head is not served — a typed 409 comes back, not a number.

Checked against physics itself

A six-layer trust stack checks the prediction against physics, not against another prediction: true physics (∇·u = 2) returns 2.0000. The live MOOSE gate has already rejected a non-improving proposal.

DIFFERENTIABILITY

∂physics / ∂shape.
The answer is an editable proposal, not a picture.

The gradient flows through the CutFEM solvers — 20 differentiable physics modes, 125/125 live tests. Geometry travels as a θ envelope of Gaussian surfels: the contract with NeuroCAD that lets the result be edited, not just viewed.

θ → SDF → CutFEMThe field round-trips at rel-L2 = 0.0212
Equilibrium residual1.95e-6
Finite-difference check3.4e-4 (threshold 1e-2)
Peak-stress optimization209.5 → 180.8 MPa (−13.7%), monotonic
Discretization budgetdKt = C·(Δs/ρ)², C ≈ 3.86, locked threshold |dKt| ≤ 0.08
INDUSTRIAL BEACHHEADS

Where the machine meets manufacturing.

The data and the pipelines exist and are smoked end-to-end. The beachhead models are not trained yet — that is declared, not omitted.

PCB thermal

A 113-board corpus, pipeline proven 100/100. A KiCad ingest path takes a raw .kicad_pcb straight to predict(); the mechanism was smoked end-to-end on a real 100×140 mm board with 86 components.

LPBF additive manufacturing

A real MOOSE smoke shows the hot spot travelling through the part (ΔT → 266 K, 7 frames). Process parameters (power density, scan speed, spot radius) are written into material-vector slots 30–32: different (Q, v) gives 97.7 K vs 618 K.

Composites

Classical Lamination Theory (ABD matrices, reduced stiffness Q, transformation), equivalent homogenized constants, ply thermodynamic admissibility, the Tsai-Wu criterion, and pin-jointed draping — validated formulas in the stamp.

Batteries

An electrochemical model, live at 3.32 V; life 1500 cycles, CI [1157, 1945]. Declared limit: this is a simplified lumped surrogate, not a certified Doyle-Fuller-Newman solver.

WHERE WE ARE

The honest finding.

This list is part of the product. When one of the numbers below improves, we will change it — not before.

  • Stress sits at 0.3631 local-peak rel-L2 against our own gate of 0.15 — missing it by 2.4× on error and 3.8× on peak location. The model under-predicts the peak in 57–93% of cases.
  • The TRL5 gate for the stress vertical was accepted at ≈0.20 (0.208 ± 0.002, 820 shards, 2 seeds) on the 2048-point protocol. That same protocol understates full-mesh peak error by ~50–90% — the real wall is higher.
  • The UQ head is not trained. The server refuses to serve uncertainty (a typed 409 uq_unavailable), pinned by a test. Until 2026-07-12 this claim was false — the server served numbers from an untrained head; fixed and locked.
  • 2-seed disagreement is a weak trust signal (corr 0.265, false-alarm 47–57%) — it is not claimed as calibrated escalation.
  • There is no trained thermal model evaluated on a geometry-disjoint holdout. An earlier 0.0085 figure has been withdrawn.
  • The beachhead surrogates (PCB / LPBF / batteries) have data and pipelines; the models are not trained.
  • Gate 1 — the 48-physics pump — is a separate, still-open claim.
  • Temporal dynamics are code, not a trained model.
  • Of the 174 formulas: 9 are GAP, 10 are UNVERIFIABLE-CITED. Declared, not hidden.
  • Today we train on procedural shapes — that is, on ~0.4% of the CAD corpus we hold (~1M ABC models, 621 GB, plus 27,068 licensed).
  • REV15 is in training. The acceptance gates have not been run. No number, no claim.

Sources: NEMO whitepaper REV14, CAPABILITIES REV14, the TRL5 evidence package and the mathematical validation stamp (2026-07-29).

Want these numbers on your part?

Pilots are arranged individually. Tell us which part and which physics.