Solutions · Batteries & energy storage

Batteries: from cycler files to a ranked, evidence-labelled shortlist

The public mirror of the Batteries depth studio. Cycle-life fits and transport mixing are computed, remaining-useful-life forecasts are predicted with an interval, and missing data is labelled — never dressed up as a measurement.

Jobs to be done

What batteries teams come here to do

Each job maps to a module that exists — the links go straight into the platform.

  • Parse vendor cycler files — Bio-Logic, Arbin, Neware and Landt exports become structured, evidence-tagged rows instead of retyped spreadsheets (/instruments).
  • Fit capacity fade and forecast RUL — A semi-empirical fade model with a temperature term returns remaining useful life with a split-conformal interval at the 80% end-of-life threshold (/batteries/depth).
  • Screen multi-component electrolytes — Mixture viscosity, density and conductivity from component data — or a labelled group-contribution estimate when measured conductivity is missing (/studio/batteries).
  • Balance life, cost and footprint — Search compositions and conditions with cycle life, material cost and GWP as objectives rather than afterthoughts (/studio/optimization, /studio/lca).
  • Close the loop — Log validation runs and feed measured results back into the model before the next campaign (/studio/bench).
Evidence & limits

What the outputs can honestly support

Screening-grade where true; engine-labelled everywhere.

What the numbers are — and are not.Cycle-life fits and electrolyte mixing are COMPUTED; missing electrolyte properties are filled by a labelled group-contribution estimator. Remaining-useful-life forecasts are PREDICTED with a split-conformal interval — a planning aid, not a warranty. The physics tier adds discharge simulation, cell design and EIS fitting where the engine is installed; the result names which engine path ran. Treat any shortlist as a hypothesis to confirm on the bench.
FAQ

Questions before you start

Including the limitations we would rather state now.

What data does Matflow need to fit cycle life?
Cycler rows with cycle number and capacity (temperature optional), ideally parsed from the vendor file on /instruments. The depth fit requires at least 8 rows to run, and the usefulness of an RUL interval grows with the number of cycles — when the interval is too wide to trust, the platform says so rather than hiding it.
Is the RUL a warranty?
No. It is a PREDICTED split-conformal interval from a fitted degradation model — a planning input to validate on your cells (client/src/pages/docs/content.jsx, domain-packs/batteries).
Does Matflow run real battery physics?
The physics tier adds discharge simulation, cell design and EIS Nyquist fitting where the engine is installed; each result names the engine that ran and a missing engine is labelled DEMO rather than replaced by a fabricated number (client/src/pages/docs/content.jsx, domain-packs/batteries; benchmarks/overview).
Can I screen electrolytes without measured conductivity?
Yes — with an honestly labelled atom-count group contribution from SMILES when measured conductivity is missing. Measured component data takes precedence when present (client/src/pages/docs/content.jsx, domain-packs/batteries).
Where do my files live?
Under your account directory, with every served path validated against it. Datasets and provenance export as CSV and RO-Crate (backend/core/paths.py:71-105).

Start with a cycler file

Upload a Bio-Logic, Arbin or Neware export, review the parsed rows, and fit your first degradation curve — free tier, no card.