feat(nonlinear-static-newton-raphson): step 12 - execution-closure-and-evidence-docs
This commit is contained in:
+30
-5
@@ -317,9 +317,25 @@ Abaqus input file
|
||||
-> LinearSolver::solve(rhs, df) substitution
|
||||
-> full displacement 복구
|
||||
-> full residual/reaction = K*d - F 및 ElementResultBundle 복구
|
||||
-> ResultsWriter로 results.h5 atomic finalization
|
||||
-> ResultsWriter로 derived `<stem>_results.h5` atomic finalization
|
||||
```
|
||||
|
||||
### 승인된 Nonlinear Static 경로
|
||||
|
||||
`PrepareAnalysisInput()`은 input syntax와 semantic Domain을 정확히 한 번 만든다.
|
||||
`ExecutePreparedAnalysis()`는 sole static step의 procedure identity로 linear static 또는
|
||||
nonlinear static executor를 선택하며 두 procedure의 mutable state를 공유하지 않는다.
|
||||
Nonlinear executor는 committed/trial `NonlinearAnalysisState`, full unsymmetric CSR tangent
|
||||
solver와 closed-before-finalization Newton iteration log를 소유한다. Completion 뒤
|
||||
`FinalizePreparedAnalysisResult()`가 selected backend-neutral writer로 only accepted frames를
|
||||
atomic finalization한다.
|
||||
|
||||
Nonlinear schema v1의 factor-one `/global/equilibrium`은 raw full-residual sum이 아니라
|
||||
global origin `[0,0,0]`에서 current `X+u` force arm과 independently spatialized applied and
|
||||
masked constrained-reaction moments를 합한 applied-plus-reaction balance error다. Accepted
|
||||
free residual은 generalized residual의 free mask projection이고 constrained-reaction resultant는
|
||||
별도 review summary다. 어느 quantity도 다른 quantity의 substitute가 아니다.
|
||||
|
||||
강성행렬 factorization은 하중벡터 조립보다 먼저 수행한다. 반력은 element end action의
|
||||
별도 합이 아니라 조립된 전체 residual에서 구한다. Constrained component는 physical
|
||||
reaction이고 free component는 equilibrium residual evidence로 full-index vector에 남긴다.
|
||||
@@ -400,7 +416,8 @@ Schema requirements:
|
||||
- schema version, units, coordinate system, solver version, source input identity를 metadata에 기록한다.
|
||||
- field output과 history output을 구분한다.
|
||||
- reference comparison을 위한 row identity는 node id, element id, integration point id, step/frame id를 포함한다.
|
||||
- FESA solver는 `results.h5`를 authoritative output으로 쓴다.
|
||||
- FESA solver는 input lexical sibling `<stem>_results.h5`를 authoritative output으로 쓰며,
|
||||
같은 directory의 `<stem>_log.txt`는 procedure log다.
|
||||
- Abaqus reference results는 기능 문서가 선언한 기존 CSV 파일이다. Directory/file
|
||||
naming, README, metadata 또는 provenance는 architecture readiness 조건이 아니다.
|
||||
- Verification은 기능이 요구하는 source identity와 component를 결정적으로 대응시키고
|
||||
@@ -410,7 +427,7 @@ Schema requirements:
|
||||
- Writer는 final과 같은 directory의 임시 HDF5에 전체 schema를 쓴 뒤 flush, checked close,
|
||||
read-only reopen/self-check를 수행한다. Existing final은 `ReplaceFileW`, 새 final은
|
||||
`MoveFileExW(..., MOVEFILE_WRITE_THROUGH)`로 완료하며 실패 시 temporary artifact를
|
||||
정리하고 불완전한 파일을 정상 `results.h5`로 노출하지 않는다.
|
||||
정리하고 불완전한 파일을 정상 `<stem>_results.h5`로 노출하지 않는다.
|
||||
|
||||
## V0 결과 복구와 reference normalization
|
||||
|
||||
@@ -438,10 +455,11 @@ Schema requirements:
|
||||
## CLI와 diagnostics
|
||||
|
||||
```powershell
|
||||
fesa.exe <model.inp> --output <results.h5>
|
||||
fesa.exe <model.inp>
|
||||
```
|
||||
|
||||
`--output`을 생략하면 현재 작업 디렉터리의 `results.h5`를 사용한다. Exit code는
|
||||
CLI는 input과 같은 lexical sibling directory에 `<stem>_results.h5`와
|
||||
`<stem>_log.txt`를 유도하고 `--output`을 거부한다. Exit code는
|
||||
`0=success`, `2=usage`, `3=input syntax/semantic mapping`, `4=model validation`,
|
||||
`5=factorization/substitution`, `6=HDF5 output`으로 고정한다. Diagnostic은 `severity`,
|
||||
`code`, `file`, `line`, `keyword`, `entity_identity`, `message`를 가지며 stderr에
|
||||
@@ -479,3 +497,10 @@ displacement CSV만 사용한다. Global `U1/U2/U3` translation family만 blocki
|
||||
family-scale row/RMS 정책을 사용한다. S4R은
|
||||
같은 kernel을 선택하는 source mapping과 metadata를 unit/integration tests로 검증하며
|
||||
`reference/shellR/` artifact는 acceptance comparison에 포함하지 않는다.
|
||||
|
||||
Approved nonlinear MITC4 verification은 `reference/shellNL-meshfine/` fine primary,
|
||||
`reference/shellNL/` coarse companion과 `reference/shell/` linear control을 각각 독립
|
||||
copied-input directory에서 실행한다. Factor-one global force/moment balance와 accepted free
|
||||
residual은 blocking internal evidence다. External `U1/U2/U3`는 blocking, `UR1/UR2/UR3`는
|
||||
warning-only이며 local nodal `RF1/RF2/RF3/RM1/RM2`는 deterministic review-only evidence다;
|
||||
`RM3`와 stress는 nonlinear numerical comparison에서 제외한다.
|
||||
|
||||
Reference in New Issue
Block a user