2.3 KiB
2.3 KiB
Step 6: analysis-model-dof-manager
Sprint Contract
Objective
Implement AnalysisModelBuilder and DofManager for one active linear static step with six-DOF nodes, constrained/free mapping, equation numbering, sparse-pattern input, and full/reduced vector reconstruction.
Required Reading
- /AGENTS.md
- /PROGRESS.md
- /PLAN.md
- /docs/README.md
- /docs/HARNESS_ENGINEERING.md
- /docs/PRD.md
- /docs/ARCHITECTURE.md
- /docs/ADR.md
- /docs/NUMERICAL_CONVENTIONS.md
- /phases/1-linear-static-mitc4/step5.md
Scope
- Build an
AnalysisModelactive view from validatedDomain. - Assign six shell DOFs per active node in documented order.
- Apply fixed boundary conditions by constrained DOF elimination.
- Produce int64 equation numbers for free DOFs and mappings for constrained DOFs.
- Provide reconstruction helpers between reduced vectors and full vectors.
Allowed Files
include/**src/**tests/**PLAN.mdPROGRESS.mdphases/1-linear-static-mitc4/index.json
Explicit Non-Goals
- Do not assemble element stiffness or loads.
- Do not store equation ids on Node or Element objects.
- Do not solve linear systems or write HDF5 results.
Tests To Write First
- DOF numbering tests for simple models with all six components.
- Constrained/free partition tests for fixed boundary conditions.
- Reduced/full reconstruction tests including constrained values set to zero for Phase 1.
- Sparse-pattern input tests using active element connectivity without assembling values.
Reference Artifacts
- None.
Acceptance Commands
python scripts/validate_workspace.py
Evaluator Checklist
DofManagerowns global equation numbering.- ids, sparse indices, and equations remain int64-based.
- Fixed constraints are handled by elimination, not penalty.
- Reconstruction supports later full-vector
RFrecovery.
Handoff Requirements
- Record DOF behavior, tests, and validation in
PROGRESS.md. - Update
PLAN.mdonly for future work or resolved blockers. - Update the matching phase index entry: use
completedwith a one-linesummary, orblockedwithblocked_reason, orerrorwitherror_message.
Verification
- Run the acceptance command.
- Inspect tests for constrained/free and full/reduced mapping edge cases.
Do Not
- Do not make constrained DOF elimination depend on reduced-only reaction recovery.