chore: merge nonlinear static Newton-Raphson feature

# Conflicts:
#	docs/nonlinear-static-newton-raphson/coordination.md
#	docs/nonlinear-static-newton-raphson/formulation.md
#	docs/nonlinear-static-newton-raphson/implementation-plan.md
#	docs/nonlinear-static-newton-raphson/io.md
#	docs/nonlinear-static-newton-raphson/numerical-review.md
#	docs/nonlinear-static-newton-raphson/reference-model.md
#	phases/index.json
#	phases/nonlinear-static-newton-raphson/index.json
#	phases/nonlinear-static-newton-raphson/step0.md
#	phases/nonlinear-static-newton-raphson/step1.md
#	phases/nonlinear-static-newton-raphson/step10.md
#	phases/nonlinear-static-newton-raphson/step11.md
#	phases/nonlinear-static-newton-raphson/step12.md
#	phases/nonlinear-static-newton-raphson/step2.md
#	phases/nonlinear-static-newton-raphson/step3.md
#	phases/nonlinear-static-newton-raphson/step4.md
#	phases/nonlinear-static-newton-raphson/step5.md
#	phases/nonlinear-static-newton-raphson/step6.md
#	phases/nonlinear-static-newton-raphson/step7.md
#	phases/nonlinear-static-newton-raphson/step8.md
#	phases/nonlinear-static-newton-raphson/step9.md
This commit is contained in:
KOKO\Mimi
2026-08-30 00:03:17 +09:00
130 changed files with 22076 additions and 1259 deletions
@@ -1,188 +1,261 @@
# Nonlinear Static Newton-Raphson 수치 검토
## 1. Metadata and source formulation
## 1. Metadata
- 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_formulation_sha256: `878028F7B8EC1B91DA9BF00AF78825F50EB0B71046E840A0EEA595AFFD5E14B9`
- source_requirements: `docs/nonlinear-static-newton-raphson/requirements.md`
- source_requirements_sha256: `910E351F3F90FFA42F07D15206B55E62C05EAE821E250424430148337506EBF2`
- source_requirements_sha256: `89C1AB5F1BEDB7C5F6AD0726ED62F0982181EA8746EDE4661183FD3D18A2408E`
- source_research: `docs/nonlinear-static-newton-raphson/research.md`
- source_research_sha256: `C920A6B02381230D1DB419D73FE767D611B36720D27D6410507BA88C3CA28EEE`
- source_research_sha256: `4F63D23E03D1A68E5F8563B678FDD6F761F9558165778EF0433133EFAD303570`
- 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`
- decision_source: `USER-DECISION-004 option 1`
- balance_gate_decision: user-approved factor-one global force/moment normalized gate `<=1e-8`
- diagnostic_evidence: `docs/nonlinear-static-newton-raphson/corrections.md` §13,
`docs/nonlinear-static-newton-raphson/translation-displacement-comparison.md`
- status: `pass-for-io-definition`
- owner_agent: `numerical-review-agent`
- date: `2026-08-23`
- date: `2026-08-28`
- post_closure_addendum_date: `2026-08-29`
- post_closure_additive_case: `shellnl-meshfine-02-s4-final`
이 검토는 정식화를 수학 및 수치 알고리즘 계약으로만 검토했다. C++ API, HDF5 schema,
implementation plan, reference solver 실행, reference artifact 생성/수정은 수행하지 않았다.
이 검토는 정식화를 수학·수치 알고리즘 계약으로 검토하고 기존 reference artifact를
읽기 전용으로 조사했다. C++ API, 최종 HDF5 dataset path, implementation plan 또는
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로 분리한다.
- reason: 승인 정식화는 fixed-initial-reference Total Lagrangian MITC4, finite rotation,
nonlinear `24 -> 20` map, objective drilling, same-trial residual/tangent, reaction의
spatial-moment 변환과 current-arm global balance를 구현 가능한 수치 계약으로 정의한다.
Revised requirements와 충돌하는 formulation defect는 없다.
- reaction disposition: local nodal `RF1/RF2/RF3`와 physical spatial `RM1/RM2`는 exact
source-key/schema/inventory/finite/error evidence를 유지하는 `review-only`다. 이 값은
formulation-sensitive nodal redistribution이므로 blocking verdict를 결정하지 않는다.
Local `RM3`는 계속 제외한다.
- blocking equilibrium: 각 nonlinear case의 factor-one accepted state에서 `(a)` global
applied-plus-reaction force balance, `(b)` global applied-plus-reaction moment balance,
`(c)` accepted free-DOF force/moment residual evidence가 blocking이다. `(d)` constrained
reaction resultant는 별도 quantity로 보존하지만 balance error를 대신하지 않는다.
- reference readiness: `reference/shell`, `reference/shellNL`와
`reference/shellNL-meshfine`의 선언 input 및 필요한 displacement/reaction CSV가 존재하고
읽을 수 있다. Fine case는 사용자가 요청한 mesh-refined nonlinear evidence이며 coarse
case와 서로의 reference에 독립적으로 비교한다. Merge 후 추가된 read-only
`reference/shellNL-meshfine_02` bundle도 별도 verification 대상으로 inventory했다. 이
post-closure 추가는 기존 세 case의 gate, 과거 Stage 6 comparison 또는 Release verdict를
소급 변경하지 않는다.
- boundary: `pass-for-io-definition`은 I/O 계약을 다시 정의할 수 있다는 뜻이며 reference
comparison pass, implementation completion, physics 또는 release 승인이 아니다.
## 3. Critical Findings
### Confirmed defects
### 3.1 Confirmed defects
없음. Formulation Agent 또는 Research Agent로 즉시 되돌릴 confirmed numerical defect는 없다.
Formulation Agent 또는 Research Agent로 반환할 confirmed defect는 없다. Formulation
§11.4는 constrained generalized reaction과 spatial physical moment를 구분하고, §13.4는
global origin `[0,0,0]`, current nodal position과 physical spatial moment를 사용하는
applied-plus-reaction balance를 명시한다.
### Numerical risks requiring downstream evidence
### 3.2 Required downstream correction: `AUDIT-001`
- `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으로 확인해야 한다.
Stage 5/6은 같은 accepted state에서 다음 세 quantity를 서로 바꿔 쓰지 않아야 한다.
### Open questions
1. **Global applied-plus-reaction balance error**: applied와 constrained reaction을 더한
force `[3]`와 moment `[3]`; blocking.
2. **Constrained reaction resultant**: constrained reaction만 합한 force `[3]`와 current-arm
moment `[3]`; distinct nonblocking reaction summary.
3. **Accepted free residual**: stable free-DOF source/component rows와 force/moment channel gate;
blocking.
현재 I/O Definition 진입을 막는 open question은 없다. Large-response public benchmark,
MMS, broader locking/distortion characterization은 유용하지만 승인된 Stage 4 pass 조건은 아니다.
현재 nonlinear implementation helper는 full residual을 합하고 initial Domain coordinates와
raw rotational generalized residual을 사용한다. 현재 `shellNL`/`shellNL-meshfine` support는
prescribed `u=phi=0`이므로 initial/current support arm과 generalized/spatial support moment가
일치하고, 이 helper는 작은 free residual을 제외하면 constrained reaction resultant에
가깝다. 그러나 applied load를 더한 balance error는 아니며 세 quantity 중 어느 것도
일반적으로 대체하지 못한다. 지원 범위의 nonzero prescribed translation/rotation에서는
반드시 current position과 `J_l(phi)^(-T)` spatial-moment conversion을 적용해야 한다.
### 3.3 Numerical risks and nonblocking artifact issue
- Fine stress CSV에는 element `1`, `SNEG`의 `Node Label=ss` 한 행이 있다. Stress는 승인된
FESA Gauss direct recovery와 위치가 다르고 수치 comparison에서 제외되므로 이 optional
inspection artifact의 malformed identity는 I/O 진입 blocker가 아니다. Artifact를 repair,
normalize 또는 rewrite하지 않는다.
- Coarse/fine Abaqus `S4`와 FESA MITC4가 동일한 local support reaction distribution을
만들어야 한다는 formulation evidence는 없다. Global balance와 free residual로 blocking
physics를 검증하고 local rows는 오차를 숨기지 않은 채 review-only로 남긴다.
- Stored cases의 response는 weak geometric-nonlinear regime다. Reference displacement pass가
tangent, objectivity, finite-rotation 또는 rollback 검증을 대신하지 않는다.
- `shellNL-meshfine_02`는 topology와 constraint inventory는 fine case와 같지만 source load가
`F1=+1e8`, `F2=+1e8`, `F3=-1e8`이다. 기존 fine case의 `F3=-1e5`와 같은 물리 case 또는
mesh-only refinement로 취급하지 않으며 각자의 reference에만 비교한다.
### 3.4 Open questions
I/O Definition 진입을 막는 open question은 없다. Public large-response benchmark, shell MMS와
broader locking/distortion portfolio는 useful future evidence지만 이번 gate의 추가 조건이 아니다.
## 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로 고정한다. |
| `rigid_body_modes` | Physical/internal/drill energy는 finite rigid motion에서 objective하고 pure drill만 regularized 되어야 한다. | finite rigid superposition에서 strain, stress, physical energy, drill gamma/energy와 residual covariance를 blocking invariant로 확인한다. |
| `patch_test` | Green-Lagrange direct strain과 MITC tied shear는 같은 trial 및 first/second variation을 써야 한다. | membrane, bending, twist, transverse-shear patch와 linear limit을 확인한다. |
| `symmetry` | Applied nodal moment가 없으면 physical/drill tangent는 exact arithmetic에서 symmetric이다. Fixed-spatial moment work tangent는 일반적으로 nonsymmetric다. | no-moment case만 scaled symmetry gate를 적용하고 moment case는 derivative consistency로 검증한다. |
| `positive_definiteness` | Nonlinear tangent는 compression/near-buckling에서 indefinite일 수 있다. | positive definiteness를 global gate로 만들지 않고 singular/malformed tangent와 물리적 indefiniteness를 구분한다. |
| `hourglass` | S4/S4R 모두 `2 x 2 x 2` full integration이며 reduced/hourglass path는 범위 밖이다. | source label로 integration 또는 stabilization을 바꾸지 않는 test가 필요하다. |
| `shear_locking` | MITC shear tying은 transverse-shear locking을 완화하지만 general locking-free를 보장하지 않는다. | patch/reference evidence를 blocking으로, broader thin/thick study를 characterization으로 둔다. |
| `volumetric_locking` | approved plane-stress shell과 `nu < 0.5` 범위에서는 `N/A`다. | 3-D incompressible behavior claim으로 확장하지 않는다. |
| `membrane_locking` | original-style MITC4는 curved/distorted nonlinear mesh에서 membrane locking 위험이 남는다. | known limitation으로 보존하고 MITC4+ 또는 Abaqus 내부 성능을 상속한다고 주장하지 않는다. |
| `distortion` | positive Jacobian만으로 accuracy는 보장되지 않지만 별도 calibrated quality cutoff는 승인되지 않았다. | 모든 Gauss/tying/center/recovery location을 fail-closed 검사한다. |
| `singular_jacobian` | `J0<=0`, `j<=0`, invalid reciprocal basis/polar stretch는 residual/tangent를 무효화한다. | failed point를 omit, average, clamp 또는 repair하지 않는다. |
| `conditioning` | thin geometry, small fixed drill scale와 near mechanism은 conditioning을 악화시킨다. | scale-aware diagnostics를 쓰고 hidden regularization/fallback을 금지한다. |
| `convergence` | Full Newton은 same-trial consistent tangent에 의존하고 line search/cutback이 없다. | NSNR-069/070, four-channel AND, iteration `1..100`, finite-first와 no retry를 고정한다. |
| `reaction_distribution` | local nodal support distribution은 element formulation/mesh/stabilization에 민감하다. | exact local error report는 유지하되 global balance/free residual만 blocking한다. |
## 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다. |
| units and dimensions | `pass` | Translation residual/reaction은 force, rotation residual/reaction moment는 force-length다. Force와 moment family 및 norm scale을 혼합하지 않는다. |
| signs | `pass` | `r=f_int-f_ext`; constrained entry는 reaction, free entry는 equilibrium evidence다. Balance는 `applied+reaction`이고 reaction resultant는 reaction만 합한다. |
| DOF ordering | `pass` | Global node order `[UX,UY,UZ,URX,URY,URZ]`; stable free/constrained partition과 `Delta q_c=0`을 보존한다. |
| coordinates and moment conversion | `pass-with-handoff` | Global origin `[0,0,0]`, current arm `X+u`, spatial moment `J_l(phi)^(-T) r_phi`가 승인 의미다. `AUDIT-001` 구현 projection audit가 남는다. |
| kinematic operator | `pass` | Green-Lagrange strain, MITC shear projection 및 first/second variation은 same-trial identity다. |
| constitutive contract | `pass` | Constant symmetric `C5`가 fixed-reference engineering strain을 second Piola-Kirchhoff stress로 매핑하며 material history가 없다. |
| Jacobian rules | `pass` | Fixed `J0`가 integration measure, current `j`와 `det(Fc)`가 validity predicate다. |
| integration | `pass` | S4/S4R 공통 four midsurface by two thickness points; reduced/selective integration은 금지한다. |
| residual/tangent | `pass` | Material/geometric/map-Hessian/drill/moment-work derivative가 complete same-trial tangent를 이룬다. |
| recovery locations | `pass-with-handoff` | Nodal U/UR/reaction 및 Gauss direct shell recovery logical meaning은 정의되었다. Final dataset projection은 I/O-owned다. |
| reference identity | `pass` | Case/state/instance/source label/component로 match하고 row order를 identity로 쓰지 않는다. |
## 6. Verification Readiness
### Blocking internal numerical tests
### 6.1 Blocking internal numerical tests
Implementation Planning shall carry these as feature-required tests before any reference-comparison success claim:
기존 승인 수치 portfolio를 유지한다.
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. Stress-free `q=0` linear MITC4 residual/tangent/recovery와 physical/drill split.
2. `||Q^TQ-I||_F<=1e-12`, `|det(Q)-1|<=1e-12`, `d=Qe3` 및 branch margin.
3. Mixed translation/rotation scaled tangent directional derivative schedule와 interior scaled
error `<=1e-6`; zero analytical direction `<=1e-10`.
4. No-applied-moment scaled tangent symmetry `<=1e-12`; applied moment는 derivative
consistency만 검사한다.
5. Finite rigid objectivity의 scaled physical strain/stress/energy/drill/residual `<=1e-10`.
6. Membrane/bending/twist/shear patch, component order와 bottom/top stress sign.
7. Fixed-global force/moment identity, `rho_M<=1e-12`, absolute prescribed path와 zero
constrained Newton correction.
8. Exact fixed-factor sequence, factor one, iterations `1..100`, pass at 100, no 101/cutback/retry.
9. NSNR-069/070의 finite-first exact-zero/nonzero branches, inclusive thresholds와 four-channel AND.
10. Trial/recovery/solve/output failure rollback과 deterministic assembly/frame/row/diagnostic order.
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.
### 6.2 Factor-one blocking equilibrium contract
### Downstream reference comparisons
각 nonlinear case의 accepted factor-one state에 대해
The required stored-reference cases and logical quantities are defined in
`docs/nonlinear-static-newton-raphson/reference-model.md`.
\[
\mathbf a_{F,I}=\mathbf F_I^{appl},\qquad
\mathbf c_{F,I}=\mathbf F_I^{react},
\]
- `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.
\[
\mathbf a_{M,I}=(\mathbf x_I-\mathbf 0)\times\mathbf F_I^{appl}
+\mathbf M_I^{appl},\qquad
\mathbf c_{M,I}=(\mathbf x_I-\mathbf 0)\times\mathbf F_I^{react}
+\mathbf M_I^{react}
\]
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.
를 stable source-node order로 계산한다. `x=X+u`이고 applied physical moment는 formulation
§13.4의 effective physical-work moment다. Define
\[
\mathbf e_F=\sum_I(\mathbf a_{F,I}+\mathbf c_{F,I}),\quad
S_F=\max\left(\sum_I\|\mathbf a_{F,I}\|_2,
\sum_I\|\mathbf c_{F,I}\|_2\right),
\]
\[
\mathbf e_M=\sum_I(\mathbf a_{M,I}+\mathbf c_{M,I}),\quad
S_M=\max\left(\sum_I\|\mathbf a_{M,I}\|_2,
\sum_I\|\mathbf c_{M,I}\|_2\right).
\]
Force와 moment는 각각 `rho_F=||e_F||2/S_F`, `rho_M=||e_M||2/S_M`로 검사하고 둘 다
`<=1e-8`이어야 한다. 이 threshold는 승인된 nonlinear acceptance value이며,
unclamped sum-of-contribution scale과 dimension-separated form은 승인된 linear MITC4
global-equilibrium convention을 유지한다. `S=0`이면 balance도
exact zero일 때만 `0`, 아니면 fail하며 absolute floor, `max(1,S)` 또는 zero clamp를 두지 않는다.
Accepted free residual은 cross-unit combined norm을 만들지 않는다. Factor-one accepted trial의
free translation-force와 free rotation-moment rows가 각각 NSNR-069의 exact gate를 다시
재현해야 한다: matching external scale이 nonzero이면 approved infinity-norm relative gate
`<=1e-2`, exact zero이면 typed absolute `<=1e-3` force 또는 force-length다. 두 channel 모두
finite-first로 통과해야 한다.
### 6.3 Downstream reference comparisons
- `shellnl-meshfine-s4-final`: 사용자가 요청한 mesh-refined primary nonlinear case.
- `shellnl-s4-final`: coarse nonlinear companion regression.
- `shell-s4-linear-limit`: existing linear-limit/source-identity regression.
- `shellnl-meshfine-02-s4-final`: merge 후 추가된 post-closure nonlinear case. 과거 canonical
Stage 6 `reference-comparison.md`의 비교 대상이 아니며 merge된 current code로 별도 실행·비교한다.
각 case의 `U1/U2/U3`는 blocking이고 `UR1/UR2/UR3`는 warning-only다. Coarse/fine은 각자의
input/CSV와 독립 family로 비교하며 cross-mesh interpolation, row collapse 또는 observed-order
claim을 만들지 않는다. Local RF/RM family는 common external tolerance로 오차를 전부
기록하지만 review-only다. `RM3`와 stress는 수치 comparison에서 제외한다.
### 6.4 Post-closure additive case boundary
`shellnl-meshfine-02-s4-final`은 729 nodes, 676 S4 elements, `NLGEOM=YES`,
`*STATIC 0.1,1.,0.001,0.1`, all-six-DOF `Set-2` 104 constrained nodes를 가진다. Exact
factor-one displacement/reaction/stress CSV는 각각 729/729/5,408 rows이며 audited key는
unique이고 required numeric value는 finite다. U1/U2/U3 2,187 rows는 blocking,
UR1/UR2/UR3 2,187 rows는 warning-only, local RF1/RF2 208 rows, RF3 104 rows와 physical
spatial RM1/RM2 208 rows는 review-only다. RM3와 stress는 excluded다.
Internal factor-one families는 fine case와 같은 row/gate 구조를 사용한다: free force residual
1,875 rows, free moment residual 1,875 rows, global force balance 3 components와 global moment
balance 3 components다. External family는 `docs/TOLERANCE.md`, internal free residual과 global
balance는 Sections 6.2의 승인 gate를 그대로 사용한다. 이 문서 addendum은 comparison success를
판정하지 않으며 Implementation Agent가 merge된 current code의 별도 evidence를 소유한다.
## 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 의미는 추가하지 않는다.
없음. §11.4/§13.4의 reaction, spatial moment와 global balance 의미는 revised requirements를
충족한다.
### 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.
없음. Stored fine-mesh case와 internal invariant portfolio가 이번 I/O gate에 충분하다.
### 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.
`reference-model.md`의 logical quantities와 source identity를 최종 projection으로 연결한다.
`AUDIT-001`의 balance error, constrained reaction resultant, accepted free residual을 별도
quantity로 유지한다. Current-arm/spatial-moment semantics와 factor-one identity를 보존하고
local RF/RM review-only disposition을 blocking으로 되돌리지 않는다.
## 8. Downstream Handoff
For I/O Definition Agent through Coordinator:
Coordinator를 통해 I/O Definition Agent에 전달한다.
- 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.
- `pass-for-io-definition`; blockers: 없음.
- External families는 `docs/TOLERANCE.md`를 그대로 사용한다. Independent absolute floor,
averaging, collapse, source-order matching, clamp 또는 calibration gate를 추가하지 않는다.
- Internal factor-one global force/moment balance는 Section 6.2의 dimension-separated normalized
`1e-8` gate, accepted free residual은 NSNR-069 force/moment gate를 사용한다.
- Fine primary와 coarse companion nonlinear cases 모두 U blocking/UR warning-only를 유지한다.
- Post-closure `shellnl-meshfine-02-s4-final`도 같은 U/UR 및 local RF/RM disposition을 사용하되,
과거 canonical comparison/Release verdict에 소급 포함하지 않고 별도 current-code verification으로
보고한다.
- Local RF1/RF2, RF3, spatial RM1/RM2는 separate review-only families이며 error/precheck를
생략하지 않는다. RM3/stress는 excluded다.
- Fine optional stress identity anomaly는 그대로 기록하고 artifact를 수정하지 않는다.
- Abaqus S4와 FESA MITC4의 formulation, integration, stabilization 또는 내부 알고리즘
동등성을 주장하지 않는다.