267 lines
25 KiB
Markdown
267 lines
25 KiB
Markdown
# Nonlinear Static Newton-Raphson Release Readiness
|
|
|
|
## 1. Metadata
|
|
|
|
| key | value |
|
|
| --- | --- |
|
|
| feature_id | `nonlinear-static-newton-raphson` |
|
|
| status | `ready-for-release` |
|
|
| owner_agent | `release-agent` |
|
|
| date | `2026-08-28` |
|
|
| authoritative requirements | `requirements.md`, SHA-256 `89C1AB5F1BEDB7C5F6AD0726ED62F0982181EA8746EDE4661183FD3D18A2408E` |
|
|
| implementation evidence | `implementation-report.md`, `build-test.md`, `reference-comparison.md` |
|
|
| physics evidence | `physics-evaluation.md`, SHA-256 `C49011637D57D2F2B71738CA3AF48BEF3256D25078BE049499EBDDDE66DB8538` |
|
|
| audit baseline | local/origin `feat-nonlinear-static-newton-raphson` HEAD `06861608da5ffa4c09b786c3f5052dc7c6604e1b` before the Coordinator-owned Stage 8 update |
|
|
| release meaning | FESA feature workflow closure readiness only; publish, deploy, package, tag 또는 external release 권한이 아님 |
|
|
|
|
Literal `feature_id`를 선언한 모든 source report는 `nonlinear-static-newton-raphson`과 일치한다.
|
|
`reference-comparison.md`에는 literal `feature_id` field가 없지만 exact bundle path
|
|
`docs/nonlinear-static-newton-raphson/reference-comparison.md`, title, current SHA-256와 Stage 6
|
|
handoff chain, 그리고 Physics report의 exact source hash가 같은 feature에 결정적으로 연결한다.
|
|
상충하는 feature identity는 없으므로 upstream report를 변경하지 않고 nonblocking metadata
|
|
omission으로 기록한다. `requirements.md`의 `status: draft`, `approved_by: pending user re-approval`과
|
|
`FESA-REQ-NSNR-069 status: draft`는 stale metadata다.
|
|
Authoritative `coordination.md`는 현재 exact requirements hash가 `2026-08-27` 사용자에게 명시적으로
|
|
재승인되었고 Stage 1이 `passed`임을 기록한다. Current Stage 4/5/6 문서도 같은 hash를 입력으로
|
|
사용하므로 실제 승인·수치 계약과의 모순은 없다.
|
|
|
|
## 2. Release Scope
|
|
|
|
### Included
|
|
|
|
- No-prior-history baseline에서 정확히 하나의 geometrically nonlinear static step을 수행하는 별도
|
|
`Full Newton-Raphson` procedure.
|
|
- Fixed-initial-reference Total Lagrangian `FESA-MITC4`; source `S4`와 `S4R`은 같은 internal
|
|
formulation과 `2 x 2 x 2` integration에 매핑된다.
|
|
- Homogeneous isotropic materially linear elasticity, centered single-layer shell section,
|
|
six global nodal DOFs와 committed/trial finite-rotation triad/director state.
|
|
- Fixed scalar load-factor increments, final factor-one shortening, common proportional path,
|
|
fixed-global dead `*CLOAD`, factor-one absolute `*BOUNDARY` target.
|
|
- Same-trial residual/consistent tangent, fresh factorization/solve, four-channel convergence,
|
|
iteration limit `100`, no line search/cutback/retry.
|
|
- Accepted-increment-only HDF5 schema version `1`, deterministic Newton text log, atomic candidate/final
|
|
result lifecycle, stable source/result/diagnostic ordering.
|
|
- Factor-one accepted free residual과 current-arm/spatial-moment global applied-plus-reaction force/moment
|
|
balance; normalized global force와 moment gate는 각각 inclusive `<=1e-8`이다.
|
|
- Fine nonlinear primary, coarse nonlinear companion, linear control reference portfolio. External
|
|
`U1/U2/U3`는 blocking, `UR1/UR2/UR3`는 warning-only, local RF/RM은 review-only다.
|
|
|
|
### Supported input and output subset
|
|
|
|
- 주요 supported input: `*HEADING`, `*PART`, `*NODE`, `*NSET`, `*ELEMENT` (`S4`/`S4R`),
|
|
`*ELSET`, `*MATERIAL`, `*ELASTIC`, `*SHELL SECTION`, one identity `*ASSEMBLY`/`*INSTANCE`,
|
|
`*BOUNDARY`, `*CLOAD`, one `*STEP, NLGEOM=YES`, one four-value `*STATIC`.
|
|
- Exact allowlisted `VARIABLE=PRESELECT` output requests와 일부 generator/restart output syntax는
|
|
warning no-op이며 FESA mandatory output을 바꾸지 않는다.
|
|
- Public invocation은 `fesa.exe <model.inp>`다. Authoritative output은 input sibling
|
|
`<stem>_results.h5`, current-run diagnostic은 `<stem>_log.txt`다. Literal `--output`을 포함한
|
|
argv token은 compatibility alias 없이 pre-input exit `2`로 거부한다.
|
|
- CSV는 external reference 또는 deterministic debug view일 뿐 FESA official output이 아니다.
|
|
|
|
### Excluded
|
|
|
|
- Material nonlinearity/history, Updated Lagrangian, corotational procedure, multiple/mixed nonlinear
|
|
steps와 cross-step propagation.
|
|
- Modified/quasi-Newton, tangent reuse, line search, damping, adaptive growth/cutback/retry,
|
|
controlled-displacement와 arc-length/path-following.
|
|
- Follower/non-proportional/distributed/body/pressure/edge loads, `*DLOAD`, contact, MPC, transforms,
|
|
amplitude, composite/offset/oriented shell section과 unsupported model-affecting keywords.
|
|
- Reduced integration/hourglass behavior selected by source `S4R`, MITC4+, trial-state HDF5 history,
|
|
nodal stress extrapolation/averaging, `RM3`와 stored stress numerical comparison.
|
|
- Abaqus, Midas 또는 다른 solver의 formulation, integration, stabilization, state update,
|
|
recovery 또는 internal algorithm equivalence claim.
|
|
|
|
## 3. Gate Evidence Inventory
|
|
|
|
| gate artifact | current SHA-256 | audited status / release disposition |
|
|
| --- | --- | --- |
|
|
| `requirements.md` | `89C1AB5F1BEDB7C5F6AD0726ED62F0982181EA8746EDE4661183FD3D18A2408E` | Coordinator Stage 1 `passed`; current hash explicitly user re-approved; 24/24 must records and Matrix rows |
|
|
| `research.md` | raw `4F63D23E03D1A68E5F8563B678FDD6F761F9558165778EF0433133EFAD303570` | `passed`; LF-normalized hash matches recorded approved `C920A6B02381230D1DB419D73FE767D611B36720D27D6410507BA88C3CA28EEE` |
|
|
| `formulation.md` | `878028F7B8EC1B91DA9BF00AF78825F50EB0B71046E840A0EEA595AFFD5E14B9` | `ready-for-numerical-review`; Coordinator Stage 3 `passed`, explicit user approval; current Stage 4 review found no formulation defect |
|
|
| `numerical-review.md` | `C00994EF4BB23A237547459E157EE5BDA96B28CAF08F712CD31A8E0ABBF62D2C` | `pass-for-io-definition`; blockers 없음 |
|
|
| `reference-model.md` | `B2E6845AB59A32F78261B7A47506C27F7BF4B61401B34BC5DE3DAD4F03D6ADDA` | `pass-for-io-definition`; required files present, exact family/disposition contract complete |
|
|
| `io.md` | raw `ED23274F4F15F7D1DFF886FA8158961362C75960990271D24A5FD010A8D51FD9` | `ready-for-coordinator-review`; Coordinator Stage 5 `passed`; LF-normalized hash `53AFBB1DF27FBD9CE6C2E23EE34480882241A859D3FC1993E82DB61ACC6637EB` |
|
|
| `implementation-plan.md` | `CA3EF7D2E95AA1F15757CD138CEF67E06E51195F59FB8DBE676E5772CC1D6C2C` | `ready-for-implementation`; 24/24 requirement-to-Step/test mapping |
|
|
| `corrections.md` | `4DC996E3D4CA2D515D19E5D244C3A112AF0C9429335698E03089B77B5E79346A` | Historical environment/upstream issues resolved; current status `corrected-for-implementation-rerun`, followed by passing Step 11/12 evidence |
|
|
| `implementation-report.md` | `D75C8B5922C9EEF7C7262B01BFB12D5F7609B1A6DB3A7C6D5AE47CB45ADAD578` | `pass-for-physics-evaluation`; no implementation-owned blocker |
|
|
| `build-test.md` | `ED6B1B6CFD9478B09B92E7ADE3891622FEA1AA521AD29550D6F4C78C952E8DDA` | full CTest `302/302`; all recorded commands exit `0` |
|
|
| `reference-comparison.md` | `22867B0F2E3C06C5AB908485D94160CA33CBAF1274EE099847979FA511ECC241` | overall `pass-for-physics-evaluation`; detailed `blocking-pass-with-review-only-findings`; reference `9/9` |
|
|
| `physics-evaluation.md` | `C49011637D57D2F2B71738CA3AF48BEF3256D25078BE049499EBDDDE66DB8538` | `pass-for-release-agent`; blockers 없음 |
|
|
|
|
Historical source hashes embedded in earlier research/formulation metadata reflect their original gate inputs.
|
|
Current Numerical Review, I/O, Planning, Implementation, reference and Physics reports consume or audit the
|
|
current approved hashes and report no semantic contradiction. No stale or failed gate overrides this inventory.
|
|
|
|
## 4. Acceptance Traceability
|
|
|
|
`N/A (internal)`은 해당 acceptance가 external reference value가 아니라 deterministic CTest/invariant로
|
|
검증된다는 뜻이다. 모든 row의 final disposition은 current release scope에서 `included-pass`다.
|
|
|
|
| requirement id | acceptance criterion | test id / passing evidence | reference model id | verification report | release disposition |
|
|
| --- | --- | --- | --- | --- | --- |
|
|
| `FESA-REQ-NSNR-001` | 정확히 한 supported source/semantic nonlinear step만 별도 procedure를 선택하고 zero/multiple/mixed는 increment 전 fail-closed | `NSNR-IO-*`, `NSNR-PROC-*`; full CTest `302/302` | N/A (internal) | `implementation-plan.md`, `build-test.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-003` | `S4/S4R`를 homogeneous isotropic materially linear geometric-only FESA-MITC4로 처리하고 material/combined nonlinearity는 거부 | `NSNR-IO-*`, `NSNR-ELEM-*`, `NSNR-PROC-*` | `shellnl-meshfine-s4-final`, `shellnl-s4-final`, `shell-s4-linear-limit` | `implementation-report.md`, `reference-comparison.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-041` | 모든 increment가 하나의 fixed initial reference를 유지하고 current geometry로 re-base하지 않음 | `NSNR-IO-*`, `NSNR-ELEM-KIN-*`, `NSNR-PROC-*` | N/A (internal TL/objectivity) | `implementation-plan.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-074` | global six DOF, dimensionless rotation correction, separate trial/committed proper triad/director와 multiplicative update/rollback | `NSNR-ROT-*`, `NSNR-STATE-*`, `NSNR-PROC-*`; Physics focused suite 포함 | N/A (internal invariant) | `implementation-report.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-006` | residual/tangent/factorization/correction이 동일 trial이고 entered iteration마다 fresh factorization/solve | `NSNR-ELEM-TAN-*`, `NSNR-SOLVER-*`, `NSNR-PROC-*` | N/A (internal tangent) | `implementation-plan.md`, `build-test.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-007` | free residual과 same-iteration correction의 네 channel을 logical AND로 통과하고 constrained residual은 reaction으로 유지 | `NSNR-CTRL-021`, `NSNR-PROC-*`, `NSNR-REF-019`; control/log `14/14` | `shellnl-meshfine-s4-final`, `shellnl-s4-final` | `implementation-report.md`, `reference-comparison.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-069` | matching external residual scale nonzero 시 relative `<=1e-2`, exact zero 시 typed force/moment absolute `<=1e-3` | `NSNR-CTRL-018..020`, `NSNR-LOG-012`, `NSNR-REF-019`; exact-zero fine/coarse moment residual pass | `shellnl-meshfine-s4-final`, `shellnl-s4-final` | `implementation-report.md`, `reference-comparison.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-070` | translation/rotation correction을 nonzero relative 또는 typed exact-zero gate로 각각 inclusive 판정 | `NSNR-CTRL-021`, `NSNR-PROC-*`; control/log `14/14` | N/A (internal convergence) | `implementation-report.md`, `build-test.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-008` | required Newton data finite, iteration `1..100`, iteration 100 pass 허용, iteration 101 금지 | `NSNR-CTRL-020`, `NSNR-PROC-*`, `NSNR-REF-019` | fine/coarse logs: accepted increments each use two iterations | `implementation-report.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-014` | fresh correction을 변경 없이 적용하고 line search/damping/fallback/energy gate를 사용하지 않음 | `NSNR-CTRL-*`, `NSNR-PROC-*` | N/A (internal lifecycle) | `implementation-plan.md`, `build-test.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-046` | fixed positive factor increment, factor one final shortening, growth/cutback/retry 없음 | `NSNR-CTRL-*`, `NSNR-PROC-*` | fine/coarse factor `0.1..1.0`, unique factor-one frame | `reference-comparison.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-048` | 모든 approved CLOAD/BOUNDARY target이 하나의 common proportional factor를 사용 | `NSNR-CTRL-*`, `NSNR-PROC-*` | fine/coarse nonlinear load path | `implementation-plan.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-018` | CLOAD force/moment source direction은 fixed global dead load이고 follower tangent가 없음 | `NSNR-CTRL-*`, `NSNR-PROC-*` | fine/coarse centered fixed-global `F3=-100000` | `reference-comparison.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-063` | prescribed BOUNDARY는 factor-one absolute target이고 constrained correction과 분리되며 failure 시 start state 보존 | `NSNR-CTRL-*`, `NSNR-PROC-*`, `NSNR-PROC-019` | N/A (nonzero prescribed-motion internal case) | `implementation-report.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-016` | nonlinear STATIC 네 값을 exact arity/finite/positive/endpoint rule로 mapping하고 third/fourth는 stepping에 미사용 | `NSNR-IO-*`, `NSNR-CTRL-*` | fine/coarse `*STATIC 0.1,1.,0.001,0.1` | `io.md`, `reference-model.md`, `build-test.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-011` | trial state를 분리하고 converged complete state만 atomic commit하며 모든 실패에서 prior state/final 보존 | `NSNR-STATE-*`, `NSNR-HDF5-*`, `NSNR-PROC-*` | fine/coarse accepted-frame evidence; failure paths internal | `implementation-report.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-019` | stable source/order와 free residual, constrained resultant, applied-plus-reaction balance를 분리하고 current arm/spatial moment 사용 | `NSNR-ELEM-TAN-*`, `NSNR-STATE-*`, `NSNR-PROC-019`, `NSNR-HDF5-014`, `NSNR-REF-022/024/025`; procedure/writer `7/7` | `shellnl-meshfine-s4-final`, `shellnl-s4-final` | `implementation-report.md`, `reference-comparison.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-020` | approved element/material/load/boundary/step/solver inventory 밖의 meaning을 authoritative output 전 fail-closed | `NSNR-IO-*` negative inventory | N/A (internal rejection) | `io.md`, `implementation-plan.md`, `build-test.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-021` | committed increment와 accepted HDF5 frame이 일대일이고 factor one 포함, trial history 없음, failed candidate는 final이 아님 | `NSNR-STATE-*`, `NSNR-HDF5-*`, `NSNR-PROC-*`, `NSNR-HDF5-014` | fine/coarse 10 accepted frames, unique frame 9/increment 10/factor 1 | `reference-comparison.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-024` | invocation-start log replacement과 entered iteration당 deterministic summary 하나, controlled failure에도 current log 유지 | `NSNR-LOG-012`, `NSNR-PROC-*`, `NSNR-REF-019`; `NewtonIterationLog.*` `8/8` | fine/coarse 20 records, two per increment | `implementation-report.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-083` | derived result/log names, every literal `--output` form pre-input exit `2`, no alias, independent asymmetric lifecycles와 linear regression | `NSNR-CLI-*`, `NSNR-PROC-*`, `NSNR-EVID-*` | all three stored case executions use derived sibling outputs | `implementation-report.md`, `build-test.md`, `reference-comparison.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-026` | factor/iteration/assembly/frame/result/log ordering이 same input/runtime에서 deterministic | `NSNR-STATE-*`, `NSNR-PROC-*`, `NSNR-REF-020..023`, `NSNR-EVID-*`; reference `9/9` twice | all three stored cases | `implementation-report.md`, `reference-comparison.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-030` | linear limit, tangent, global balance/free residual, symmetry/objectivity와 commit/rollback portfolio가 모두 통과 | `NSNR-ROT-*`, `NSNR-ELEM-*`, `NSNR-CTRL-*`, `NSNR-SOLVER-*`, `NSNR-LOG-*`, `NSNR-STATE-*`, `NSNR-HDF5-014`, `NSNR-PROC-019`, `NSNR-REF-022/024/025`; Physics focused `23/23` | fine primary, coarse companion, linear control | `build-test.md`, `reference-comparison.md`, `physics-evaluation.md` | `included-pass` |
|
|
| `FESA-REQ-NSNR-034` | exact source/component precheck 후 U blocking, UR warning-only, RF/RM review-only, RM3/stress excluded, common external tolerance 적용 | `NSNR-REF-020..023`, `NSNR-EVID-003..007`; nonlinear reference `9/9` | fine primary, coarse companion, linear control | `reference-comparison.md`, `physics-evaluation.md` | `included-pass` |
|
|
|
|
## 5. Validation Evidence
|
|
|
|
Fresh Stage 6 commands and results are recorded in `build-test.md`:
|
|
|
|
```powershell
|
|
cmake --preset windows-msvc-ninja-debug
|
|
cmake --build --preset windows-msvc-ninja-debug
|
|
ctest --preset windows-msvc-ninja-debug --show-only=json-v1
|
|
ctest --preset windows-msvc-ninja-debug -R "^(NonlinearConvergence|NewtonIterationLog)\." --output-on-failure
|
|
ctest --preset windows-msvc-ninja-debug -R "^(NonlinearStaticProcedure|NonlinearHdf5ResultsWriter)\." --output-on-failure
|
|
ctest --preset windows-msvc-ninja-debug -R "^NonlinearStaticReference\." --output-on-failure
|
|
ctest --preset windows-msvc-ninja-debug -R "^(NonlinearStaticReference|ReferenceTolerance|Mitc4Reference)\." --output-on-failure
|
|
ctest --preset windows-msvc-ninja-debug --output-on-failure
|
|
```
|
|
|
|
- Configure/build/discovery: exit `0`; 302 tests discovered.
|
|
- Focused control/log `14/14`, procedure/writer `7/7`.
|
|
- Nonlinear reference `9/9`; extended matched reference `9/9`.
|
|
- Full MSVC x64 Debug CTest `302/302`, failed-test inventory 없음, 새 compiler/linker warning 없음.
|
|
- Stage 7 Physics-focused CTest `23/23`, exit `0`.
|
|
- Harness Python pytest는 Step 12가 Python, hooks 또는 agent configuration을 변경하지 않아 applicable하지
|
|
않았고 필수 제품 검증으로 재분류하지 않았다.
|
|
- `reference-comparison.md`: overall `pass-for-physics-evaluation`; external translation blocking families,
|
|
warning-only UR families와 eight internal blocking families 통과. Global balance metrics의 worst value는
|
|
fine moment `2.74546602e-10 <=1e-8`이다.
|
|
- `physics-evaluation.md`: `pass-for-release-agent`; equilibrium, reactions, displacement direction/path,
|
|
symmetry/objectivity, stress sanity, rigid-body, energy/residual과 model coverage에 물리 blocker 없음.
|
|
- Declared canonical reference 12개는 current SHA-256가 `reference-model.md`와 일치하고 tracked diff가 없다.
|
|
|
|
## 6. Known Limitations
|
|
|
|
1. Coarse/fine local nodal `RF1/RF2/RF3`와 physical spatial `RM1/RM2`에는 six review-only
|
|
discrepancy families가 남아 있다. Exact source-key/schema/inventory/finite/error report는 유지하지만
|
|
blocking verdict는 global force/moment balance와 accepted free residual이 결정한다.
|
|
2. Local `RM3`는 approved physical external comparison target이 없어 excluded다.
|
|
3. Stored corner `SPOS/SNEG` stress와 FESA direct Gauss `BOTTOM/MIDDLE/TOP` stress는 위치·복구 identity가
|
|
다르므로 numerical comparison에서 제외된다. Fine optional stress CSV에는 element `1`, `SNEG`의
|
|
malformed `Node Label=ss` 한 행이 있으며 artifact를 repair하지 않는다.
|
|
4. `UR1/UR2/UR3` external comparison은 warning-only다. Current portfolio에서는 모두 통과했지만 향후
|
|
warning exceedance가 blocking failure로 자동 승격되지는 않는다.
|
|
5. Stored nonlinear plate responses는 weak geometric-nonlinear regime다. Finite-rotation/tangent/objectivity/
|
|
rollback은 internal invariant tests로 보강했지만 broad large-response benchmark 또는 experimental
|
|
validation claim은 하지 않는다.
|
|
6. Original-style MITC4는 curved/distorted/thin nonlinear mesh에서 membrane-locking과 conditioning
|
|
위험이 있다. MITC4+ 또는 Abaqus `S4/S4R` 성능을 상속한다고 주장하지 않는다.
|
|
7. 첫 release는 one-step, materially linear, fixed-increment Full Newton 범위다. Limit-point traversal,
|
|
material nonlinearity, follower/distributed load, adaptive increment와 broader Abaqus keyword compatibility는
|
|
지원하지 않고 fail-closed한다.
|
|
8. Rotation-vector principal chart, director/swing/twist branch와 geometry/Jacobian validity 밖의 상태는
|
|
fail-closed한다. No line search/cutback/retry이므로 difficult path의 automatic recovery를 보장하지 않는다.
|
|
9. Global force/moment `<=1e-8`은 comparator-owned internal verification gate이며 runtime user setting이나
|
|
`fesa.env` 계약이 아니다. External CSV families에는 별도로 `docs/TOLERANCE.md`만 적용한다.
|
|
10. Numerical agreement은 Abaqus formulation, integration, stabilization, state update 또는 recovery의
|
|
internal equivalence evidence가 아니다.
|
|
|
|
## 7. Release Notes Draft
|
|
|
|
### 기능 요약
|
|
|
|
FESA에 fixed-initial-reference Total Lagrangian 기반 geometric-nonlinear `FESA-MITC4` static
|
|
procedure가 추가되었다. Solver는 fixed load-factor path에서 Full Newton-Raphson을 수행하고,
|
|
수렴한 increment만 HDF5 schema v1 accepted frame으로 commit한다. Trial/committed finite-rotation state,
|
|
deterministic per-iteration log, rollback-safe output lifecycle, current-arm/spatial-moment global equilibrium
|
|
evidence를 포함한다.
|
|
|
|
### 사용과 산출물
|
|
|
|
- 실행: `fesa.exe <model.inp>`
|
|
- 결과: input sibling `<stem>_results.h5`
|
|
- 진단: input sibling `<stem>_log.txt`
|
|
- 지원 핵심 범위: one `*STEP, NLGEOM=YES`, one four-value `*STATIC`, source `S4/S4R`, isotropic
|
|
linear elastic shell, `*CLOAD`, `*BOUNDARY`의 approved subset.
|
|
- Literal `--output`은 제거되었고 alias/deprecation form 없이 exit `2`로 거부된다.
|
|
|
|
### 검증 범위
|
|
|
|
MSVC x64 Debug full CTest `302/302`, nonlinear/extended reference `9/9`, Physics focused `23/23`이
|
|
통과했다. Fine/coarse nonlinear plate와 linear control의 `U1/U2/U3` blocking comparison,
|
|
warning-only UR, accepted free residual 및 normalized global force/moment `<=1e-8`을 검증했다.
|
|
|
|
### 사용자에게 알려진 제한
|
|
|
|
Local nodal RF/RM discrepancy는 review-only이며 `RM3`와 stored stress comparison은 제외된다.
|
|
Fine optional stress CSV의 malformed node label은 read-only로 유지한다. UR은 warning-only다.
|
|
Stored nonlinear cases는 weak response이고 original MITC4는 curved/distorted mesh membrane-locking 위험이
|
|
있으므로 broader large-response, locking-free 또는 external-solver internal-equivalence claim을 하지 않는다.
|
|
Material nonlinearity, multiple/mixed steps, follower/distributed loads, line search/cutback/retry,
|
|
arc-length와 broad Abaqus keyword compatibility는 지원 범위 밖이다.
|
|
|
|
### Evidence artifacts
|
|
|
|
- `docs/nonlinear-static-newton-raphson/implementation-report.md`
|
|
- `docs/nonlinear-static-newton-raphson/build-test.md`
|
|
- `docs/nonlinear-static-newton-raphson/reference-comparison.md`
|
|
- `docs/nonlinear-static-newton-raphson/physics-evaluation.md`
|
|
- Authoritative solver artifact: each input sibling `<stem>_results.h5`
|
|
|
|
## 8. Release Verdict
|
|
|
|
- verdict: `ready-for-release`
|
|
- gate basis: full build/test evidence passed, reference comparison overall status is
|
|
`pass-for-physics-evaluation`, Physics status is `pass-for-release-agent`, 24/24 must requirements have
|
|
explicit acceptance/test/reference/release disposition, and no blocking evidence gap remains.
|
|
- qualification: six local RF/RM findings, stress/RM3 exclusions, warning-only UR와 model-coverage limitations are
|
|
approved and disclosed nonblocking limitations, not unresolved implementation defects.
|
|
- feature identity disposition: `reference-comparison.md`의 literal `feature_id` omission은 exact
|
|
path/title/hash/handoff binding으로 해소되고 contradictory identity가 없으므로 verdict를 낮추지 않는다.
|
|
- authority boundary: 이 verdict는 internal feature delivery closure recommendation이다. Publish, deploy,
|
|
package, tag, external release 또는 solver equivalence claim을 승인하지 않는다.
|
|
|
|
## 9. Handoff Recommendation
|
|
|
|
Coordinator Agent가 이 보고서의 exact path/hash와 `ready-for-release`를 독립 audit한 뒤 Stage 8을
|
|
`passed`로 기록하고 8-stage workflow를 closure할 것을 권고한다. Evidence gap return 또는 owning
|
|
sub-agent rework는 필요하지 않다. 사용자가 요청한 commit/push는 Coordinator/root가 Release gate
|
|
audit 후 별도로 수행해야 하며, 이 Release Agent는 commit, push, tag 또는 publish를 수행하지 않는다.
|
|
|
|
## 10. No-Change Assertion
|
|
|
|
이 Stage 8 작업은 `docs/nonlinear-static-newton-raphson/release.md` 하나만 생성했다. Coordinator가
|
|
동시에 소유한 pre-existing `coordination.md` 변경은 읽기만 했고 수정·revert하지 않았다. Source code,
|
|
headers, tests, CMake, Harness, requirements, research, formulation, numerical review, reference model,
|
|
I/O, implementation/physics reports, reference artifacts와 `docs/TOLERANCE.md`를 변경하지 않았다.
|
|
Abaqus, Nastran 또는 다른 reference solver, build, CTest, Harness, publish/deploy/package/tag 작업을
|
|
실행하지 않았다.
|
|
|
|
## 11. Open Issues
|
|
|
|
Blocking open issue는 없다.
|
|
|
|
| id | severity | disposition |
|
|
| --- | --- | --- |
|
|
| `RELEASE-META-001` | nonblocking documentation | `requirements.md`의 historical draft/pending metadata는 current-hash explicit user approval와 Coordinator Stage 1 pass로 해소된다. Upstream 문서는 이 gate에서 수정하지 않았다. |
|
|
| `RELEASE-META-002` | nonblocking documentation | `reference-comparison.md`에는 literal `feature_id` field가 없지만 exact bundle path/title/SHA-256/Stage 6 handoff와 Physics source hash가 feature identity를 결정적으로 고정한다. Contradictory identity는 없고 upstream report는 변경하지 않았다. |
|
|
| `RELEASE-LOCAL-001` | accepted risk | Six local RF/RM families remain review-only findings; global balance/free residual blocking evidence passed. |
|
|
| `RELEASE-STRESS-001` | accepted limitation | `RM3`와 stored stress numerical comparison은 excluded; fine optional malformed stress row는 read-only로 유지한다. |
|
|
| `RELEASE-COVERAGE-001` | known limitation | Weak nonlinear stored response와 original MITC4 curved/distorted membrane-locking risk가 broader claims를 제한한다. |
|
|
|
|
Missing required report, failed pass status, unresolved defect, missing declared comparison file 또는
|
|
contradictory acceptance evidence는 발견되지 않았다.
|