1.2 KiB
1.2 KiB
Step 6: load-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/LoadDefinition.hpp
Task
Add load model base and nodal load object.
Allowed files:
- Create
/include/fesa/load/Load.hpp - Create
/include/fesa/load/NodalLoad.hpp - Create
/src/load/NodalLoad.cpp - Create
/tests/load/load_base_test.cpp - Modify
/CMakeLists.txt
Required behavior:
Loadhas virtual destructor and a load kind enum.NodalLoadderives fromLoad.- Stores node id, DOF, and value.
- No global vector assembly in this phase.
Tests To Write First
Write /tests/load/load_base_test.cpp before production changes:
- Access
NodalLoadthroughconst Load&. - Verify kind, node id, DOF, value.
- Verify deletion through
std::unique_ptr<Load>.
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 6 status.
Do Not
- Do not assemble forces or apply time/load factors.