feat: add linear static workflow model
This commit is contained in:
+28
-1
@@ -13,10 +13,37 @@ Every new agent session must read this file together with `PLAN.md` before plann
|
||||
- Do not remove history unless the user explicitly asks for archival cleanup.
|
||||
|
||||
## Current Status
|
||||
Phase 1 has a new rebaseline phase definition in `phases/1-linear-static-mitc4-rebaseline`. Steps 0 through 12 are complete. `quad_02_phase1.inp` is now the normalized Phase 1-compatible input path for the stored `quad_02` S4 reference pair, while the original `quad_02.inp` remains preserved unsupported provenance. Core numeric aliases, DOF mapping, validation harness, model diagnostic context, the Phase 1 parser/domain subset, validation/singular diagnostics, DofManager/reaction foundation, minimum result model metadata, displacement CSV comparator foundation, MITC4 geometry/director scaffolding, MITC4 displacement/strain/tying row scaffolding, MITC4 material/transform/integration scaffolding, MITC4 stiffness/drilling/internal-force scaffolding, MITC4 patch/locking-sensitivity tests, full-space assembly, reduced projection, sparse-pattern scaffold, solver adapter injection, and full-vector internal/reaction force state have been revalidated. The old `phases/1-linear-static-mitc4` path is historical and superseded after the MITC4 formulation reset.
|
||||
Phase 1 has a new rebaseline phase definition in `phases/1-linear-static-mitc4-rebaseline`. Steps 0 through 13 are complete. `quad_02_phase1.inp` is now the normalized Phase 1-compatible input path for the stored `quad_02` S4 reference pair, while the original `quad_02.inp` remains preserved unsupported provenance. Core numeric aliases, DOF mapping, validation harness, model diagnostic context, the Phase 1 parser/domain subset, validation/singular diagnostics, DofManager/reaction foundation, minimum result model metadata, displacement CSV comparator foundation, MITC4 geometry/director scaffolding, MITC4 displacement/strain/tying row scaffolding, MITC4 material/transform/integration scaffolding, MITC4 stiffness/drilling/internal-force scaffolding, MITC4 patch/locking-sensitivity tests, full-space assembly, reduced projection, sparse-pattern scaffold, solver adapter injection, full-vector internal/reaction force state, active AnalysisModel construction, and input-to-AnalysisState-to-U/RF result workflow have been revalidated. The old `phases/1-linear-static-mitc4` path is historical and superseded after the MITC4 formulation reset.
|
||||
|
||||
## Completed Work
|
||||
|
||||
### 2026-05-04 - P1R-13 linear static workflow completed
|
||||
Author: Codex
|
||||
|
||||
Changed files:
|
||||
- `include/fesa/fesa.hpp`
|
||||
- `tests/test_main.cpp`
|
||||
- `phases/1-linear-static-mitc4-rebaseline/index.json`
|
||||
- `PLAN.md`
|
||||
- `PROGRESS.md`
|
||||
|
||||
Summary:
|
||||
- Added an explicit `AnalysisModel` value object for the active Phase 1 linear static step, including active element ids, boundary/load indices, shell section indices, and material keys.
|
||||
- Added `buildLinearStaticAnalysisModel()` and routed `LinearStaticAnalysis` through it before DOF mapping, assembly, solve, state update, and result writing.
|
||||
- Preserved the one-step Phase 1 execution boundary with a diagnostic for multiple parsed steps instead of silently executing them.
|
||||
- Added `runLinearStaticInputString()` so parser diagnostics, domain validation diagnostics, active model construction, solve, `AnalysisState`, and `U`/`RF` result writing are exercised as one workflow.
|
||||
- Extended the in-memory result model with element type metadata and ensured result writing uses the active model step name.
|
||||
- Added tests for active model activation without mutating `Domain`, multiple-step rejection, input-to-result `U`/`RF` schema readiness, full-vector reaction balance, and parse/validation error propagation through the workflow.
|
||||
|
||||
Verification:
|
||||
- First ran `python scripts/validate_workspace.py` after adding Step 13 tests; it failed as expected because `AnalysisModel` and input-string workflow APIs did not exist yet.
|
||||
- After implementation, `python scripts/validate_workspace.py` configured CMake, built `fesa_core` and `fesa_tests`, and ran CTest successfully.
|
||||
- CTest result: 1 test executable passed.
|
||||
|
||||
Follow-up:
|
||||
- Continue with P1R-14 stored-reference displacement regression using `references/quad_02_phase1.inp` and `references/quad_02_displacements.csv`.
|
||||
- Step 13 intentionally did not add nonlinear, dynamic, pressure, thermal, HDF5, multi-step execution, or stored Abaqus CSV regression behavior.
|
||||
|
||||
### 2026-05-04 - P1R-12 assembly sparse solver path completed
|
||||
Author: Codex
|
||||
|
||||
|
||||
Reference in New Issue
Block a user