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

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:

  • 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:

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.