Repository navigation
v0.1.3
graintrace v0.1.3
A documentation-focused release. It adds a full documentation site (published to GitHub Pages) and lands the CPFE output-control and offline grid-resampling improvements. No breaking API changes; the pure-Python subset is unchanged.
Documentation (new)
- Documentation site at https://applied-material-modeling.github.io/graintrace/, built with Sphinx and deployed from CI (pydata theme with top-nav tabs: Getting started, Tutorials, Algorithms & theory, Guides, API).
- Notebook tutorials, one per workflow stage. The pure-Python ones (REI 2D/3D, REI comparison) execute at build time with real figures and carry an "Open in Colab" badge; native-stack tutorials (reconstruction, meshing, calibration, CPFE, grain tracking) are shown with a "requires the native stack" note.
- Algorithms & theory section: the model, equations, and algorithm behind each stage, with references and links to the tutorial and API.
- Guides: install (three tiers), quickstart, concepts and data formats, a full configuration reference, the MCP server, benchmarks, common pitfalls, and a docs-development page.
- API reference generated with autodoc; docstrings filled in on the major builders and runners (VoronoiMeshBuilder, VoxelMeshBuilder, NearFieldMeshBuilder, CPFESimulation, GridResampler, MaterialCalibration, IdentifyRareClusters).
- Docs CI: strict build plus doctest on every push/PR, and a "definition of done" rule (new code updates tests, docstrings, docs, CLAUDE.md, and the MCP layer).
CPFE & simulation
- Output-frequency controls for a run: grid_transfer (final / per_step / off), exodus_output (sync / per_step), and mesh_csv (sync / per_step / off), including a crisp per-element CSV written on the true mesh for full-fidelity rare-event identification.
- Offline grid resampler (GridResampler): regenerate regular-grid field CSVs from a saved CPFE Exodus after a cheap run, without re-solving.
- Configurable MPI launcher (mpiexec / srun) and automatic resolution of the NEML2 / libtorch library directories from the puma-opt repo layout.
Benchmarks
- bench_cpfe.py: --summarize sweep rollup, records ncore and output modes, and fails fast on GPU OOM.
Fixes
- Dependency check updated for the current pyzag adapter symbol.