Skip to content

v0.1.3

Choose a tag to compare

@hdt5kt hdt5kt released this 26 Aug 19:35
· 133 commits to main since this release

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.