Files
FESADev/phases/analysis-model-objects/step5.md
T
2026-06-09 09:04:21 +09:00

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.