feat: add mitc4 geometry directors

This commit is contained in:
NINI
2026-05-04 13:38:20 +09:00
parent 6de430f1ed
commit fa492f994d
5 changed files with 373 additions and 14 deletions
+27 -1
View File
@@ -13,10 +13,36 @@ 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 6 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, and displacement CSV comparator foundation 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 7 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, and MITC4 geometry/director scaffolding 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-07 MITC4 geometry and directors 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 MITC4 tests for shape-function derivatives, FESA/Abaqus S4 natural-coordinate node order, tying point labels `A`, `B`, `C`, and `D`, and edge-node mapping.
- Added Phase 1 MITC4 geometry structures for natural points, tying points, center midsurface derivatives, center-normal director policy, nodal director frames, and integration-point local Cartesian bases.
- Implemented the documented center director policy `Vn = normalize(G1_c x G2_c)`, nodal `V1 = normalize(EY x Vn)` with deterministic fallback axes, and right-handed `V2 = Vn x V1`.
- Added integration-basis construction from degenerated-continuum covariant basis vectors and diagnostics for invalid thickness, singular center normal, singular basis, and near-zero Jacobian.
- Replaced the legacy `computeLocalBasis()` internals with the new center-director geometry policy while leaving stiffness/strain/drilling reimplementation to later steps.
Verification:
- First ran `python scripts/validate_workspace.py` after adding Step 7 tests; it failed as expected because the MITC4 geometry/director API 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-08 degenerated-continuum displacement, covariant strain rows, and MITC shear tying.
- The existing stiffness kernel still needs to be rebuilt against the new formulation in steps 8 through 10; Step 7 intentionally did not add stiffness, stress, strain, or S4R behavior.
### 2026-05-04 - P1R-06 results model and displacement CSV comparator completed
Author: Codex