Files
FESADev/docs/nonlinear-static-newton-raphson/numerical-review.md
T

189 lines
15 KiB
Markdown

# 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.