Repository navigation
v0.1.2
graintrace 0.1.2
Second maintenance release. Headlines: pyzag is now installed automatically, CPFE runs end-to-end on the rebuilt NEML2 v3 / PUMA stack, a no-CUBIT voxel hex mesher, bring-your-own NEPER, CI, a benchmark suite, and a substantial docs overhaul.
Packaging & install
- pyzag==2.0.0 is now a pip dependency — pip install graintrace installs it automatically (it's pure-Python). NEML2 stays a PUMA source build (the PyPI NEML2 wheel pins an incompatible pyzag, so it's intentionally not used).
- Three-tier install documented by capability: Python-only → NEML2-only PUMA path (no full MOOSE build) → full CPFE.
- NEPER is now bring-your-own via the new graintrace/neper_env.py resolver (NEPER env var → graintrace_tools.json → PATH), with an opt-in auto_install=True Linux ~/.local build. gmsh ships via pip.
- Environment standardized on the PUMA build env; dropped the environment.yml step.
Features
- CPFE runs end-to-end on the rebuilt NEML2 v3 / PUMA stack, pinned to moose_neml2_v3 (run_cpfe.i fix).
- No-CUBIT voxel mesher — VoxelMeshBuilder.mesh(mesher="voxel") dumps the grid straight to Exodus (one cube hex per voxel, scaled-Jacobian = 1), alongside the default SCULPT hex path.
- Taylor model grain-base optimization for material calibration.
- Stitching: optional NEPER-tessellation extent refinement in scan_tessellation.
Tooling & CI
- CI added: lint (pylint) + formatting (black) + tests with coverage (run_tests.yml, formatting_check.yml).
- Benchmark suite under benchmark/ (calibration, CPFE, graph segmentation) with a shared harness.
Documentation
- README: renamed subtitle "Grain Texture and Response Analysis for Crystal Exploration", broadened the description beyond CPFE, added a capabilities table and an examples table, and a repo-clone note (examples/benchmark/mwe_data don't ship on PyPI).
- FF meshing default corrected: SCULPT hex (from the voxelized reconstruction) is the default; NEPER/gmsh tet .msh is a fallback, and CPFE runs on either hex or tet. Propagated across README, CLAUDE.md, skills, and MCP recipes.