1.8 KiB
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:
Nodemodel object.- abstract
Elementbase and MITC4 model object skeleton. - abstract
Materialbase and linear elastic material model object. - shell property/section model object.
- abstract
Loadbase and nodal load model object. - abstract
BoundaryConditionbase and single-point constraint model object. DomainRAII ownership of polymorphic model objects throughstd::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:
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.