Files
FESADev/docs/nonlinear-static-newton-raphson/numerical-review.md
T
2026-10-04 03:32:59 +09:00

18 KiB

Nonlinear Static Newton-Raphson 수치 검토

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: 878028F7B8EC1B91DA9BF00AF78825F50EB0B71046E840A0EEA595AFFD5E14B9
  • source_requirements: docs/nonlinear-static-newton-raphson/requirements.md
  • source_requirements_sha256: 89C1AB5F1BEDB7C5F6AD0726ED62F0982181EA8746EDE4661183FD3D18A2408E
  • source_research: docs/nonlinear-static-newton-raphson/research.md
  • source_research_sha256: 4F63D23E03D1A68E5F8563B678FDD6F761F9558165778EF0433133EFAD303570
  • repository_policy: AGENTS.md, docs/SOLVER_AGENT_DESIGN.md, docs/TOLERANCE.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/lessons.md §13, docs/nonlinear-static-newton-raphson/translation-displacement-comparison.md
  • status: pass-for-io-definition
  • owner_agent: numerical-review-agent
  • date: 2026-08-28
  • post_closure_addendum_date: 2026-08-29
  • post_closure_additive_case: shellnl-meshfine-02-s4-final

이 검토는 정식화를 수학·수치 알고리즘 계약으로 검토하고 기존 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, 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

3.1 Confirmed defects

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를 명시한다.

3.2 Required downstream correction: AUDIT-001

Stage 5/6은 같은 accepted state에서 다음 세 quantity를 서로 바꿔 쓰지 않아야 한다.

  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.

현재 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 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 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

6.1 Blocking internal numerical tests

기존 승인 수치 portfolio를 유지한다.

  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.

6.2 Factor-one blocking equilibrium contract

각 nonlinear case의 accepted factor-one state에 대해

[ \mathbf a_{F,I}=\mathbf F_I^{appl},\qquad \mathbf c_{F,I}=\mathbf F_I^{react}, ]

[ \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} ]

를 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

없음. §11.4/§13.4의 reaction, spatial moment와 global balance 의미는 revised requirements를 충족한다.

Research Agent

없음. Stored fine-mesh case와 internal invariant portfolio가 이번 I/O gate에 충분하다.

I/O Definition Agent

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

Coordinator를 통해 I/O Definition Agent에 전달한다.

  • 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 또는 내부 알고리즘 동등성을 주장하지 않는다.