# Nonlinear Static Newton-Raphson 수치 검토 ## 1. Metadata and source formulation - feature_id: `nonlinear-static-newton-raphson` - source_formulation: `docs/nonlinear-static-newton-raphson/formulation.md` - source_formulation_status: `ready-for-numerical-review` - source_formulation_sha256: `DFA629888041D5762FD0DF4271353464A692B325DC0C821A8D8689688C1EAFD0` - source_requirements: `docs/nonlinear-static-newton-raphson/requirements.md` - source_requirements_sha256: `910E351F3F90FFA42F07D15206B55E62C05EAE821E250424430148337506EBF2` - source_research: `docs/nonlinear-static-newton-raphson/research.md` - source_research_sha256: `C920A6B02381230D1DB419D73FE767D611B36720D27D6410507BA88C3CA28EEE` - repository_policy: `AGENTS.md`, `docs/SOLVER_AGENT_DESIGN.md`, `docs/TOLERANCE.md` - related_linear_contracts: `docs/linear-static-mitc4-shell/numerical-review.md`, `docs/linear-static-mitc4-shell/reference-model.md` - status: `pass-for-io-definition` - owner_agent: `numerical-review-agent` - date: `2026-08-23` 이 검토는 정식화를 수학 및 수치 알고리즘 계약으로만 검토했다. C++ API, HDF5 schema, implementation plan, reference solver 실행, reference artifact 생성/수정은 수행하지 않았다. ## 2. Review Verdict - verdict: `pass-for-io-definition` - reason: 승인 정식화는 fixed-initial-reference Total Lagrangian MITC4, finite rotation state, nonlinear `24 -> 20` map, objective drilling, fixed-global load work, same-trial residual/tangent, Full Newton convergence, recovery와 state commit/rollback 의미를 구현 가능한 수치 계약으로 닫고 있다. 차원, 부호, DOF 순서, 적분, reaction 의미 또는 reference identity와 충돌하는 blocking defect는 확인되지 않았다. - reference readiness: `reference/shellNL` 및 `reference/shell`의 선언 파일과 CSV는 읽을 수 있고 row identity/precheck/tolerance 계약을 정의할 수 있다. - boundary: 이 verdict는 I/O Definition 진입 허가이며 implementation, reference comparison pass, physics evaluation 또는 release readiness 승인이 아니다. `reference/shellNL`은 `nlgeom=YES`와 factor-one final frame을 갖는 저장 reference로 사용할 수 있지만, 주요 `U3`와 stress 값은 선형 `reference/shell`과 거의 같다. 관찰된 nonlinear 신호는 주로 약한 in-plane coupling이다(`RF1/RF2` 최대 약 `1.9166`, `U1/U2` 최대 약 `1.29e-11`). 따라서 이 CSV 세트만으로 finite-rotation objectivity, exact tangent, rollback 또는 큰 변위 benchmark를 통과했다고 판단하지 않는다. 해당 항목은 아래의 blocking internal tests로 분리한다. ## 3. Critical Findings ### Confirmed defects 없음. Formulation Agent 또는 Research Agent로 즉시 되돌릴 confirmed numerical defect는 없다. ### Numerical risks requiring downstream evidence - `shellNL`의 stored reference는 geometric nonlinearity가 켜진 최종 상태 비교에는 충분하지만 response amplitude가 작아 finite-rotation/tangent/objectivity 검증을 대신하지 못한다. - Abaqus stress CSV는 `(instance, element label, element-corner node label, section point, component)` identity로 완전하지만 FESA의 approved Gauss-location direct bottom/middle/top recovery와 location이 다르다. Current stored order는 element label `1..36` ascending block이며 이를 바꾸지 않는다. Nodal extrapolation/averaging을 만들지 않고 stress CSV는 comparison family에서 제외한다. - External `UR` comparison은 기존 MITC4 정책에 따라 `warning-only`다. Rotation/director correctness는 `Q`, `d`, branch, objectivity invariant tests에서 blocking으로 확인해야 한다. ### Open questions 현재 I/O Definition 진입을 막는 open question은 없다. Large-response public benchmark, MMS, broader locking/distortion characterization은 유용하지만 승인된 Stage 4 pass 조건은 아니다. ## 4. Numerical Risk Assessment | risk label | assessment | required control / downstream evidence | | --- | --- | --- | | `rigid_body_modes` | 물리/internal/drill energy가 finite rigid motion에서 objective해야 하며 pure drill만 regularized 되어야 한다. | finite rigid translation/rotation superposition에서 strain, stress, physical energy, drill gamma, residual을 blocking invariant로 확인한다. | | `patch_test` | Green-Lagrange direct strain과 MITC tied shear가 같은 trial geometry와 같은 first/second variation을 써야 한다. | membrane, bending, twist, transverse-shear patch를 linear limit와 finite valid trial perturbation에서 각각 확인한다. | | `symmetry` | applied nodal moment가 없으면 physical/drill tangent는 exact arithmetic에서 symmetric이다. Fixed-spatial moment work tangent는 일반적으로 nonsymmetric이다. | no-moment case만 scaled symmetry check 대상으로 두고, moment case를 임의 symmetrization하지 않는다. | | `positive_definiteness` | nonlinear tangent는 load state, compression, near-buckling에서 indefinite일 수 있다. Positive definiteness는 일반 gate가 아니다. | stress-free constrained linear limit의 nonsingular solve와 singular negative case를 분리하고, factorization failure를 숨기지 않는다. | | `hourglass` | S4/S4R 모두 `2 x 2 x 2` full integration이므로 one-point reduced hourglass path는 승인 범위 밖이다. | source type으로 reduced/selective integration 또는 hourglass stabilization을 선택하지 않는 unit/integration test가 필요하다. | | `shear_locking` | MITC shear tying은 transverse-shear locking을 완화하지만 모든 thin-shell mesh에서 locking-free를 보장하지 않는다. | patch/reference evidence를 blocking으로 두고 broader thin/thick convergence는 nonblocking characterization으로 둔다. | | `volumetric_locking` | approved plane-stress shell, St. Venant-Kirchhoff-type material restriction에서는 `N/A`다. | 3-D incompressible material 또는 `nu >= 0.5` 의미로 확장하지 않는다. | | `membrane_locking` | original-style MITC4는 curved/distorted nonlinear meshes에서 membrane locking 위험이 남는다. | known limitation으로 기록한다. MITC4+ 성능 또는 Abaqus S4/S4R internal equivalence를 주장하지 않는다. | | `distortion` | positive Jacobian이라도 severe distortion/warpage는 conditioning과 stress accuracy를 악화할 수 있다. | 모든 Gauss/tying/center/recovery location의 finite, positive predicate를 fail-closed로 적용한다. 추가 quality cutoff는 요구하지 않는다. | | `singular_jacobian` | `J0 <= 0`, `j <= 0`, invalid reciprocal basis, invalid polar stretch는 residual/tangent를 무효화한다. | failed location을 omit/average/clamp/repair하지 않고 model/trial failure로 처리한다. | | `conditioning` | thin shells, small fixed drill scale, near-mechanism constraints는 Kff conditioning을 악화시킬 수 있다. | scaled matrix diagnostics만 사용하고 solver regularization/fallback으로 singularity를 숨기지 않는다. | | `convergence` | Full Newton은 same-trial consistent tangent에 의존한다. No line search/cutback이므로 difficult step은 deterministic nonconvergence가 될 수 있다. | NSNR-069/070 four-channel gates, iteration `1..100`, nonfinite rejection, no hidden retry를 integration tests로 고정한다. | ## 5. Consistency Checks | check | result | evidence | | --- | --- | --- | | units and dimensions | `pass` | Translation/force, rotation/moment, stress/resultant dimensions are separated. Convergence channels keep force, force-length, length and dimensionless rotation separate. | | signs and residual convention | `pass` | Global residual is `f_int - f_ext`; constrained full residual is reaction and free residual is equilibrium evidence. Fixed-global dead force has no configuration derivative. | | DOF ordering and free/constrained assumptions | `pass` | Per-node global order is `[UX, UY, UZ, URX, URY, URZ]`; Newton solve uses stable free coordinates with `Delta q_c = 0`. Valid `0 x 0` free system is trivial success. | | coordinate transforms | `pass` | `Q=Exp(phi^)Q0`, left-spatial update, `J_l` variation, physical swing map and spatial reaction moment conversion are explicitly defined. | | kinematic operator / B matrix | `pass` | Green-Lagrange strain, MITC shear projection and both first/second variations use the same trial identity. | | constitutive contract | `pass` | Constant symmetric `C5` maps engineering Green-Lagrange strain to second Piola-Kirchhoff stress; no material history is introduced. | | Jacobian rules | `pass` | Fixed reference `J0` is integration measure; current `j` and `det F_c` are validity checks. Failed locations are not skipped. | | integration policy | `pass` | S4 and S4R share four midsurface Gauss points times two thickness points; reduced/selective integration is prohibited. | | residual/tangent consistency | `pass` | Complete tangent includes material, geometric, map-Hessian, objective drill Hessian and fixed-spatial moment work derivative terms. | | tangent symmetry expectation | `pass` | Symmetric only for conservative no-applied-moment case; generally nonsymmetric moment tangent must remain unsymmetrized. | | output locations | `pass-with-handoff` | Nodal U/UR/RF/RM and shell stress/resultant logical quantities are defined; exact HDF5 projection remains I/O-owned. Current nodal SPOS/SNEG stress CSV는 Gauss direct recovery와 일대일 대응하지 않으므로 external numerical comparison은 N/A다. | ## 6. Verification Readiness ### Blocking internal numerical tests Implementation Planning shall carry these as feature-required tests before any reference-comparison success claim: Mixed translation/rotation 검사는 fixed-reference characteristic length `L=max(||X_I-X_J||)`와 node block `Dq=diag(L I3,I3)`를 사용한다. Tangent test direction은 `||p_hat||inf=1`, perturbation은 `q +/- h Dq p_hat`으로 두고 `h={1e-3,3e-4,1e-4,3e-5,1e-5,3e-6,1e-6,3e-7}` 전부를 검사한다. Roundoff plateau 전 최소 두 interval에서 centered-difference observed order `>=1.5`이고 한 interior point가 scaled error `<=1e-6`여야 한다. Single-`h` 우연 통과는 허용하지 않는다. 1. Linear limit: at stress-free `q=0`, nonlinear element residual/tangent/recovery reduce to approved linear MITC4 signs, `2 x 2 x 2` integration and physical/drill split. 2. Rotation state invariants: every committed/trial `Q` satisfies `||Q^T Q-I||_F <= 1e-12`, `|det(Q)-1| <= 1e-12`, and `d=Q e3`. Global/swing/twist `pi` branch angular margin은 `sqrt(epsilon_double)`, 약 `1.4901161193847656e-8` rad보다 커야 한다. 3. Tangent directional derivative: compare `Dq^T K_T Dq p_hat` with the central residual derivative under the schedule above in separated force and moment channels. Zero analytical directions require exact-zero construction and scaled absolute error `<=1e-10`; nonfinite metric은 허용하지 않는다. 4. No-moment tangent symmetry: after work-conjugate congruence `Dq^T K_T Dq`, no-applied-moment tangent scaled Frobenius symmetry error `<=1e-12`; applied fixed-spatial moment cases are checked for exact derivative consistency, not symmetry. 5. Finite rigid objectivity: superposed finite rigid motion leaves physical strain/stress, physical energy, drill gamma/energy and internal residual at scaled `<=1e-10` levels. 6. Patch/sign recovery: membrane, bending, twist and transverse shear patch states preserve component order and bottom/top stress signs. Analytical strain/resultant/stress error is relative `<=1e-9`. 7. Load and boundary path: fixed-global force/moment source identity, `rho_M <= 1e-12` rejection/projection, absolute factor-one boundary path and zero constrained Newton correction are tested independently. 8. Newton lifecycle: factor identities use ordinal `j*h` values strictly below one, followed by one exact assigned `1.0`; cumulative `lambda += h`와 tolerance-based duplicate endpoint는 금지한다. For `shellNL` the expected intended factors are `0.1, 0.2, ..., 1.0`. Iterations are `1..100`, pass at `100` is allowed, iteration `101` is forbidden. 9. Convergence gates: NSNR-069/070 four-channel inclusive `<=` rules, typed zero-scale `1e-3` thresholds and nonfinite rejection are tested without adding energy or line-search gates. 10. Commit/rollback and determinism: failed trial, recovery, solve or output does not mutate the prior committed state or prior authoritative final result; row/diagnostic order is stable. ### Downstream reference comparisons The required stored-reference cases and logical quantities are defined in `docs/nonlinear-static-newton-raphson/reference-model.md`. - `shellnl-s4-final` is the primary nonlinear external reference at accepted factor one. - `shell-s4-linear-limit` is the read-only linear-limit/reference-identity regression for the same S4 mesh. Current stress element-label ordering is inventoried without becoming a comparison quantity. External comparison uses only accepted-state quantities and `docs/TOLERANCE.md`. Missing, extra, duplicate or nonfinite required rows fail before tolerance. The comparison result itself is Implementation Agent ownership. ## 7. Required Revisions ### Formulation Agent None before I/O Definition. The current formulation is numerically sufficient for the I/O contract. Current source element/node SPOS/SNEG stress CSV에 맞추기 위한 extrapolation, averaging 또는 새 recovery 의미는 추가하지 않는다. ### Research Agent None before I/O Definition. Public large-response benchmarks and shell MMS remain useful future evidence, but the current Stage 4 gate does not require another research pass. ### I/O Definition Agent Define parser/semantic/HDF5/log projection for the logical quantities and row identities in `reference-model.md`. Preserve the split between blocking internal nonlinear tests and external stored reference comparison; do not claim Abaqus internal equivalence. ## 8. Downstream Handoff For I/O Definition Agent through Coordinator: - Use accepted factor-one frames only for external reference comparison; trial Newton states are not reference quantities. - Preserve required source identity: case, accepted state, instance, node label and component. Stress artifact의 element/node/section identity와 stored element-label order는 read-only inventory로 보존하되 FESA comparison row로 합성하지 않는다. - Keep `U1/U2/U3` blocking and `UR1/UR2/UR3` warning-only. For `shellNL`, compare constrained `RF1/RF2`, `RF3`, and spatial physical `RM1/RM2` in the separate blocking families from `reference-model.md`. `RM3`와 stress는 comparison에서 제외한다. - Apply `docs/TOLERANCE.md` exactly; do not add an independent absolute floor, row averaging, source-order matching, or calibration gate. - Treat `shellNL` as weak but valid nonlinear final-state reference evidence; require the blocking internal tests above for tangent/objectivity/rollback/finite-rotation correctness.