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

56 lines
1.4 KiB
Markdown

# Step 7: boundary-base-interface
## 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/BoundaryCondition.hpp`
## Task
Add boundary condition model base and single-point constraint object.
Allowed files:
- Create `/include/fesa/boundary/BoundaryCondition.hpp`
- Create `/include/fesa/boundary/SinglePointConstraint.hpp`
- Create `/src/boundary/SinglePointConstraint.cpp`
- Create `/tests/boundary/boundary_base_test.cpp`
- Modify `/CMakeLists.txt`
Required behavior:
- `BoundaryCondition` has virtual destructor and a boundary kind enum.
- `SinglePointConstraint` derives from `BoundaryCondition`.
- Stores node id, DOF, prescribed value.
- No matrix elimination or reaction recovery in this phase.
## Tests To Write First
Write `/tests/boundary/boundary_base_test.cpp` before production changes:
- Access `SinglePointConstraint` through `const BoundaryCondition&`.
- Verify kind, node id, DOF, value.
- Verify deletion through `std::unique_ptr<BoundaryCondition>`.
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 7 status.
## Do Not
- Do not apply constraints to matrices or compute reactions.