# Sprint Contract: MITC4 Geometry Strain Extraction ## Objective Move MITC4 geometry, director, natural-coordinate, displacement, direct covariant strain, and MITC shear-tying helpers into the `Element` module without changing the documented formulation. ## Required Reading - /AGENTS.md - /PROGRESS.md - /PLAN.md - /docs/README.md - /docs/HARNESS_ENGINEERING.md - /docs/ARCHITECTURE.md - /docs/ADR.md - /docs/NUMERICAL_CONVENTIONS.md - /docs/MITC4_FORMULATION.md - /docs/VERIFICATION_PLAN.md - /phases/1-structure-alignment-refactor/step0-architecture-map.md - /phases/1-structure-alignment-refactor/step3.md ## Scope - Extract MITC4 natural points, tying points, director frames, geometry, integration basis, displacement derivative helpers, direct strain rows, and MITC shear tying rows. - Keep the FESA/Abaqus S4 node order and tying-point labels unchanged. - Keep diagnostics for invalid thickness, singular center normal, singular basis, and singular Jacobian. - Keep `drilling` handling out of this step except where existing local rotation structures require it. ## Allowed Files - `include/fesa/fesa.hpp` - `include/fesa/Element/` - `src/Element/` - `include/fesa/Core/` - `include/fesa/Math/` - `tests/` - `CMakeLists.txt` - `phases/1-structure-alignment-refactor/index.json` - `PLAN.md` - `PROGRESS.md` ## Explicit Non-Goals - Do not change MITC4 formulas, signs, tying interpolation, basis construction, or tolerances. - Do not move stiffness integration or material matrix code in this step unless needed only to resolve declarations. - Do not add S4R, reduced integration, hourglass control, pressure loads, or nonlinear geometry. ## Tests To Write First - Add or update include/link tests for MITC4 geometry/strain module headers. - Preserve finite-difference, tying interpolation, geometry, basis, and diagnostic tests as characterization tests. ## Reference Artifacts - None. ## Acceptance Commands ```bash python scripts/validate_workspace.py ``` ## Evaluator Checklist - MITC4 geometry/strain helpers live in `Element`. - The implementation still matches `docs/MITC4_FORMULATION.md`. - FESA tying point sign convention remains unchanged. - No parser, assembly, or result behavior changes are mixed in. - Existing MITC4 geometry and strain tests still pass. ## Handoff Requirements - Update this step status in `phases/1-structure-alignment-refactor/index.json`. - Record moved MITC4 geometry/strain files and any remaining Element symbols still left in `fesa.hpp`. ## Do Not - Do not simplify or rewrite the formulation during relocation. - Do not tune tests around floating-point drift unless a real relocation-induced bug is found and fixed.