Files
FESADev/phases/1-structure-alignment-refactor/step6.md
T

69 lines
2.6 KiB
Markdown

# 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.