feat: add analysis model objects

This commit is contained in:
김경종
2026-06-09 09:04:21 +09:00
parent fdeac602f4
commit 8f24213ab7
44 changed files with 1893 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
# 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:
```powershell
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.