Files
FESADev/phases/1-linear-static-mitc4/step12.md
T
2026-05-01 02:40:19 +09:00

2.5 KiB

Step 12: assembly-reaction-recovery

Sprint Contract

Objective

Implement assembly of element stiffness/load contributions into full and reduced system data while preserving full-space data for reactions.

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
  • /phases/1-linear-static-mitc4/step6.md
  • /phases/1-linear-static-mitc4/step7.md
  • /phases/1-linear-static-mitc4/step11.md

Scope

  • Assemble global stiffness and load data from active elements and nodal loads.
  • Create reduced free-DOF systems using DofManager mappings.
  • Preserve or reconstruct full-space K_full, F_full, and U_full data needed for RF = K_full * U_full - F_full.
  • Add assembly diagnostics for missing contributions and singular-prone untouched DOFs where detectable.

Allowed Files

  • include/**
  • src/**
  • tests/**
  • PLAN.md
  • PROGRESS.md
  • phases/1-linear-static-mitc4/index.json

Explicit Non-Goals

  • Do not implement the full LinearStaticAnalysis orchestration here.
  • Do not compute reactions from reduced quantities only.
  • Do not add pressure loads, nonzero prescribed displacement, or nonlinear residual assembly.

Tests To Write First

  • Assembly tests for simple element/load contributions into full and reduced matrices/vectors.
  • Constrained elimination tests using known DOF mappings.
  • Full-vector reaction recovery tests using RF = K_full * U_full - F_full.
  • Missing contribution or untouched free DOF diagnostic tests.

Reference Artifacts

  • None required. RF reference CSV is not available; use internal equilibrium/reaction tests for this step.

Acceptance Commands

python scripts/validate_workspace.py

Evaluator Checklist

  • Full-space reaction data is preserved.
  • Reduced system assembly matches constrained/free DOF mapping.
  • Reaction tests use full vectors and the documented sign convention.
  • Unsupported loads and nonlinear behavior are not introduced.

Handoff Requirements

  • Record assembly and RF recovery behavior in PROGRESS.md.
  • Update PLAN.md if R-010 remains unresolved or becomes resolved.
  • Update the matching phase index entry: use completed with a one-line summary, or blocked with blocked_reason, or error with error_message.

Verification

  1. Run the acceptance command.
  2. Inspect reaction tests for full-vector recovery.

Do Not

  • Do not allow reduced-system convenience to overwrite the documented RF convention.