# Step 11: mitc4-element-baseline ## Sprint Contract ### Objective Implement the baseline MITC4 element utilities and stiffness path after the formulation gate is closed. ### Required Reading - /AGENTS.md - /PROGRESS.md - /PLAN.md - /docs/README.md - /docs/HARNESS_ENGINEERING.md - /docs/PRD.md - /docs/ARCHITECTURE.md - /docs/ADR.md - /docs/NUMERICAL_CONVENTIONS.md - /docs/MITC4_FORMULATION.md - /phases/1-linear-static-mitc4/step10.md ### Scope - Implement shape functions, derivatives, local basis utilities, MITC shear tying per the finalized formulation, stiffness calculation, and drilling stiffness parameter path. - Keep the element behind runtime-polymorphic element interfaces. - Produce a 24x24 element stiffness for four-node shell elements with six DOFs per node. ### Allowed Files - `include/**` - `src/**` - `tests/**` - `docs/MITC4_FORMULATION.md` only for errata discovered during implementation - `PLAN.md` - `PROGRESS.md` - `phases/1-linear-static-mitc4/index.json` ### Explicit Non-Goals - Do not implement S4R, reduced integration, hourglass control, nonlinear kinematics, pressure loads, composites, thermal coupling, or mesh quality checks. - Do not implement formulas that are still placeholders in `docs/MITC4_FORMULATION.md`. - Do not optimize element kernels before baseline benchmark behavior is established. ### Tests To Write First - Shape function partition and nodal interpolation tests. - Derivative and Jacobian/local basis tests. - 24x24 dimension and symmetry tests. - Rigid body or patch-style checks appropriate to the documented formulation. - Drilling stiffness sensitivity tests. ### Reference Artifacts - None required for this unit-level step. Stored-reference regression is Step 14. ### Acceptance Commands ```bash python scripts/validate_workspace.py ``` ### Evaluator Checklist - Step 10 formulation decisions are closed before code is added. - Element interface uses runtime polymorphism as documented. - Stiffness output dimension, DOF order, symmetry, and drilling behavior are tested. - No S4R or nonlinear behavior was introduced. ### Handoff Requirements - Record implemented formulation surface and validation in `PROGRESS.md`. - Update `PLAN.md` if benchmark or formulation risks remain. - Update the matching phase index entry: use `completed` with a one-line `summary`, or `blocked` with `blocked_reason`, or `error` with `error_message`. ## Verification 1. Run the acceptance command. 2. Inspect tests against the finalized MITC4 formulation checklist. ## Do Not - Do not hide formulation uncertainty in comments or TODOs inside executable code.