feat: add analysis model objects
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user