# Sprint Contract: MITC4 Material Stiffness Extraction ## Objective Move MITC4 material matrix, covariant-to-local transform, integration scaffolding, drilling stabilization, stiffness assembly, and internal force helpers into the documented `Element` and `Material` module boundaries. ## 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/step6.md ## Scope - Extract plane-stress MITC4 material matrix helpers and material diagnostics. - Extract `2 x 2 x 2` integration data, stiffness accumulation, local/global transform, drilling stabilization, `MITC4ElementKernel`, and internal force helpers. - Keep `drilling_stiffness_scale = 1.0e-3` and reference-diagonal policy unchanged. - Keep `Element` responsible for MITC4 element kernel behavior; keep reusable material-law helpers under `Material` if separated. ## Allowed Files - `include/fesa/fesa.hpp` - `include/fesa/Element/` - `src/Element/` - `include/fesa/Material/` - `src/Material/` - `include/fesa/Math/` - `tests/` - `CMakeLists.txt` - `phases/1-structure-alignment-refactor/index.json` - `PLAN.md` - `PROGRESS.md` ## Explicit Non-Goals - Do not change MITC4 stiffness formulas, drilling policy, integration order, or patch-test tolerances. - Do not add stress/resultant output. - Do not add reduced integration, S4R, hourglass control, nonlinear tangent stiffness, or pressure loads. - Do not change assembly behavior beyond include dependency repair. ## Tests To Write First - Add or update include/link tests for MITC4 stiffness/material module headers. - Preserve stiffness symmetry, rigid body, drilling sensitivity, internal force, patch, and locking-sensitivity tests as characterization tests. ## Reference Artifacts - None. ## Acceptance Commands ```bash python scripts/validate_workspace.py ``` ## Evaluator Checklist - MITC4 material and stiffness code no longer lives in the umbrella header as implementation. - Drilling policy matches `docs/MITC4_FORMULATION.md`. - Element patch and locking-sensitivity tests still pass. - No unsupported Abaqus behavior or result output is added. - Public facade includes remain compatible. ## Handoff Requirements - Update this step status in `phases/1-structure-alignment-refactor/index.json`. - Record moved MITC4 material/stiffness files and any remaining MITC4 implementation still left in `fesa.hpp`. ## Do Not - Do not optimize or parallelize element stiffness in this relocation step. - Do not use reference displacement mismatch to retune formulation parameters.