Files
OneCAD-Simulation/ROADMAP.md
T
d8b3bb51e0 Element quality metrics and the certified validity gate (mesh.quality) (#12)
* mesh: element quality metrics and a certified Jacobian validity check

Bernstein-form Jacobian determinants for tet4/tet10/wedge6/hex8/hex20, certified
by bounds and subdivision (Johnen-Remacle-Geuzaine 2013); Shewchuk 2002 tet
metrics, Knupp 2001 hex/wedge/quad metrics; quality report and the validity
gate meshers run on their output.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

* engine: mesh.quality command; model documents its node order

mesh.quality reports certified validity, volume and per-metric statistics with
fixed-range histograms. The model's ElementKind doc states the Abaqus/VTK node
order and that deck code reorders formats like Nastran CHEXA20.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

* quality: simplify after review; exact orient3d for tet4; gate on raw mesher arrays

- tet4 validity from the exact orient3d of the input coordinates
- validity_gate_elements takes (label, kind, coordinates) straight from a mesher
- one Jacobian per solid; certify caches piece bounds; product weights precomputed
- model::check_coordinates shared by set_node and quality; ElementKind is Ord
- engine: shared labels() parameter parser

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

---------

Co-authored-by: jyviko <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-13 15:14:30 -04:00

1.9 KiB
Raw Blame History

Roadmap

ModelCraft's goal is CAE pre-processing on par with Abaqus/CAE, Nastran pre-processors and LS-PrePost, with hexahedral meshing as the centre of gravity, plus its own linear solver.

Milestone Scope Status
M0 Foundation Workspace, quality gates (cargo xtask ci), FE model, command engine with rollback and panic guard, CLI, geometry boundary on SolidCraft's kernel and tessellator done
M1 Surface preparation Geometry in: open .solidcraft designs, rebuilt by SolidCraft, with persistent face names (done); face-tagged 3MF files (geometry.import.mesh, docs/formats/tagged-mesh.md, done); exact predicates (Shewchuk adaptive, symbolic perturbation, indirect LPI/TPI, done); weld, closed/manifold/orientation checks and feature edges on the tessellated boundary; mesh quality metrics and the certified validity gate (modelcraft-mesh::quality, mesh.quality, done) in progress
M2 Tetrahedral meshing Bowyer–Watson Delaunay, robust constrained Delaunay boundary recovery (Diazzi et al. 2023), Delaunay refinement to a size field, ODT smoothing, Klingner–Shewchuk sliver removal; linear and quadratic tets planned
M3 Hexahedral meshing (core) Octree/grid dual all-hex (valid on any input), then hex-dominant by tet recombination, then polycube for blocky parts; see docs/meshing/literature.md planned
M4 Model definition Materials, sections, sets and surfaces, boundary conditions, loads, steps, output requests planned
M5 Solver decks Abaqus input, Nastran bulk data, LS-DYNA keyword: writers first, then readers planned
M6 Linear solver Element library, sparse assembly, linear static and modal analysis, verified against analytic solutions planned
M7 Desktop and agents egui desktop app, control channel, MCP server, browser build planned
M8 Post-processing Results display: deformed shape, contours, probes planned