1.2 KiB
1.2 KiB
Step 5: property-section-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/core/PropertyDefinition.hpp
Task
Add shell property/section model object.
Allowed files:
- Create
/include/fesa/property/ShellProperty.hpp - Create
/src/property/ShellProperty.cpp - Create
/tests/property/shell_property_test.cpp - Modify
/CMakeLists.txt
Required behavior:
- Stores property id, material id, and thickness.
- Exposes const accessors.
- Rejects non-positive thickness with
std::invalid_argument. - Does not compute shell section stiffness.
Tests To Write First
Write /tests/property/shell_property_test.cpp before production changes:
- Valid property stores id/material/thickness.
- Zero or negative thickness throws.
Run targeted build and confirm RED.
Acceptance Criteria
Run:
python scripts/validate_workspace.py
ctest --test-dir build/msvc-debug --output-on-failure -C Debug -R model-object
Update step 5 status.
Do Not
- Do not implement membrane, bending, or shear constitutive stiffness.