3.0 KiB
3.0 KiB
Sprint Contract: Assembly Analysis Extraction
Objective
Move full-space assembly, reduced projection, reaction recovery path, analysis state/result objects, and linear static workflow into Assembly and Analysis while preserving Phase 1 solver behavior.
Required Reading
- /AGENTS.md
- /PROGRESS.md
- /PLAN.md
- /docs/README.md
- /docs/HARNESS_ENGINEERING.md
- /docs/ARCHITECTURE.md
- /docs/ADR.md
- /docs/NUMERICAL_CONVENTIONS.md
- /docs/RESULTS_SCHEMA.md
- /docs/MITC4_FORMULATION.md
- /docs/VERIFICATION_PLAN.md
- /phases/1-structure-alignment-refactor/step0-architecture-map.md
- /phases/1-structure-alignment-refactor/step2.md
- /phases/1-structure-alignment-refactor/step3.md
- /phases/1-structure-alignment-refactor/step5.md
- /phases/1-structure-alignment-refactor/step7.md
Scope
- Extract
AssemblyResult,ReducedSystem, full-space assembly, reduced projection, and full-vector reaction recovery helpers intoAssembly. - Extract
AnalysisState,AnalysisResult,Analysis,LinearStaticAnalysis, and input-to-analysis convenience workflow intoAnalysis. - Keep Strategy + Template Method structure visible.
- Preserve
RF = K_full * U_full - F_full. - Preserve solver adapter injection and deterministic default solver behavior.
Allowed Files
include/fesa/fesa.hppinclude/fesa/Assembly/src/Assembly/include/fesa/Analysis/src/Analysis/include/fesa/Core/include/fesa/Element/include/fesa/Math/include/fesa/Results/include/fesa/IO/tests/CMakeLists.txtphases/1-structure-alignment-refactor/index.jsonPLAN.mdPROGRESS.md
Explicit Non-Goals
- Do not change solve algorithms, convergence logic, boundary-condition semantics, or result schema.
- Do not add nonlinear, dynamic, heat-transfer, pressure-load, RBE, or HDF5 behavior.
- Do not compute reactions from reduced quantities.
- Do not add production sparse storage beyond the existing scaffold.
Tests To Write First
- Add or update include/link tests for
AssemblyandAnalysismodule headers. - Preserve assembly, reduced solve, solver injection, full-vector RF, input-to-result workflow, and
quad_02_phase1reference regression tests as characterization tests.
Reference Artifacts
references/quad_02_phase1.inpreferences/quad_02_displacements.csv
Do not edit these files.
Acceptance Commands
python scripts/validate_workspace.py
Evaluator Checklist
- Assembly owns full-space stiffness/load preservation and reduced projection.
- Analysis owns execution flow and state updates.
DofManagerremains the owner of equation numbering and full/reduced mapping.- Full-vector RF recovery is unchanged.
quad_02_phase1displacement regression still passes.
Handoff Requirements
- Update this step status in
phases/1-structure-alignment-refactor/index.json. - Record moved assembly/analysis files and any remaining production implementation still left in
fesa.hpp.
Do Not
- Do not hide a behavior change under the label "refactor".
- Do not broaden Phase 1 feature scope.