docs: approve MITC4 implementation handoff

This commit is contained in:
KOKO\Mimi
2026-08-12 17:49:42 +09:00
parent a058ef7674
commit b8937ba66f
18 changed files with 2351 additions and 271 deletions
@@ -1,6 +1,6 @@
# Linear Static MITC4 Shell Numerical Review
## Metadata
## 1. Metadata
- feature_id: `linear-static-mitc4-shell`
- source_formulation: `docs/formulations/mitc4-shell-formulation.md`
@@ -8,339 +8,357 @@
- source_research: `docs/research/linear-static-mitc4-shell-research.md`
- source_io_definition: `docs/io-definitions/linear-static-mitc4-shell-io.md`
- source_reference_inventory: `docs/reference-models/linear-static-mitc4-shell-reference-models.md`
- repository_policy: `AGENTS.md`, `docs/ADR.md`, `docs/ARCHITECTURE.md`,
`docs/SOLVER_AGENT_DESIGN.md`
- reviewed_revisions: `73df844`, `22a3238`
- repository_policy: `AGENTS.md`, `docs/SOLVER_AGENT_DESIGN.md`,
`docs/numerical-reviews/README.md`
- reviewed_head: `a058ef7`
- prior_pass_commit: `60b42f4` (`context-only; verdict not inherited`)
- status: `pass-for-implementation-planning`
- owner_agent: `numerical-review-agent`
- date: `2026-08-12`
- implementation_planning_authorized: `true`
- implementation_complete: `false`
- build_test_complete: `false`
- reference_comparison_complete: `false`
- physics_evaluation_complete: `false`
- release_ready: `false`
## Review Verdict
이번 재검토는 현재 HEAD의 요구조건, 연구, 정식화, I/O 및 reference-case 계약을
처음부터 상호 대조했다. 기존 review의 판정과 artifact 관찰 결과는 결론의 전제로
사용하지 않았고, 이전 finding은 현 문서의 수식으로 다시 검산한 뒤 disposition만
기록했다. 원 MITC4 local paper는 tying 위치와 covariant shear 보간을 확인하는 데
read-only로 사용했다.
이 단계에서는 Abaqus, Harness, C++ build/test, FESA 실행 및 reference comparison을
수행하지 않았다. Reference artifact를 생성, 수정, 복원 또는 정규화하지 않았다.
## 2. Review Verdict
- verdict: `pass-for-implementation-planning`
- reason: The current linear-static formulation closes the physical 20-DOF MITC4
kernel, its global 24-DOF embedding, fixed drilling regularization, Jacobian and
quadrature rules, residual/stiffness equations, recovery signs, and verification
invariants without a mathematical inconsistency in the approved feature scope.
- critical_blockers: `none`
- remaining_formulation_revisions: `none for the current linear-static scope`
- downstream_boundary: Implementation Planning may begin. This verdict does not
claim implementation, build/test, reference-comparison, physics-sanity, or release
completion.
- confirmed_defects: `none in the approved current linear-static scope`
- open_blocking_questions: `none`
- reason: 현재 정식화는 24 global DOF와 20 physical DOF의 관계, MITC4 shear
tying, plane-stress section law, 공통 `2 x 2 x 2` quadrature, residual/stiffness,
고정 drilling 안정화, 물리 recovery 및 검증 불변식을 구현계획으로 옮길 수 있을
만큼 명시한다. 요구조건, I/O 및 reference 계약과 모순되는 차원, 부호, 위치 또는
pass/fail 의미도 발견되지 않았다.
- downstream_boundary: 이 판정은 Implementation Planning 진입만 허용한다. 구현,
MSVC build/CTest, reference comparison, physics sanity 또는 release를 승인하지 않는다.
The future geometrically nonlinear material in Formulation Section 15 remains
explicitly non-executable. Its unresolved global finite-rotation map and objective
drilling potential do not block the current linear-static implementation plan.
정식화 Section 15의 geometrically nonlinear residual/tangent는 future-only다. 완전한
`Phi: R24 -> R20`, map Hessian, objective drilling potential 및 finite-rotation load work가
미정인 사실은 미래 nonlinear 구현을 막지만 현재 linear-static 판정은 막지 않는다.
## Critical Findings
## 3. Critical Findings
No confirmed mathematical defect remains in the approved linear-static formulation.
The previous review's `needs-reference-model` verdict is not a valid current
formulation verdict: the current numerical-review gate is based on numerical and
formulation consistency, while downstream artifact administration and comparison
execution are separate gates.
### 3.1 Confirmed defects
### 1. Previous finding disposition
현재 승인된 선형 정적 범위에서 구현계획 전에 Formulation 또는 Research로 돌려보낼
confirmed mathematical defect는 없다.
| previous item | current disposition | evidence and strict consequence |
`K20`의 exact-arithmetic 대칭/positive-semidefinite 구조와 20-to-24 congruence
일관된다. 다만 실제 구현의 rank, rigid action, patch field와 reference error는 문서
검토만으로 통과했다고 볼 수 없으며 Section 6의 downstream test evidence가 필요하다.
### 3.2 Previous finding disposition
| previous item | rerun disposition | current independent basis |
| --- | --- | --- |
| `NR-C01` Jacobian/geometry inventory | resolved | Formulation Sections 9.2-9.3 enumerate center, stiffness, tying, and recovery locations and require finite bases, nonzero area, and `J>0`; Requirements 014/016 intentionally define no calibrated smooth-angle, distortion, or warp threshold. |
| `NR-C02` drilling normalization | resolved | Formulation Section 12.2 and Requirements 033-036 now define one exact dimensional rule using only positive physical tangent-rotation diagonals. No calibration decision remains. |
| `NR-C03` mixed-DOF algebraic scaling | resolved | Formulation Sections 12.3 and 12.5 define physical length scaling separately from the physical/drilling stiffness split and provide normalized rank, symmetry, and rigid-action evidence. |
| `NR-C04` 20/24-DOF weak-form mismatch | resolved | Formulation Sections 5.2-5.3 and 7.1-7.2 place physical, drilling, and external work in the common global 24-DOF test space using the required transpose maps. |
| `NR-C05` nonlinear global tangent closure | resolved for current scope | Formulation Section 15 now labels the nonlinear equations non-executable and identifies the missing nonlinear `Phi` map, map Hessian, and objective drilling potential. Those items block only a future nonlinear feature. |
| `NR-D01` drilling-direction nodal moment | retained/resolved | The exact-zero branch and `rho_M=|d dot M|/||M|| <= 1e-12` rule are consistent in Formulation Section 6.2 and I/O Section 4.3. |
| `NR-D02` normalized algebraic checks | retained/resolved | Formulation Section 17.1 defines scale-aware symmetry, rigid-action, frame, transformation-energy, residual, and equilibrium checks without a denominator clamp. |
| `NR-O01` drilling coefficient/plateau | resolved by approved fixed rule | `k_d=10^-3 min(R+)` replaces the former coefficient-family/sweep question. A sweep, plateau, response sensitivity, or condition-number calibration is not an acceptance gate. |
| `NR-O02` drilling-energy warning | removed from approved scope | Drilling is an internal numerical potential only. No drilling-energy ratio, warning threshold, or drilling-specific output is required. |
| `NR-O03` smooth-director angle | removed from approved scope | Requirements 014/054 and Formulation Sections 4.2 and 9.3 use exact orientation/finite/nonzero predicates and explicitly remove `NR-O03`. It is not an open numerical decision. |
| `NR-O04` distortion/warp calibration | removed from approved scope | Requirements 016/054 and Formulation Sections 9.2-9.3 require exact finite/positive validity checks and explicitly remove `NR-O04`. It is not an open numerical decision. |
| `NR-O05` U/UR tolerance | resolved | Requirements 058-062, Formulation Section 17.5, I/O Section 7.6, and Reference Case Section 5 all use the exact approved B33 component-scale formula. |
| `NR-C01` Jacobian/geometry inventory | `resolved` | Formulation 9.2-9.3은 center, eight stiffness points, four tying points 및 committed recovery points를 공통 fail-closed inventory로 두고 finite bases, nonzero surface measure와 `J>0`를 요구한다. 승인 범위는 calibrated distortion/warp cutoff를 요구하지 않는다. |
| `NR-C02` drilling normalization | `resolved` | Formulation 12.2는 `R+`를 오직 8 physical tangent-rotation diagonals의 finite positive 값으로 제한하므로 모든 후보의 단위가 `force*length`로 같다. |
| `NR-C03` mixed-DOF spectrum scaling | `resolved` | Formulation 12.5의 `(L_e I3,I2)``(L_e I3,I3)` congruence는 rank/condition evidence에서 translation/rotation 단위 혼합을 제거한다. Raw mixed-unit spectrum은 금지된다. |
| `NR-C04` 20/24 weak-form mismatch | `resolved` | Formulation 5.2-5.3 7.1-7.2 physical, drilling, external work를 모두 `V24`에서 `T_p^T``T_d^T`로 결합한다. |
| `NR-C05` nonlinear 20-to-24 closure | `resolved for current scope` | Section 15는 physical chart tangent와 conditional global pullback을 분리하고 map-curvature 항을 보존하며, 미정인 global map/objective drill을 future-only blocker로 명시한다. |
| `NR-D01` drilling-direction moment | `retained and consistent` | Exact-zero moment는 별도 처리하고 nonzero moment에 `rho_M=abs(d dot M)/norm(M)<=1e-12`를 적용한다. Numerical drilling은 거부된 moment를 운반하지 않는다. |
| `NR-D02` normalized algebraic checks | `retained and consistent` | `1e-12` symmetry/frame/energy와 `1e-10` rigid/residual/equilibrium 기준은 scaled matrices와 unclamped denominators에 적용된다. |
| `NR-O01` coefficient sweep/plateau | `closed by product decision` | `k_d=1e-3 min(R+)`가 고정 계약이다. Sweep, plateau 및 coefficient optimality는 구현 gate가 아니다. |
| `NR-O02` drilling-energy ratio | `removed from scope` | Drilling energy는 내부 quadratic identity일 뿐 physical energy나 mandatory output이 아니며 ratio/warning threshold도 요구하지 않는다. |
| `NR-O03` smooth-director calibration | `removed from scope` | Pairwise positive incident-normal orientation, finite/nonzero averaging 및 duplicate-node fold modeling이 승인된 exact predicate다. 별도 angle calibration은 gate가 아니다. |
| `NR-O04` distortion/warp calibration | `removed from scope` | Basic topology, finite/nonzero surface measure 및 required-point `J>0`가 승인된 predicate다. Quality sweep이나 cutoff는 gate가 아니다. |
| `NR-O05` U/UR tolerance | `resolved` | 모든 관련 문서가 `1e-9+1e-6*reference_scale_c`, U blocking, UR warning-only를 동일하게 정의한다. |
### 2. Required policy classifications
이전의 `needs-reference-model` 판정에 포함됐던 canonical naming, README,
`metadata.json`, provenance, expanded portfolio 및 아직 없는 comparison result는 현재
프로젝트 정책상 formulation verdict의 blocker가 아니다. 현 Reference Model 문서는
정확한 기존 input/displacement path와 row/tolerance 계약을 제공한다.
#### 2.1 Fixed drilling rule — resolved and implementation-ready
### 3.3 Open questions
Let `R+` contain only the finite, strictly positive diagonal entries of the physical
local stiffness `K20` associated with the eight director-tangent rotational DOFs.
The formulation fixes
- current_linear_scope: `none blocking`
- future_geometric_nonlinearity: finite global rotation coordinate, `Phi`와 그 1/2차
미분, chart recentering, objective drilling, nodal-moment work 및 nonlinear output/state
계약이 미정이다. 이는 별도 future formulation/review가 소유한다.
- optional_characterization: near-singular positive-J geometry의 conditioning과 original
MITC4의 distorted-curved membrane locking을 더 넓게 정량화할 수 있으나 현재 승인된
planning/completion gate는 아니다.
- downstream_results: implementation rank/patch evidence와 S4/S4R comparison 결과는
아직 없으며 해당 후속 Agent가 판정한다. 부재 자체는 pre-implementation review의
결함이 아니다.
```text
k_ref = min(R+)
k_d = 1e-3 * k_ref
K_drill_local = k_d * I4
K_drill_24 = T_d^T * K_drill_local * T_d
```
## 4. Numerical Risk Assessment
All entries in `R+` have rotational-stiffness dimension `force*length`; translations,
off-diagonals, nonpositive values, and nonfinite values are excluded. Therefore
`k_d` has the correct dimension, `K_drill_24` is symmetric positive on the four pure
drilling coordinates, and the physical and drilling channels are algebraically
separate. An empty `R+` is a deterministic numerical-validation failure. This is a
complete algorithm contract, not a calibration placeholder.
The deterministic nodal frames fix the local-coordinate representation, and
Formulation Section 5.3 supplies the virtual-work/energy congruence used by the
coordinate-transformation check. No unselected drilling coefficient or family
remains for Implementation Planning.
#### 2.2 No drilling outputs — resolved and consistent
Formulation Sections 7.2, 12.3, 12.5, 14, and 17.4 keep drilling out of physical
strain, resultant, stress, and reported physical shell energy. The internal identity
`E_drill = 0.5 gamma^T K_drill_local gamma` is permissible verification algebra; it
does not create an external result quantity. Requirements 035/036/046 and I/O
Sections 6.1/6.4/6.5 consistently require no drilling coefficient, stiffness, ratio,
or energy dataset. There is no output-contract defect.
#### 2.3 Exact B33 U/UR tolerance — resolved
For each case and component `c`, using only finite Abaqus rows,
```text
reference_scale_c = max(abs(reference_value_i))
tolerance_c = 1e-9 + 1e-6 * reference_scale_c
```
The `1e-9` floor is in the model's user-consistent length unit for `U1/U2/U3` and is
dimensionless for `UR1/UR2/UR3`. No row is zero-clamped and no row-specific relative
denominator replaces the component scale. `U1/U2/U3` exceedance is blocking at the
later Reference Verification gate; `UR1/UR2/UR3` uses the same formula but is
warning-only. The formula is exact and needs no MITC4-specific calibration.
#### 2.4 Removed and administrative items — nonblocking
`NR-O03`, `NR-O04`, drilling sweeps, drilling-energy criteria, and expanded flat,
thin/thick, distorted, warped, curved-shell, or mesh-convergence portfolios are not
part of the approved implementation-planning gate. They may remain future research
or release evidence but shall not be reintroduced as missing numerical evidence.
Canonical reference naming, a bundle README, `metadata.json`, provenance, an Abaqus
version, duplicated units/coordinates/model/step/frame descriptions, or a schema
version are administrative information and cannot block this formulation verdict.
The absence of optional `metadata.json` is therefore not a defect. If such a file is
added later, it remains read-only context and cannot override the approved exact
paths, row mapping, or tolerance.
## Numerical Risk Assessment
| risk | current assessment | required in-scope control |
| risk label | assessment | required in-scope control |
| --- | --- | --- |
| Transverse-shear locking | controlled for the original MITC4 scope, not claimed eliminated for every mesh | Use the exact edge-midpoint covariant shear projection of Sections 10.2-10.4 and pass transverse-shear patch/reference checks. |
| Curved/distorted-mesh membrane locking | known limitation of the original MITC4 family | Preserve the documented limitation. An expanded convergence portfolio is nonblocking and does not authorize MITC4+. |
| Volumetric locking | not applicable to the approved plane-stress shell contract | Do not reinterpret `C5` as a full 3D nearly incompressible material law. |
| Hourglass modes | no reduced-integration/hourglass path is approved | Both source `S4` and `S4R` use the same full `2x2x2` FESA integration and MITC tying path. |
| Degenerate, inverted, or self-intersecting geometry | fail-closed contract is present | Enforce distinct connectivity, non-self-intersection, finite nonzero surface measure, finite reciprocal bases, and `J>0` at every required location. |
| Near-singular but still positive geometry | conditioning may degrade because no calibrated quality threshold is in scope | Preserve finite checks and deterministic solver failure diagnostics; do not invent `NR-O04` thresholds. |
| Opposed or invalid nodal directors | would corrupt frames, signs, and tying | Reject nonfinite/zero candidates, nonpositive incident-normal agreement, and nonfinite/zero averages; use duplicate source nodes for folds. |
| Drilling singularity | four nonphysical modes would remain without regularization | Apply the exact fixed `R+` rule and verify stabilized nullity six. |
| Drilling contamination of physics | possible if drill enters the physical operator or recovery | Keep `T_p` and `T_d` separate and verify pure drill has zero physical strain/resultant/stress and no physical energy contribution. |
| Rigid-mode test contamination | a full spatial rotation vector can contain director-parallel rotation | Construct physical rigid rotation with `u_I=omega x X_I`, `delta d_I=omega x d_I`, and `gamma_I=0` as specified in Section 8.3. |
| Wrong shear component/factor | would cause patch failure or incorrect shear energy | Keep the `xi-zeta`/`eta-zeta` tying pairs and engineering factor `gamma_ij=2 epsilon_ij` explicit. |
| Recovery sign/location drift | could hide a correct stiffness behind wrong outputs | Reuse stiffness frames, tying, material, and thickness quadrature; preserve four Gauss identities and bottom/middle/top positions without averaging. |
| Future nonlinear misuse | current Section 15 does not define a complete global nonlinear element | Keep it non-executable until a separate approved nonlinear formulation closes `Phi`, map curvature, objective drill, load work, and state. |
| `rigid_body_modes` | Physical `K20`은 six rigid modes와 expected rank 14를 가져야 한다. 24-DOF embedding은 네 drill null coordinates를 더하고 fixed drill block 뒤 expected rank 18/nullity 6이다. | 세 translation과 세 rotation을 명시적으로 구성한다. Rotation mode는 `u_I=omega x X_I`, `theta_I=omega-(omega dot d_I)d_I`, `gamma_I=0`를 사용한다. |
| `patch_test` | Bilinear membrane/bending field와 MITC tied shear는 required patch states를 표현할 계약을 갖는다. | `E11/E22/G12`, `K11/K22/K12`, `G13/G23`를 독립 시험하고 signs/component order/resultants/stress를 함께 확인한다. |
| `symmetry` | `B^T C B`, `T_p^T K20 T_p`, `T_d^T(k_d I)T_d`는 exact arithmetic에서 symmetric이다. | Scaled Frobenius check `<=1e-12`; deterministic assembly가 대칭을 깨지 않는지 확인한다. |
| `positive_definiteness` | Free element는 six-mode semidefinite이고, 충분히 구속된 nonsingular `Kff`는 positive definite가 기대된다. Geometry 또는 supports가 부적절하면 singularity가 정당하다. | Scaled spectrum/rank, non-rigid positive physical energy, constrained solve 및 singular negative cases를 분리한다. |
| `hourglass` | `1 x 1` reduced integration을 쓰지 않으므로 Abaqus-style hourglass path는 `N/A`다. | Full `2 x 2` midsurface rank test는 유지한다. S4R source label로 reduced rule을 선택하지 않는다. |
| `shear_locking` | Edge-midpoint MITC projection이 transverse-shear locking을 다루지만 모든 mesh/thickness에서 완전 제거를 주장할 수 없다. | Required shear/bending patch와 declared references를 통과한다. Broader thin/thick convergence는 nonblocking characterization이다. |
| `membrane_locking` | Original MITC4는 membrane strain을 수정하지 않아 distorted curved meshes에서 알려진 locking 위험이 남는다. | Known limitation을 유지하고 MITC4+ 성능을 주장하지 않는다. Expanded curved/distorted portfolio는 optional이다. |
| `volumetric_locking` | 승인된 homogeneous plane-stress shell에는 `N/A`다. | `C5`를 3D nearly-incompressible law로 확장하지 않는다. |
| `distortion` | 양의 `J`를 유지하는 심한 distortion/warpage는 정확도와 rank/conditioning을 악화할 수 있다. | 모든 required location의 exact predicates와 rank/finite-result checks를 시행한다. 승인되지 않은 quality cutoff를 추가하지 않는다. |
| `singular_jacobian` | Nonfinite/nonpositive `J`, zero surface measure, invalid reciprocal basis는 mapping을 무효화한다. | Center, stiffness, tying 및 recovery inventory 전체를 omission/clamp 없이 fail closed한다. |
| `conditioning` | Thin shells, near-degenerate positive-J geometry 및 작은 fixed drill scale에서 `Kff` conditioning이 나빠질 수 있다. | Spectrum/condition evidence는 오직 length-scaled matrix를 사용한다. Threshold calibration은 gate가 아니지만 factorization failure는 결정적으로 진단한다. |
| `convergence` | Current solve는 direct linear solve라 Newton convergence는 `N/A`; spatial convergence와 locking trend는 모델 의존이다. | Free residual/global equilibrium `<=1e-10`과 declared reference cases를 확인한다. Broader mesh sequences는 optional이다. |
| `drilling_contamination` | Numerical drill이 physical strain/recovery에 들어가면 비물리 결과가 생긴다. | `T_p`/`T_d`를 분리하고 pure drill에서 physical strain/resultant/stress/energy가 zero임을 시험한다. Full residual은 의도대로 stabilized system 전체를 포함한다. |
| `future_nonlinear_misuse` | Section 15만으로 global nonlinear element를 만들면 nonobjective drill 또는 inconsistent tangent가 된다. | Current plan에서 완전히 제외하고 별도 승인 전 실행하지 않는다. |
## Consistency Checks
## 5. Consistency Checks
### 1. DOF order, director sign, and coordinate transforms — pass
### 5.1 Units, dimensions, DOF order, and constrained/free system`pass`
- Global order is exactly `[UX,UY,UZ,URX,URY,URZ]` per node.
- `R_I=[a_I b_I d_I]` is right-handed and orthonormal, with
`[alpha,beta,gamma]^T=R_I^T theta_I^g`.
- The director variation `delta d_I=beta_I a_I-alpha_I b_I` has the correct sign for
`theta_I x d_I`.
- `T_p` is `20x24`; `T_d` is `4x24`. The physical operator receives only `q20`, and
the drilling potential receives only `gamma`.
- The transpose maps in Formulation Sections 5.3 and 7.2 preserve virtual work and
energy in the common 24-DOF space.
- Per-node global order is exactly `[UX,UY,UZ,URX,URY,URZ]`; element order is 24
global coordinates and 20 physical coordinates
`[uX,uY,uZ,alpha,beta]` per node plus four separately selected `gamma` coordinates.
- `T_p` is `20 x 24`, `T_d` is `4 x 24`, `K20` is `20 x 20`, and both global
stiffness contributions are `24 x 24`.
- Translation-translation, translation-rotation, and rotation-rotation stiffness
blocks have units `force/length`, `force`, and `force*length`; `R+` therefore
excludes every translational diagonal.
- The constrained/free equation is `Kff*df=Ff-Kfc*dc`. Stiffness partition and
factorization precede load assembly, and an all-constrained valid `0 x 0 Kff` is
not reclassified as singular.
- `r=K*d-F` fixes the internal-minus-external sign. Constrained entries are the
required reaction rows and free entries remain residual evidence.
### 2. Shape functions, geometry, and B operator — pass
### 5.2 Local/global transforms, congruence, and energy`pass`
- The bilinear shape functions satisfy partition of unity, nodal interpolation, and
derivative-sum identities.
- The degenerated geometry uses a dimensionless unit director and separate thickness
factor `t*zeta/2`, avoiding thickness double-counting.
- The direct covariant strain column is the symmetric gradient written in covariant
bases. The two transverse covariant shear components alone are replaced by the
canonical MITC4 edge-midpoint interpolation.
- Reconstructing with reciprocal bases before local projection preserves the tensor
meaning. Engineering shear factors are applied once in the local five-component
vector.
- The same projected `B_bar` is used in strain, residual, stiffness, and recovery;
no direct/tied shear mismatch remains.
- `(a_I,b_I,d_I)` and `(e1,e2,e3)` are deterministic right-handed orthonormal frames.
The least-aligned-axis nodal rule avoids a fixed-axis parallel singularity.
- `[alpha,beta,gamma]^T=R_I^T theta_I^g` gives
`delta d=beta*a-alpha*b=theta x d` with the required sign.
- `q20=T_p qg` and `gamma=T_d qg` preserve virtual work. Congruence gives
`Kphys24=T_p^T K20 T_p` and `Kdrill24=T_d^T(k_d I4)T_d`; the corresponding local and
global quadratic energies are identical.
- A physical rigid rotation uses only the tangent projection of `omega`, so `gamma=0`
and drilling does not destroy the six physical rigid modes.
### 3. Constitutive matrix and dimensional consistency — pass
### 5.3 Kinematic operators and MITC tying`pass`
- For finite `E>0` and `-1<nu<0.5`, the plane-stress block and
`kappa_s G I2`, with `kappa_s=5/6`, are symmetric positive definite.
- `B_bar^T C5 B_bar J dxi deta dzeta` has stiffness-consistent dimensions because
the geometry Jacobian contains the through-thickness scale.
- Membrane/shear strain is dimensionless, curvature is `1/length`, `N/Q` is
`force/length`, `M` is `force`, stress is `force/length^2`, and physical energy is
- Bilinear `N_I` satisfies partition, Kronecker and derivative-sum identities.
- Membrane and bending content comes from the direct covariant small-strain operator.
Only `epsilon_xi-zeta` and `epsilon_eta-zeta` are replaced.
- `epsilon_xi-zeta` is tied at `(0,-1,0)` and `(0,+1,0)` and interpolated in `eta`;
`epsilon_eta-zeta` is tied at `(-1,0,0)` and `(+1,0,0)` and interpolated in `xi`.
Each interpolation reproduces its own edge value and is constant along the edge
direction, matching the original MITC4 construction.
- The assumed covariant tensor is reconstructed through reciprocal bases, projected
into the stored local Cartesian frame, and converted once to engineering shear
`gamma_ij=2 epsilon_ij`. The same projected `B_bar` drives strain, internal force,
stiffness and recovery.
### 5.4 Constitutive and section matrices — `pass`
- `Cps=E/(1-nu^2)[[1,nu,0],[nu,1,0],[0,0,(1-nu)/2]]` uses engineering `G12`; its
shear coefficient is exactly `G=E/[2(1+nu)]`.
- `C5=diag(Cps,(5/6)G I2)` is symmetric positive definite for `E>0` and
`-1<nu<0.5`. `sigma33=0` and absent thickness stretch remain assumptions.
- `A=t Cps`, `B=0`, `D=t^3 Cps/12`, and `As=(5/6)Gt I2` have consistent dimensions.
Membrane/shear strains are dimensionless, curvature is `1/length`, `N/Q` is
`force/length`, `M` is `force`, stress is `force/length^2`, and energy is
`force*length`.
- The drilling reference uses rotational stiffness only, so no translation/rotation
unit mixing occurs.
### 4. Integration, residual, stiffness, and modes — pass
### 5.5 Jacobian, derivative transform, and integration`pass`
- Stiffness uses deterministic two-point Gauss quadrature in each of `xi`, `eta`, and
`zeta`, with points `+-1/sqrt(3)` and unit weights.
- Both source types select this one rule; FESA does not emulate Abaqus S4/S4R internal
integration or hourglass behavior.
- `K20 = integral(B_bar^T C5 B_bar dV)` is symmetric positive semidefinite. The
expected physical rank is 14: 20 physical coordinates minus six rigid modes.
- `Kphys24=T_p^T K20 T_p` adds four drilling null coordinates. The fixed positive
drilling block removes those four, leaving exactly six physical rigid modes.
- `f_int=K_e q_g` and `r=K d-F` use a consistent linear sign. Partitioning uses
`Kff df=Ff-Kfc dc`, including the valid `0x0 Kff` all-constrained case.
- The three-dimensional degenerated mapping uses
`X=sum(N X_I)+(t*zeta/2)sum(N d_I)` with a unit nodal director and separate
thickness, preventing nodal thickness double counting.
- `J=det[G_xi,G_eta,G_zeta]` and finite covariant/reciprocal bases are checked at all
eight stiffness points, all four midsurface tying points, center, and every
committed bottom/middle/top recovery evaluation. Failed points are not skipped,
averaged, clamped or repaired.
- Direct natural derivatives are converted covariantly and then to the local
Cartesian tensor through contravariant bases; no flat-element derivative shortcut
is substituted for curved/warped accepted geometry.
- Both S4 and S4R use the common in-plane `2 x 2` points
`+-1/sqrt(3)` with unit weights and two identical thickness points, for eight
volume evaluations. Tied shear is evaluated at `zeta=0` and reused at both
thickness points while the remaining mapping and direct components use the actual
thickness point.
### 5. Recovery and external result meaning — pass
### 5.6 Internal force, residual, stiffness, and future tangent`pass`
- Nodal reactions are constrained entries of the assembled full residual; free
entries remain equilibrium evidence.
- Generalized strains are thickness moments with order
`[E11,E22,G12,K11,K22,K12,G13,G23]`.
- Resultants use `[N11,N22,N12,M11,M22,M12,Q13,Q23]` and the stated centered-layer
`A/D/A_s` cross-check.
- Bottom/middle/top `[S11,S22,S12]` are direct section-position evaluations. `S33=0`
is documented but not emitted, and `S13/S23` point stress is outside the output
contract.
- Physical shell energy excludes numerical drilling stabilization, matching the I/O
schema.
- Current `K20=integral(B_bar^T C5 B_bar dV)` and `f_int20=K20 q20` are mutually
consistent and symmetric positive semidefinite in exact arithmetic.
- The complete current weak form is in `V24` and adds the numerical drilling
gradient before subtracting the global nodal `CLOAD` vector.
- No geometric stiffness or nonlinear state enters the current product path.
Future Section 15 correctly separates `Kmat` and the stress-dependent `Kgeo` and,
conditionally on a future `Phi`, includes both `A^T K20 A` and the
residual-weighted map-Hessian term.
### 6. Architecture and deterministic lifecycle — pass for planning
### 5.7 Fixed drilling contract`pass`
The formulation and I/O handoff match ADR-007/008/009/016/017 and the architecture:
stable element-local computation, deterministic COO/reduction, stiffness assembly
and partition before load assembly, factorization before substitution, full residual
recovery, stable row identity, and failure-atomic HDF5 commit. These are planning and
later implementation-test obligations, not unresolved equations.
- `R+` contains only finite strictly positive diagonals of the eight physical
tangent-rotation coordinates. `k_ref=min(R+)`, `k_d=1e-3 k_ref`, and
`Kd_local=k_d I4` are dimensionally consistent and deterministic; empty `R+`
fails validation.
- `T_d^T(k_d I4)T_d` is symmetric and positive on the four pure drilling
coordinates. It must remove those four nonphysical null modes without changing
the physical rank/null modes.
- Drilling is excluded from generalized strain/resultant/stress and reported
physical strain energy. A director-parallel applied nodal moment is rejected as
`unsupported-drilling-load`; no numerical drill load channel exists.
## Verification Readiness
### 5.8 Recovery, signs, locations, units, and external comparison — `pass`
### Required element and algebraic tests
- Nodal `[U1,U2,U3,UR1,UR2,UR3]` and full-residual
`[RF1,RF2,RF3,RM1,RM2,RM3]` are global and source-node ordered.
- Four midsurface Gauss rows recover
`[E11,E22,G12,K11,K22,K12,G13,G23]` and
`[N11,N22,N12,M11,M22,M12,Q13,Q23]` in the stored local frame. The definition
`e_m(z)=epsilon0+z*kappa` fixes curvature, moment, and bottom/top stress signs.
- `[S11,S22,S12]` is evaluated directly at `zeta=-1,0,+1`; `S33=0` is documented but
not emitted, and `S13/S23` point stress is not synthesized. Different natural or
section locations are never averaged.
- Reference comparison first rejects missing, extra, duplicate, nonfinite or
identity-mismatched rows. For each case/component,
`reference_scale_c=max(abs(finite Abaqus values))` and
`tolerance_c=1e-9+1e-6*reference_scale_c`; no zero clamp or row denominator is
introduced. U1/U2/U3 is blocking and UR1/UR2/UR3 is warning-only.
- Source S4 and S4R select the same FESA MITC4 kernel/quadrature/recovery path while
preserving source type. This is an input mapping, not an Abaqus formulation,
integration, stabilization or recovery equivalence claim.
Implementation Planning shall trace RED/GREEN/VERIFY tests for:
## 6. Verification Readiness
1. shape-function identities and deterministic right-handed nodal/integration frames;
2. valid and invalid geometry at every center, Gauss, tying, and recovery location;
3. `T_p`/`T_d` dimensions, virtual-work equality, and transformation-energy equality;
4. direct versus tied shear component construction and engineering-shear factors;
5. constitutive symmetry/positive definiteness and exact `2x2x2` quadrature;
6. normalized symmetry at `1e-12`, rigid action at `1e-10`, physical rank 14, and
stabilized rank 18/nullity six;
7. exact `R+`, `k_ref`, `k_d`, and `K_drill_local` construction, including empty-`R+`
failure and exclusion of translational diagonals;
8. pure drilling: positive drill action, zero physical strain/resultant/stress, and
no drilling-specific output;
9. deterministic assembly/recovery ordering and thread-count repeatability;
10. partition/effective-RHS/full-residual reaction behavior, including all-constrained
`0x0 Kff` handling.
### 6.1 Downstream unit and invariant tests
For a nonzero scaled stiffness, use the formulation's normalized metrics without a
fallback denominator. Exactly zero constructed energy cases are classified by their
separate rigid/null action tests rather than clamped to pass.
Implementation Planning shall convert the following to `RED -> GREEN -> VERIFY`:
### Required patch and sign tests
1. Shape identities; nodal/integration frame orthonormality, handedness and axis
tie-break determinism.
2. `T_p`/`T_d` dimensions, orthogonal channel selection, virtual-work equality and
nonzero transformation-energy equality.
3. Hand-calculated direct membrane/bending columns, all four covariant tying values,
interpolation weights and engineering-shear factors.
4. `Cps/C5/A/D/As` coefficients, symmetry, positive definiteness, dimensions and
force/length unit-rescaling invariance.
5. Common `2 x 2 x 2` point/weight order and an independent analytical or
higher-order flat-element stiffness/recovery cross-check.
6. Required-location geometry validation: valid planar/rotated/warped cases and
duplicate, bow-tie/self-intersecting, zero-area, reversed, nonfinite,
nonpositive-J and opposed-normal negative cases.
7. Scaled symmetry `<=1e-12`, physical rigid action `<=1e-10`, expected physical
rank 14, stabilized rank 18/nullity six, and positive non-rigid physical energy.
8. Exact `R+` membership, exclusion of translations, fixed coefficient, empty-`R+`
failure, pure drill action and zero physical recovery/energy.
9. Stable COO/reduction, source/result/diagnostic order and thread-count
repeatability.
10. `Kff/Kfc` effective RHS, nonzero prescribed values, full-residual reaction,
singular-support negative case, and valid all-constrained `0 x 0 Kff` case.
11. Exact-zero and accepted/rejected `rho_M` moment projections, including proof
that rejected drilling moments never reach stabilization.
12. Mandatory HDF5 locations/components/units, physical-only energy, nonfinite
recovery failure and atomic finalization.
- constant membrane strain/stress and `N` sign;
- pure bending about both local axes, curvature/moment order, and bottom/top stress sign;
- constant transverse shear and `Q13/Q23` order;
- pure twist and `K12/M12` convention;
- zero physical recovery from a pure drilling vector.
### 6.2 Required patch and sign tests
### Declared reference readiness
- independent constant `E11`, `E22`, and `G12` membrane fields with `N` and
middle-stress signs;
- pure `K11` and `K22` bending with `M` order and bottom/top stress reversal;
- pure `K12` twist with `M12` sign;
- constant `G13` and `G23` transverse shear with `Q13/Q23` order;
- six physical rigid states and four pure drilling states;
- source-type-only S4/S4R variants producing identical FESA numeric rows and
different preserved source metadata.
The lightweight inventory identifies these read-only required pairs:
### 6.3 Reference and physics handoff readiness
- `reference/shell/shell.inp` and
`reference/shell/shell displacements.csv` for source `S4`;
- `reference/shellR/shellR.inp` and
`reference/shellR/shellR displacements.csv` for source `S4R`.
The declared read-only pairs are:
Read-only inspection confirmed that all four declared files exist, their SHA-256
values match the Reference Case inventory, and each required displacement CSV has
49 data rows. This is inventory evidence only. No FESA output exists yet in this
review, and no reference-comparison pass/fail decision was made.
- `reference/shell/shell.inp` with
`reference/shell/shell displacements.csv` for S4;
- `reference/shellR/shellR.inp` with
`reference/shellR/shellR displacements.csv` for S4R.
The later comparator must require exact normalized source-row/component sets,
finite/unique values, U blocking, UR warning-only, and the approved mixed tolerance.
The two Abaqus cases are not expected to equal one another, while identical supported
FESA models labeled S4 or S4R must take the same internal numerical path.
The Reference Model and I/O documents define deterministic HDF5-to-CSV identity,
precheck and tolerance sufficiently for later comparison. This review did not assert
that `results.h5` exists or that any row passes. Reference Verification owns numeric
U/UR outcome; Physics Evaluation owns force/moment balance, displacement direction,
symmetry, result signs, recovered-resultant consistency and physical plausibility.
### Nonblocking evidence
### 6.4 Missing evidence classification
The following cannot change this formulation verdict:
- blocking_for_current_formulation: `none`
- required_after_implementation: invariant, patch, MSVC build/CTest, declared
reference comparison and physics evidence above
- nonblocking_optional: drilling coefficient sweep/energy ratio, `NR-O03`, `NR-O04`,
canonical naming, README/metadata/provenance, expanded benchmark portfolio and
broader mesh convergence studies
- future_only: nonlinear directional-derivative/objectivity/Newton evidence after
its missing formulation decisions are separately approved
- absent README, `metadata.json`, provenance, canonical name, schema-version record,
or duplicated bundle descriptions;
- no coefficient sweep, drilling-energy ratio, smooth-angle calibration, or
distortion/warp threshold sweep;
- no expanded flat/thin/thick/distorted/warped/curved/convergence benchmark portfolio;
- no implementation result, build/test result, Abaqus run, or completed comparison
at this pre-implementation gate.
## Required Revisions
## 7. Required Revisions
### Formulation Agent
- None for the approved current linear-static implementation scope.
- Keep Formulation Section 15 non-executable until a separately approved nonlinear
feature closes its global coordinate map, consistent tangent, objective drilling,
and load-work decisions.
- Do not promote Section 15 to executable status until a separate formulation closes
the nonlinear global coordinate map, objective drilling and load-work contracts.
### Research Agent
- None before current Implementation Planning.
- Broader original-MITC4 locking and convergence studies remain optional future
characterization and must not silently widen the implementation gate.
### Reference Model Agent
- None for this formulation verdict. Preserve the four declared artifacts read-only.
- Optional administrative metadata, if later added by an authorized phase, does not
replace the approved exact paths, matching, and tolerance contract.
## Downstream Handoff
### Implementation Planning Agent
Implementation Planning is authorized. The plan shall:
- cover the deterministic director/frame preprocessing, `24 -> 20 + 4` transforms,
covariant MITC tying, full `2x2x2` integration, fixed drilling split, and recovery;
- trace every approved must-requirement to TDD tests, including the invariant, patch,
fixed-drilling, failure, schema, row-matching, and U/UR decision behaviors above;
- preserve one internal `FESA-MITC4` numerical path for source S4 and S4R while keeping
source metadata distinct;
- keep drilling out of physical recovery and HDF5 results;
- exclude future nonlinear execution, calibration sweeps, removed `NR-O03/NR-O04`,
expanded portfolios, and administrative reference requirements.
This handoff authorizes planning only. It does not authorize Harness execution,
production-code changes, reference-artifact mutation, or a claim of implementation
completion.
- Optional locking/convergence characterization must remain clearly outside the
approved implementation gate and must not imply MITC4+ or Abaqus equivalence.
### I/O Definition Agent
The current I/O contract is numerically consistent with the formulation. Planning
shall preserve its exact source identity, load projection, output units/locations,
physical-energy meaning, reference row mapping, and U/UR decision rule.
- None for the current numerical verdict. Preserve exact physical/full-residual
distinction, source identity, locations, units and U-versus-UR decision rule.
### Reference Verification and Physics Evaluation Agents
### Reference Model Agent
These remain downstream of implementation and build/test. Reference Verification
will decide U/UR comparison outcomes; Physics Evaluation will independently assess
equilibrium, signs, symmetry, and physical plausibility. Neither result is asserted
by this review.
- None for the current numerical verdict. Preserve the four declared files read-only
and do not add administrative or portfolio gates.
## Review Evidence
## 8. Downstream Handoff
This review used the repository policy/design files, the approved requirements,
research, formulation, I/O definition and reference-case inventory listed in
Metadata, plus read-only inspection of the four declared artifacts. Local FEM wiki
material cross-checked MITC4 kinematics, edge-midpoint assumed shear and known locking
risks; the approved repository documents remain the feature source of truth.
### Implementation Planning Agent
Implementation Planning is authorized and shall:
- trace the required tests in Section 6 to the approved requirement IDs before
production work;
- keep `24 global -> 20 physical + 4 drilling` transforms, covariant MITC tying,
common `2 x 2 x 2` integration, fixed drilling and physical recovery as explicit
independent test seams;
- preserve stiffness assembly/partition/factorization-before-load, stable reduction,
full-residual reaction and failure-atomic HDF5 lifecycle;
- keep future nonlinear execution, coefficient calibration, drilling output,
`NR-O03/NR-O04`, reference-artifact mutation and Abaqus-equivalence claims outside
the plan.
This handoff authorizes planning only. It does not authorize Harness execution,
production implementation, reference artifact changes, or completion claims.
### Reference Verification Agent
- Compare authoritative FESA HDF5 rows directly with the matching declared Abaqus
displacement CSV after exact row-set precheck.
- Let only U1/U2/U3 affect pass/fail; report every UR1/UR2/UR3 warning without
changing the verdict.
### Physics Evaluation Agent
- After reference verification, independently evaluate force and global moment
balance, free residual, reaction sign, displacement direction, symmetry, positive
physical energy and consistency of local resultants/stresses.
### Coordinator and Release Agents
- Record the Numerical Review gate as passed for planning at HEAD `a058ef7`.
- Do not infer implementation or release completion. Build/test, reference,
physics-sanity and release-readiness gates remain pending.