# Linear Static MITC4 Shell Requirements ## Metadata - feature_id: `linear-static-mitc4-shell` - title: `Linear Static MITC4 Shell` - status: `approved` - owner_agent: `requirement-agent` - date: `2026-08-12` - approval_basis: 사용자와 확정한 선형 정적 범위, `S4`/`S4R` 매핑, 6자유도 외부 계약, drilling 안정화, 자동 director 생성, 결과 및 검증 계약 - current_product_state: `requirements-approved-not-implemented` - formulation_alignment: `docs/formulations/mitc4-shell-formulation.md`는 이 baseline의 6자유도 및 고정 drilling 안정화 계약과 정렬함 - reference_inventory_state: `reference/shell/`의 S4와 `reference/shellR/`의 S4R input/displacement CSV를 기존 경로와 이름 그대로 사용함 ## Purpose 이 baseline은 승인된 Abaqus `.inp` subset의 4절점 `S4` 또는 `S4R` 요소를 FESA의 단일 MITC4 formulation으로 매핑하고, 소변형·소회전 선형 정적 해석을 수행해 검증 가능한 절점 및 쉘 요소 결과를 authoritative `results.h5`에 기록하는 다음 end-to-end 기능을 정의한다. FESA는 Abaqus `S4` 또는 `S4R` formulation을 재현한다고 주장하지 않는다. 두 source element type은 같은 FESA MITC4 formulation으로 매핑하며 source type과 internal formulation identity를 분리해 보존한다. Abaqus reference comparison은 병진변위 `U1/U2/U3`만 pass/fail에 사용하고 회전 `UR1/UR2/UR3`은 비차단 warning evidence로 사용한다. 이 문서의 승인은 MITC4가 현재 제품에 구현되었다는 뜻이 아니다. Research, Formulation, Numerical Review, I/O, Reference Model, Implementation Planning 및 이후 검증 gate가 순서대로 완료되어야 제품 기능이 된다. ## Source Basis - 사용자 승인 결정: 선형 정적 실행 범위, `S4`/`S4R` 공통 MITC4 매핑, 전역 6자유도, 비물리 drilling 안정화, 자동 두께방향 director, 단일층 등방성 재료, 필수 결과와 displacement 중심 reference 판정 - `docs/reference-papers/MITC4/`: MITC4 director kinematics, assumed transverse shear, 5-DOF physical kernel, 6-DOF transformation/stabilization 사례 및 shell benchmark 근거 - `docs/PRD.md`, `docs/ARCHITECTURE.md`, `docs/ADR.md`: end-to-end feature boundary, ownership, linear-static lifecycle, deterministic assembly, HDF5, reference immutability 및 failure atomicity - `docs/formulations/mitc4-shell-formulation.md`: 후속 정렬이 필요한 선행 draft이며 이 approved requirements baseline을 변경하는 근거로 사용하지 않음 ## In Scope - 입력 파일당 하나의 `*STEP, *STATIC` 선형 정적 해석 - small displacement와 small rotation - 4절점 bilinear quadrilateral MITC4 shell - Abaqus source element type `S4`와 `S4R`의 동일한 FESA MITC4 매핑 - 절점당 전역 자유도 `[UX, UY, UZ, URX, URY, URZ]` - 3개 병진과 director 접평면 회전 2개로 구성된 물리 MITC4 kernel - 비물리 local drilling 회전 1개에 대한 고정 수치 안정화 - 막, 굽힘, 횡전단 및 이들의 coupling - 단일층, 균질 등방성 선형 탄성 - element set별 일정한 양의 두께와 하나의 material을 갖는 `*SHELL SECTION` - 평면 및 매끄러운 곡면을 근사하는 유효한 사각형 mesh - midsurface geometry와 element connectivity로부터 초기 두께방향 unit director 자동 생성 - DOF 1~6의 nodal `*BOUNDARY`와 nodal `*CLOAD` - deterministic assembly와 기존 linear-static partition/factorization/substitution lifecycle - HDF5 nodal displacement/reaction, shell generalized strain/resultant, in-plane stress, residual 및 energy output - element invariant, patch, 현재 S4/S4R displacement reference 및 physics verification ## Out Of Scope - Abaqus full compatibility 또는 Abaqus `S4`/`S4R` formulation equivalence 주장 - Abaqus reduced-integration, hourglass-control 또는 finite-membrane-strain 의미의 재현 - `S3`, `S8`, `S8R`, continuum shell, solid-shell 및 axisymmetric shell - 다중 step과 step 간 load, boundary 또는 state propagation - 기하비선형, 재료비선형, 좌굴, modal, dynamic, contact 및 thermal analysis 실행 - composite/laminated shell, orthotropic material, layer orientation 및 층별 integration output - variable/nodal/distributed thickness, section offset 및 thickness stretch DOF - explicit nodal normal/director input과 user-defined shell orientation - shared source node에서 불연속 director를 요구하는 sharp fold, hinge 또는 shell-beam joint - `*DLOAD`, pressure, gravity, body force, edge traction, follower load 및 current-normal load - drilling 방향의 nodal moment를 물리 하중으로 취급하는 동작 - `S13/S23` section-point stress와 `S33` stress recovery - Abaqus reaction, stress, strain 또는 section resultant equality를 release pass/fail로 사용하는 비교 - Abaqus, Nastran 또는 다른 reference solver 실행과 reference artifact 생성·수정·복원 ## Analysis Definition - analysis_type: single-step linear static - kinematics: small displacement, small rotation, fixed initial geometry/director - element: four-node bilinear quadrilateral MITC4 shell - source_element_types: Abaqus `S4`, `S4R` - internal_formulation: one FESA MITC4 formulation independent of source type - nodal_dofs: global `[UX, UY, UZ, URX, URY, URZ]` - physical_local_dofs: three translations and two director-tangent rotations per node - numerical_local_dof: one nonphysical drilling rotation per node - deformation_modes: membrane, bending, transverse shear, and coupling - material_model: single-layer homogeneous isotropic linear elasticity from `E` and `nu` - section_model: one constant positive thickness and one material per assigned element - boundary_conditions: nodal essential constraints on global DOFs 1 through 6 - loads: nodal concentrated force/moment; drilling-direction moment excluded - initial_director: deterministic geometry-derived positive-thickness unit vector - units: user-consistent unit system; no unit system inferred from `.inp` - authoritative_output: HDF5 `results.h5` - reference_pass_fail: global translational displacement `U1/U2/U3` - reference_warning_only: global nodal rotation `UR1/UR2/UR3` ## Input Requirements - **FESA-REQ-LSMITC4-001** — The solver shall accept exactly one `*STEP` containing `*STATIC` and shall reject a second analysis step or a non-linear/non-static procedure with a structured unsupported diagnostic. - **FESA-REQ-LSMITC4-002** — The semantic mapper shall map both `*ELEMENT, TYPE=S4` and `*ELEMENT, TYPE=S4R` to the same FESA MITC4 formulation without claiming Abaqus formulation equivalence. - **FESA-REQ-LSMITC4-003** — The model and result metadata shall preserve the source element type separately from the internal `FESA-MITC4` formulation identity. - **FESA-REQ-LSMITC4-004** — Each accepted shell element shall contain exactly four distinct source nodes in the documented bilinear quadrilateral order, and the original source element identity shall remain stable through diagnostics and results. - **FESA-REQ-LSMITC4-005** — Each shell node shall expose global DOFs `[UX, UY, UZ, URX, URY, URZ]` in that exact order; equation IDs shall not be stored in Node or Element records. - **FESA-REQ-LSMITC4-006** — The material subset shall accept homogeneous isotropic `*ELASTIC` data containing `E` and `nu`, require finite `E > 0` and `-1 < nu < 0.5`, and reject temperature/field dependence and unsupported material behavior. - **FESA-REQ-LSMITC4-007** — The section subset shall accept a single-layer `*SHELL SECTION, MATERIAL=` with one finite constant thickness `t > 0` per section assignment. - **FESA-REQ-LSMITC4-008** — Every active shell element shall resolve to exactly one shell section and exactly one material; missing, conflicting, duplicate or unresolved assignments shall be model errors. - **FESA-REQ-LSMITC4-009** — A model may contain multiple element sets, constant-thickness shell sections and isotropic materials, but every individual element shall remain single-layer and homogeneous. - **FESA-REQ-LSMITC4-010** — Composite data, section offset, distributed/nodal thickness, explicit director/normal input and user-defined material orientation shall be rejected as unsupported rather than ignored. - **FESA-REQ-LSMITC4-011** — The initial nodal director shall be a dimensionless unit vector in the positive thickness direction; scalar thickness shall remain a separate property and shall not be encoded in the director magnitude. - **FESA-REQ-LSMITC4-012** — The positive element normal candidate shall be derived deterministically from the source node order and midsurface covariant tangent cross product. - **FESA-REQ-LSMITC4-013** — At a smooth shared node, consistently oriented incident element normal candidates shall be combined by deterministic area-weighted averaging and normalized to form the common nodal director. - **FESA-REQ-LSMITC4-014** — Nonfinite or zero normal candidates, a nonfinite or zero averaged director, and opposing incident orientations shall fail model validation; this feature does not introduce a calibrated smooth-patch angle. - **FESA-REQ-LSMITC4-015** — A physical fold or hinge shall be represented with duplicated source nodes so each smooth shell patch owns a separate director; the solver shall not silently average a discontinuous director field. - **FESA-REQ-LSMITC4-016** — Element geometry validation shall reject duplicate nodes, self-intersection, nonfinite coordinates, zero area, and nonpositive or nonfinite Jacobians at every formulation-required Gauss and tying location; this feature does not introduce calibrated distortion or warp thresholds. - **FESA-REQ-LSMITC4-017** — The solver shall support nodal `*BOUNDARY` targets resolved by source node label or node set for global DOFs 1 through 6, including existing zero and nonzero prescribed-displacement semantics. - **FESA-REQ-LSMITC4-018** — The solver shall support nodal `*CLOAD` forces on DOFs 1 through 3 and nodal moments on DOFs 4 through 6 after deterministic aggregation in global coordinates. - **FESA-REQ-LSMITC4-019** — The aggregated nodal moment component parallel to the approved nodal director shall be rejected as `unsupported-drilling-load`; a drilling-direction moment shall not be carried only by numerical stabilization. - **FESA-REQ-LSMITC4-020** — `*DLOAD`, pressure, gravity, body force, edge traction and follower load shall remain unsupported at parser/CLI level even if a formulation-only equivalent-load kernel is later tested. - **FESA-REQ-LSMITC4-021** — The accepted parser subset shall include the existing identity-preserving node, set, material, assembly, boundary, load and single-static-step keywords plus `*ELEMENT, TYPE=S4|S4R` and the approved single-layer `*SHELL SECTION` subset. - **FESA-REQ-LSMITC4-022** — Identity `*PART/*ASSEMBLY/*INSTANCE` wrappers and multiple identity instances shall preserve `SourceEntityId`; instance transforms, nested assembly and dependent/independent mesh semantics shall remain unsupported unless separately approved. - **FESA-REQ-LSMITC4-023** — Output-request keywords in the existing no-op allowlist shall not alter mandatory FESA results, and unsupported model-affecting keywords outside the allowlist shall be errors. ## Architecture and Execution Requirements - **FESA-REQ-LSMITC4-024** — `Domain` shall own parsed shell elements, material/section assignments, source identity and initial directors; `AnalysisModel` shall expose the active single-step view without copying Domain objects. - **FESA-REQ-LSMITC4-025** — `DofManager` alone shall own six-DOF node definitions, full/free equation numbering, constraint mappings, shell scatter maps and sparse-pattern ownership. - **FESA-REQ-LSMITC4-026** — Linear-static `AnalysisState` shall own only the solution, force/residual/reaction, shell recovery and energy rows needed by this procedure and shall not preallocate nonlinear director history, iteration state, velocity or acceleration. - **FESA-REQ-LSMITC4-027** — Element-local shell calculations shall use independent buffers and global sparse assembly shall preserve stable source-element ordering, deterministic COO ordering and fixed reduction independent of thread count. - **FESA-REQ-LSMITC4-028** — The linear-static lifecycle shall assemble and partition stiffness, factorize `Kff`, then assemble loads, form `Ff-Kfc*dc`, substitute, reconstruct the full displacement, recover the full residual and only then commit results. - **FESA-REQ-LSMITC4-029** — Constrained reactions and free-equilibrium evidence shall be recovered from the assembled full residual `K*d-F`; the shell feature shall not define reaction by separately summing recovered element resultants. - **FESA-REQ-LSMITC4-030** — `S4` and `S4R` source elements with identical geometry, properties, constraints and loads shall execute the same FESA MITC4 numerical path; only preserved source metadata may differ. ## Numerical Formulation Boundary Requirements - **FESA-REQ-LSMITC4-031** — The physical MITC4 kernel shall use three translations and two director-tangent rotations per node and shall not treat the drilling rotation as a physical strain variable. - **FESA-REQ-LSMITC4-032** — The six-DOF element embedding shall transform global nodal rotations into two director-tangent components and one director-parallel drilling component using deterministic right-handed orthonormal frames. - **FESA-REQ-LSMITC4-033** — The drilling contribution shall be a symmetric positive numerical stabilization of the four director-parallel coordinates and shall not define a physical drilling strain or load channel. - **FESA-REQ-LSMITC4-034** — Let `R+` be the finite strictly positive diagonal entries of the physical local stiffness belonging only to the eight director-tangent rotational DOFs. The element shall use `k_ref=min(R+)`, `k_d=10^-3*k_ref`, `K_drill_local=k_d I4`, and the documented drilling transformation `T_d`; translational diagonals shall never enter `R+`. - **FESA-REQ-LSMITC4-035** — Drilling stabilization shall not contribute to physical membrane, bending or transverse-shear generalized strain/resultant, section-point stress, or separately reported result quantities. - **FESA-REQ-LSMITC4-036** — An otherwise accepted element with no finite strictly positive entry in `R+` shall fail numerical validation deterministically; coefficient sweeps, plateau selection, conditioning calibration, artificial-energy ratios, and drilling-specific result datasets are outside this feature. - **FESA-REQ-LSMITC4-037** — Source `S4R` shall not select reduced integration or Abaqus hourglass control; all accepted `S4` and `S4R` inputs shall use the single quadrature and MITC tying contract approved by the FESA formulation. - **FESA-REQ-LSMITC4-038** — The stabilized element shall retain exactly six physical rigid-body modes within the approved normalized tolerance, preserve stiffness symmetry and coordinate-transformation energy, and have positive energy for every accepted non-rigid physical deformation mode. ## Output Requirements - **FESA-REQ-LSMITC4-039** — The sole authoritative solver output shall be HDF5 `results.h5`; the writer shall validate and close a temporary candidate before replacing the final path and shall not leave an incomplete final file after failure. - **FESA-REQ-LSMITC4-040** — Metadata/model output shall include schema and solver versions, source input identity, user-consistent unit label, global/local coordinate conventions, source element type, internal formulation, stable node/element identities, shell section/material identity and initial nodal director. - **FESA-REQ-LSMITC4-041** — Every node shall have global displacement `[U1,U2,U3,UR1,UR2,UR3]` and full-residual reaction `[RF1,RF2,RF3,RM1,RM2,RM3]` rows in stable source identity order. - **FESA-REQ-LSMITC4-042** — Every required shell integration location shall output local generalized strain components `[E11,E22,G12,K11,K22,K12,G13,G23]` with membrane/shear strain dimensionless and curvature dimension `1/length`. - **FESA-REQ-LSMITC4-043** — The same shell locations shall output local section resultant components `[N11,N22,N12,M11,M22,M12,Q13,Q23]`, where `N` and `Q` have dimension `force/length` and `M` has dimension `force` as moment resultant per unit edge length. - **FESA-REQ-LSMITC4-044** — Each required shell location shall output local in-plane stress `[S11,S22,S12]` at bottom, middle and top section positions with dimension `force/length^2`; `S33` shall be documented as the plane-stress assumption and `S13/S23` point stress shall not be emitted. - **FESA-REQ-LSMITC4-045** — Result rows shall identify source element, integration/tying or recovery location, natural coordinates, section position, local frame/director and component order without averaging mismatched locations. - **FESA-REQ-LSMITC4-046** — The output shall include free-DOF residual evidence, total force/moment equilibrium metrics and physical shell strain energy with dimension `force*length` and deterministic aggregation order; no drilling-specific stiffness, ratio or energy dataset is required. - **FESA-REQ-LSMITC4-047** — Abaqus output requests shall neither suppress nor expand the mandatory HDF5 quantity inventory; any deterministic FESA CSV projection shall remain a debugging/review view rather than official solver output. - **FESA-REQ-LSMITC4-048** — Nonfinite recovery values, inconsistent component/location inventory or failure to finalize required HDF5 rows shall fail the analysis without committing a partial successful state. ## Verification Requirements - **FESA-REQ-LSMITC4-049** — Every production behavior shall follow project TDD `RED -> GREEN -> VERIFY`, have a related C++ test, and later pass MSVC x64 Debug CMake/CTest with no new warning; this requirements phase shall not run Harness or implementation validation. - **FESA-REQ-LSMITC4-050** — Element invariant tests shall cover frame orthonormality/handedness, Jacobian sign, stiffness symmetry, coordinate-transformation energy invariance, six physical rigid modes, deformation-mode positivity and deterministic repeatability. - **FESA-REQ-LSMITC4-051** — Normalized algebraic acceptance shall use `1e-12` for symmetry, frame orthonormality and transformation-energy invariance and `1e-10` for rigid-mode action, linear-system residual and global equilibrium unless Numerical Review approves and documents an evidence-backed scale-aware replacement before Implementation Planning. - **FESA-REQ-LSMITC4-052** — Patch verification shall independently cover constant membrane strain/stress, pure bending, transverse shear and twist, including sign and component-order checks for generalized strain, resultant and recovered in-plane stress. - **FESA-REQ-LSMITC4-053** — The implementation shall pass the formulation-defined element invariants and patch/manufactured tests plus the two declared S4/S4R displacement reference cases; an expanded locking, distortion or curved-shell benchmark portfolio is not an implementation-completion gate for this feature. - **FESA-REQ-LSMITC4-054** — Geometry validation tests shall cover the exact accepted/rejected conditions defined by the formulation and I/O contract; `NR-O03` smooth-director calibration and `NR-O04` distortion/warp threshold sweeps are not required tests. - **FESA-REQ-LSMITC4-055** — Additional pinched-cylinder, hemispherical-shell, Scordelis-Lo or mesh-convergence studies may be added later as nonblocking research or release evidence, but are not required for Implementation Planning or feature completion. - **FESA-REQ-LSMITC4-056** — Drilling verification shall check the fixed formula in Requirement 034, symmetry, positivity, deterministic assembly, removal of the four nonphysical local drilling null modes, and exclusion from physical recovery; coefficient sweeps and drilling-energy checks are not required. - **FESA-REQ-LSMITC4-057** — Physics verification shall check load/reaction balance, global moment balance, displacement direction, symmetry, energy positivity, result sign and consistency between assembled residual and recovered shell resultants. ## Verification Quantities - nodal_displacement: required, global six components; `U1/U2/U3` reference pass/fail and `UR1/UR2/UR3` warning-only - reaction: required, global six components from full residual; internal physics verification - shell_generalized_strain: required, local eight components at documented locations - shell_section_resultant: required, local `N/M/Q` eight components at documented locations - stress: required, local bottom/middle/top `[S11,S22,S12]`; Abaqus equality comparison N/A - residual: required, free-DOF and normalized global equilibrium evidence - energy: required for the physical shell strain energy; drilling-specific energy output is not required - modes_and_invariants: required, six physical rigid modes, symmetry, transformation invariance and positive deformation energy ## Tolerance Policy - **FESA-REQ-LSMITC4-058** — Abaqus reference pass/fail shall apply only to matched global `U1/U2/U3` rows using `tolerance_c = 1e-9 + 1e-6 * reference_scale_c`, exactly reusing the approved B33 displacement rule. - **FESA-REQ-LSMITC4-059** — `reference_scale_c` shall be computed only from finite Abaqus values in the same model, step/frame, quantity and component group; reference values shall not be zero-clamped and row-specific relative denominators shall not replace the group scale. - **FESA-REQ-LSMITC4-060** — The `1e-9` absolute floor is expressed in the model's user-consistent length unit for U; no additional MITC4 tolerance calibration is required. - **FESA-REQ-LSMITC4-061** — Global `UR1/UR2/UR3` rows shall use the same component-scale formula as Requirement 058 and shall be fully reported; an exceedance emits a deterministic nonblocking warning and never changes pass/fail. - **FESA-REQ-LSMITC4-062** — The `1e-9` UR floor is dimensionless. No separate UR large-error or drilling-energy threshold is required. - **FESA-REQ-LSMITC4-063** — Missing, extra, duplicate, nonfinite, schema-mismatched or source-identity-mismatched rows shall fail artifact/schema validation before numeric tolerance evaluation for both U and UR inventories. - **FESA-REQ-LSMITC4-064** — The comparison report shall record each U/UR row decision, maximum absolute error, component-scale normalized error, RMS error, vector-norm error and worst source row/component; nonblocking UR warnings shall not be omitted from an otherwise passing report. ## Reference Artifact Requirements The approved lightweight inventory uses the existing S4 and S4R paths below. These files remain read-only; their names are identities, not canonical/legacy-policy decisions. - **FESA-REQ-LSMITC4-065** — The S4 case shall use `reference/shell/shell.inp` and `reference/shell/shell displacements.csv` without creating, renaming, rewriting or repairing either file. - **FESA-REQ-LSMITC4-066** — The S4R case shall use `reference/shellR/shellR.inp` and `reference/shellR/shellR displacements.csv` without creating, renaming, rewriting or repairing either file. - **FESA-REQ-LSMITC4-067** — Reference readiness requires only the declared input and required displacement CSV, FESA `results.h5`, deterministic source-node/component mapping, and Requirements 058-063 tolerance/precheck rules. README, `metadata.json`, canonical naming, provenance, Abaqus version, duplicated model semantics, and a schema version are not required gates; a present `metadata.json` is optional read-only context. - **FESA-REQ-LSMITC4-068** — Artifact validation shall require unique finite displacement rows and deterministic source-node/component identity before comparison; it shall not attempt to establish Abaqus internal formulation equivalence. - **FESA-REQ-LSMITC4-069** — The two declared cases satisfy the required source-label coverage: `reference/shell/` covers S4 and `reference/shellR/` covers S4R. No expanded reference portfolio is required for this feature. - **FESA-REQ-LSMITC4-070** — Reference verification shall compare FESA HDF5 global nodal displacement rows directly against Abaqus displacement CSV rows by model, step/frame, source node and component identity; a FESA-generated CSV view shall not become the authoritative comparison source. - **FESA-REQ-LSMITC4-071** — Abaqus reaction, stress, strain and shell force/moment output may be retained as review evidence if present but shall not change the approved `U1/U2/U3` pass/fail boundary or become an undeclared equality gate. - **FESA-REQ-LSMITC4-072** — FESA agents shall not execute Abaqus or another reference solver and shall not generate, modify, restore or normalize reference artifacts during requirements, research, formulation, implementation or verification unless a later phase explicitly authorizes that operation. ## Requirement Verification Matrix Each range row below applies its verification method and acceptance criteria to every individual requirement ID in that inclusive range; the ranges cover `001` through `072` without gaps or overlap. | id range | requirement theme | category | source | priority | verification method | acceptance criteria | tolerance/decision owner | downstream agents | status | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `001` | Single linear-static step | analysis | User approval; PRD/ADR linear-static lifecycle | must | Parser/semantic negative and CLI integration tests | One supported static step runs; other procedures or a second step fail deterministically | Exact procedure inventory | I/O Definition; Implementation Planning | approved | | `002-004` | `S4`/`S4R` mapping and identity | input/model | User approval | must | Parser/semantic/HDF5 metadata tests | Both source types map to one MITC4 path and preserve distinct source metadata and four-node identity | Exact element/type identity | I/O Definition; Implementation Planning | approved | | `005` | Six global nodal DOFs | model | User approval; project DOF convention | must | DofManager and HDF5 schema tests | Exact component order and no distributed equation ownership | Exact ordering | Formulation; I/O Definition; Implementation Planning | approved | | `006-010` | Isotropic material and single-layer section | input/model | User approval | must | Parser, mapping and validation tests | Valid `E,nu,t` resolve once per element; excluded section/material meanings fail | Exact inequalities; finite values | Research; I/O Definition; Implementation Planning | approved | | `011-016` | Initial director and geometry validity | geometry | User approval; MITC director kinematics | must | Geometry/unit/property-based tests | Deterministic unit directors for supported valid meshes; explicitly invalid mappings fail | Exact formulation/I/O predicates; no `NR-O03`/`NR-O04` calibration gate | Formulation; I/O Definition; Implementation Planning | approved | | `017-020` | Boundary and nodal-load subset | input/load | User approval | must | Parser/semantic/load tests | Global BC/CLOAD works; director-parallel moment and distributed loads fail | Exact-zero/projection rule from Formulation and I/O | Formulation; I/O Definition; Implementation Planning | approved | | `021-023` | Parser subset, wrappers and no-op policy | input | User approval; ADR-003/013/018 | must | Parser diagnostic and semantic identity tests | Only approved meanings affect Domain; excluded meanings fail closed | Exact keyword/diagnostic inventory | I/O Definition; Implementation Planning | approved | | `024-030` | Ownership, deterministic assembly and linear-static execution | architecture/execution | PRD; ADR-004/007/008/009/016/017 | must | Unit, orchestration and repeated-thread-count tests | Ownership boundaries, event order, residual reaction and deterministic bytes/rows match | `1e-12` deterministic numeric target where applicable | Numerical Review; Implementation Planning | approved | | `031-038` | 5-DOF physics embedded in 6-DOF with fixed drilling stabilization | numerical boundary | User approval; MITC literature and thesis 6-DOF discussion | must | Formulation review, invariant and rank tests | Exact `10^-3` positive rotational-diagonal rule; physical outputs exclude drilling | Fixed by Requirements 033-036 | Formulation; Numerical Review; Implementation Planning | approved | | `039-048` | Mandatory HDF5 output and failure atomicity | output | User approval; ADR-005/016/018 | must | Recovery, schema, identity, nonfinite and atomicity tests | Every quantity/location/unit/identity exists; failure commits no partial success | Exact component/location inventory; I/O Definition owns schema | Formulation; I/O Definition; Implementation Planning | approved | | `049-057` | TDD, invariants, patch, declared references and physics | verification | User approval; shell formulation evidence; project process | must | CTest evidence, analytical/patch tests, two reference cases and physics review | Required tests pass; removed calibration/portfolio checks are not reintroduced | `1e-12` symmetry/frame; `1e-10` rigid/residual | Numerical Review; Implementation Planning | approved | | `058-060` | Translational displacement pass/fail tolerance | tolerance | User approval; B33 baseline | must | Comparator unit/integration tests and report review | Every matched U row uses `1e-9 + 1e-6*reference_scale_c` without clamp/omission | Fixed by Requirements 058-060 | Reference Verification | approved | | `061-062` | Rotational warning-only comparison | tolerance/warning | User approval; B33 baseline | must | Comparator/diagnostic tests and report review | UR never changes pass/fail; same mixed-tolerance exceedance emits a deterministic warning | Fixed by Requirements 061-062 | Reference Verification | approved | | `063-064` | Row/schema failure and report completeness | reference verification | User approval; ADR-005/014/018 | must | Negative comparator and report-schema tests | Invalid inventory fails before numeric comparison; all U/UR metrics remain visible | No ignored invalid rows | I/O Definition; Reference Verification | approved | | `065-068` | Exact S4/S4R reference-case inventory and row validity | reference | User declaration; ADR-019 | must | Read-only inventory and source-row/component precheck | Four declared paths exist; required rows are unique, finite and deterministically mapped | Requirements `058-063` | Reference Model; Reference Verification | approved | | `069-071` | S4/S4R coverage and displacement-only comparison | reference | User approval | must | HDF5-to-CSV comparison | Declared S4/S4R cases; only U blocks and UR only warns | Requirements `058-064` | Reference Verification; Physics Evaluation | approved | | `072` | Reference solver/artifact immutability | governance | User/project policy; ADR-010 | must | Process audit and Git diff | No unapproved execution or artifact mutation | Exact zero mutations | All downstream agents | approved | ## Open Questions and Required Downstream Decisions No user or numerical calibration decision remains before Implementation Planning. Formulation shall retain exact quadrature, tying interpolation, local-axis, sign and recovery definitions. Future geometric-nonlinear execution remains separately unauthorized even though its residual and tangent derivation may remain in the formulation document. ## Downstream Handoff ### Research Agent - Establish source-backed MITC4 linear kinematics, tying, quadrature, shear correction and benchmark applicability. - Record the thesis drilling rule and the approved dimensional restriction to positive physical rotational diagonals; do not reopen coefficient calibration. - Preserve nodal-director and geometry evidence as implementation guidance without creating `NR-O03`/`NR-O04` calibration gates. ### Formulation Agent - Revise `docs/formulations/mitc4-shell-formulation.md` to align with global 6-DOF input/output and a physical 5-DOF MITC4 kernel plus numerical drilling embedding. - Keep current-product equations strictly linear static; retain geometric-nonlinear residual/tangent only as clearly separated future formulation. - Define local frames, transformations, generalized component order, quadrature/tying, stress/resultant recovery and consistent units/signs. - Do not introduce distributed-load product support or make `S4R` select reduced integration. ### Numerical Review Agent - Independently review the revised formulation for dimensions, rigid modes, rank, symmetry, invariance, Jacobian/director handling and separation of fixed drilling stabilization from physical recovery. - Treat drilling calibration/energy-ratio checks and `NR-O03`/`NR-O04` as removed scope, not missing evidence. ### I/O Definition Agent - Define the exact Abaqus keyword/data subset for `S4`, `S4R`, single-layer `*SHELL SECTION`, material, BC and CLOAD semantics. - Define source identity, auto-director data, unsupported-drilling-load projection, diagnostics and exact HDF5 dataset/row schemas without drilling-specific result datasets. - Preserve source element type separately from FESA formulation and define bottom/middle/top stress location identity. ### Reference Model Agent - Record the exact existing S4 and S4R input/displacement CSV paths from Requirements 065-066 and keep them read-only. - Define only the HDF5-to-CSV source-node/component projection and the already approved B33 mixed tolerance; do not add bundle administration or portfolio gates. ### Implementation Planning Agent - Do not start until Research, revised Formulation, Numerical Review, I/O and lightweight Reference Model inventory are mutually consistent. - Trace every `must` requirement to RED/GREEN/VERIFY tests and preserve current solver ownership, deterministic assembly and failure-atomic HDF5 boundaries. - Use the project Harness skill to propose self-contained implementation Steps for user approval, then write only the approved phase-planning files; do not execute Harness without a separate explicit request. - Include tests for source-type mapping, auto directors, fixed drilling rank/separation, required recovery quantities, row failures and U-versus-UR comparison behavior; exclude coefficient sweeps, drilling energy and `NR-O03`/`NR-O04`.