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
+54
View File
@@ -0,0 +1,54 @@
# Step 0: model-object-contract
## Read First
Read these files before editing:
- `/AGENTS.md`
- `/docs/PLAN.md`
- `/docs/PROGRESS.md`
- `/docs/WORKNOTE.md`
- `/docs/AGENT_RULES.md`
- `/docs/PRD.md`
- `/docs/ADR.md`
- `/docs/ARCHITECTURE.md`
- `/docs/implementation-plans/domain-model-foundation-implementation-plan.md`
- `/include/fesa/core/Domain.hpp`
## Task
Create `/docs/implementation-plans/analysis-model-objects-implementation-plan.md`.
The document must define the model object layer that will be stored by `Domain`:
- `Node` model object.
- abstract `Element` base and MITC4 model object skeleton.
- abstract `Material` base and linear elastic material model object.
- shell property/section model object.
- abstract `Load` base and nodal load model object.
- abstract `BoundaryCondition` base and single-point constraint model object.
- `Domain` RAII ownership of polymorphic model objects through `std::unique_ptr`.
State explicitly that this phase does not implement MITC4 stiffness, material constitutive matrices, global force assembly, boundary-condition matrix application, equation numbering, solver vectors, HDF5 output, reference comparison, or reference-solver execution.
Document how existing `*Definition` value objects remain compatible as input DTOs until parser/factory work replaces or maps them.
## Tests To Write First
This is a documentation planning step. Do not write C++ production code in this step.
## Acceptance Criteria
Run:
```powershell
python -m unittest discover -s scripts -p "test_*.py"
python scripts/validate_workspace.py
```
Update `/phases/analysis-model-objects/index.json` step 0 with `completed`, `error`, or `blocked`.
## Do Not
- Do not change C++ code in this step.
- Do not change MITC4 formulation, I/O contracts, reference artifacts, or tolerance policy.