Files
FESADev/phases/1-structure-alignment-refactor/step8.md
T

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 into Assembly.
  • Extract AnalysisState, AnalysisResult, Analysis, LinearStaticAnalysis, and input-to-analysis convenience workflow into Analysis.
  • 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.hpp
  • include/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.txt
  • phases/1-structure-alignment-refactor/index.json
  • PLAN.md
  • PROGRESS.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 Assembly and Analysis module headers.
  • Preserve assembly, reduced solve, solver injection, full-vector RF, input-to-result workflow, and quad_02_phase1 reference regression tests as characterization tests.

Reference Artifacts

  • references/quad_02_phase1.inp
  • references/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.
  • DofManager remains the owner of equation numbering and full/reduced mapping.
  • Full-vector RF recovery is unchanged.
  • quad_02_phase1 displacement 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.