58 lines
1.4 KiB
Markdown
58 lines
1.4 KiB
Markdown
# 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.
|