# Step 3: mitc4-element-model ## Read First Read these files before editing: - `/AGENTS.md` - `/docs/AGENT_RULES.md` - `/docs/ARCHITECTURE.md` - `/docs/implementation-plans/analysis-model-objects-implementation-plan.md` - `/include/fesa/element/Element.hpp` - `/include/fesa/core/ElementDefinition.hpp` ## Task Add a MITC4 element model object skeleton. Allowed files: - Create `/include/fesa/element/Mitc4Element.hpp` - Create `/src/element/Mitc4Element.cpp` - Create `/tests/element/mitc4_element_model_test.cpp` - Modify `/CMakeLists.txt` Required behavior: - `Mitc4Element` derives from `Element`. - Stores element id, four node ids, and property id. - Reports `ElementType::Mitc4`. - Reports `nodeCount() == 4`. - Reports `dofCount() == 24`. - Preserves connectivity order. ## Tests To Write First Write `/tests/element/mitc4_element_model_test.cpp` before production changes: - Construct `Mitc4Element`. - Access it through `const Element&`. - Verify id, type, node count, DOF count, connectivity, and property id. Run targeted build and confirm RED because `Mitc4Element.hpp` is missing. ## Acceptance Criteria Run: ```powershell python scripts/validate_workspace.py ctest --test-dir build/msvc-debug --output-on-failure -C Debug -R model-object ``` Update step 3 status. ## Do Not - Do not implement element stiffness, Jacobians, MITC shear interpolation, resultants, stress, or integration-point state.