234 lines
16 KiB
Markdown
234 lines
16 KiB
Markdown
# 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/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-28`
|
|
|
|
이 검토는 정식화를 수학·수치 알고리즘 계약으로 검토하고 기존 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에 독립적으로 비교한다.
|
|
- 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 검증을 대신하지 않는다.
|
|
|
|
### 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.
|
|
|
|
각 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에서 제외한다.
|
|
|
|
## 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를 유지한다.
|
|
- 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 또는 내부 알고리즘
|
|
동등성을 주장하지 않는다.
|