7.7 KiB
Shell Surface Pressure Load — Reference Comparison 보고서
메타데이터와 Gate 6 판정
- feature_id:
shell-surface-pressure-load - case_id:
shellnl-meshfine-pressure-s4-follower - owner_agent:
implementation-agent - FESA authoritative output: schema-1
.harness/build/reference/shell-surface-pressure-load/shellNL-meshfine-pressure_results.h5 - 실행 모드: 요구 input의 byte-identical copy에 대한 FESA-only 실행
- tolerance authority: 변경하지 않은
docs/TOLERANCE.md - deterministic classification:
passed - blocking verdict: pass
- warning-only verdict: pass (UR warning 없음)
이 문서는 Coordinator에 pass-for-physics-evaluation만 권고한다. Abaqus 내부 알고리즘
동등성, Physics Gate 7 또는 release readiness를 주장하지 않는다.
ARTIFACT CHECK와 불변성
아래 source artifact는 FESA-only 실행 전후에 size, SHA-256 및 기록 timestamp가 모두 동일했다. Reference artifact의 rename, rewrite, 보정 또는 생성은 없었다.
| 용도 | 정확한 source path | bytes | SHA-256 |
|---|---|---|---|
| required input | reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure.inp |
56,665 | 53718ccc9b41c23fcc1b509a51d66f1347e87aca43a74f1d6cec4d2085f4b90e |
| required displacement CSV | reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure displacements.csv |
111,182 | 2fe53f98eac9f04779100721c3edf8049eb1dbfe733ebcbd819aeeed03b81198 |
| review-only reaction CSV | reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure reactions.csv |
108,923 | a2347f4e88e4b73c75abe7c23e96bcc696c16c1975e2440b3ad9bf7ecda5f2b6 |
| excluded stress CSV | reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure stresses.csv |
1,036,876 | bc06f3324cc5d6655ded2939b3e1cb9d55a0359fa0d272a6958399464218a128 |
유일하게 copy한 source artifact는 다음 exact input이다.
.harness/build/reference/shell-surface-pressure-load/
shellNL-meshfine-pressure.inp
copy의 size/SHA-256은 required input과 정확히 일치한다. Source history와 실행 command를
감사했으며 abaqus.exe, abaqus.bat, Nastran 또는 다른 reference solver invocation은
없었다. source/path text의 abaqus parser 명칭은 실행 증거가 아니다.
FESA 생성물과 frame 선택
| 생성물 | bytes | SHA-256 | 검증 증거 |
|---|---|---|---|
| copied input | 56,665 | 53718ccc9b41c23fcc1b509a51d66f1347e87aca43a74f1d6cec4d2085f4b90e |
source와 exact match |
shellNL-meshfine-pressure_results.h5 |
10,547,430 | 74f35e3e59edd05460733b1d6367994c7f4a1e847b366f2efad6fbecc03796f3 |
atomic publish된 schema-1 HDF5 |
shellNL-meshfine-pressure_log.txt |
40,786 | 8555ff365dcf1f066813d0cce6440c3d56c9840baf8246696daa7b2e7b0061a1 |
factor-one increment accepted |
Step-1에는 load factor 0.1부터 1.0까지 accepted frame 10개가 있다. factor-one
entry는 frame index 9, increment 10, load_factor=1.0, is_factor_one=1의 정확히
하나이며, selected dataset은
/steps/Step-1/frames/9/nodal/displacement다.
COMPARE 사전검사와 row projection
비교기는 /model/nodes와 factor-one final nodal displacement를 사용한다. Key는 row
position 또는 internal index가 아니라 (Step-1 factor-one accepted frame, instance, source node label, component)다.
| 사전검사 | 결과 |
|---|---|
| exact source artifact를 읽을 수 있음 | pass |
| schema / Step / accepted factor-one frame | pass: schema 1, Step-1, factor-one 1개 |
HDF5 /model/nodes inventory |
pass: finite/unique (Part-1-1, label) 729개 |
| displacement CSV wide-row inventory | pass: finite/unique (PART-1-1, label) 729개 |
| identity normalization | pass: comparison key에서만 instance ASCII case normalize; stored identity 보존 |
| component projection | pass: U1/U2/U3 -> UX/UY/UZ, UR1/UR2/UR3 -> URX/URY/URZ |
| U logical rows | pass: 정확히 2,187 |
| UR logical rows | pass: 정확히 2,187 |
| missing / extra / duplicate / nonfinite | 없음; tolerance 전에 fail-closed precheck |
| reaction/stress disposition | reaction review-only, stress excluded; comparison family를 생성하지 않음 |
생성 HDF5가 존재한 뒤 ShellSurfacePressureReference를 다시 실행하여 9/9가 통과했다.
이는 exact artifact audit, schema/frame selection, cardinality, identity match,
precheck-before-tolerance, family policy와 deterministic repeat comparison을 확인한다.
공통 tolerance와 per-family 결정
Reference만으로 family scale과 near-zero band를 계산했다.
[ S=\max |r_i|,\qquad B=0.01S. ]
abs(reference) <= B이면 abs(fesa-reference) <= B, 나머지는 relative error
<= 0.05를 적용하고 family relative RMS도 <= 0.01이어야 한다. 별도의 absolute
gate, max(1,S), clamp, average, row omission은 사용하지 않았다.
| family | 영향 | components | rows | S | B | near-zero pass | relative pass | max abs. error / row | max applicable relative error / row | relative RMS | verdict |
|---|---|---|---|---|---|---|---|---|---|---|---|
pressure_nodal_translation_blocking |
blocking | U1, U2, U3 | 2,187 | 5.51545573e-3 |
5.51545573e-5 |
1,582/1,582 | 605/605 | 9.96028671352255e-7, (Part-1-1, 2, U3) |
3.12464512172274e-3, (Part-1-1, 419, U3) |
5.18831997081359e-5 |
pass |
pressure_nodal_rotation_warning |
warning-only | UR1, UR2, UR3 | 2,187 | 1.64645887e-3 |
1.64645887e-5 |
995/995 | 1,192/1,192 | 3.29623883250936e-6, (Part-1-1, 250, UR2) |
3.81566175195545e-2, (Part-1-1, 286, UR2) |
3.10406152731217e-4 |
pass |
결정적인 4,374개의 모든 row decision이 통과했다. max absolute-error row와 max
applicable-relative-error row는 별도로 기록하며 서로 다른 source row일 수 있다.
두 family RMS도 모두 0.01 미만이다. U는 blocking으로 pass했고, UR은 warning-only
contract를 유지하며 이번 결과는 pass여서 deterministic warning도 없다.
내부 blocking evidence
최종 nonlinear log는 factor-one increment 10 / iteration 3에서
combined_pass=1, transition=accepted를 기록했다. 이 internal evidence는 external
CSV tolerance와 독립적이며 reaction CSV로 대체하지 않는다.
| internal family | rows | numerator / stored evidence | scale 또는 branch | metric / gate | 결과 |
|---|---|---|---|---|---|
| accepted free translation-force residual | free DOF 1,875 | infinity norm 9.06582420157065e-6 |
external/internal scale 1.47929199940215e5 |
6.12848863188238e-11 <= 1e-2 |
pass |
| accepted free rotation-moment residual | free DOF 1,875 | infinity norm 1.3758908607997e-6 |
exact-zero external-scale branch | 1.3758908607997e-6 <= 1e-3 |
pass |
| global force balance | 3 | [-5.04652281563267e-6, -3.33100482574622e-6, -3.02493572235107e-6] |
applied + masked constrained reaction, current arm | approved normalized gate <=1e-8, focused nonlinear test가 실행 |
pass |
| global moment balance | 3 | [1.21226185001433e-6, 7.79749825596809e-7, -1.57924777074714e-5] |
spatial physical moment, current arm | approved normalized gate <=1e-8, 같은 focused test가 실행 |
pass |
분류, no-change assertion, open issues
- final classification:
passed;implementation,test,configure,compile,link,reference-comparison,infrastructure,environment,artifact,regression,evidence-gap,upstream-contractfailure가 없다. - source artifact/CSV value/name, tolerance policy, upstream feature docs, source/test/CMake code를 이 Step에서 변경하지 않았다.
- generated input/HDF5/log는
.harness/build/아래에만 존재한다. - Gate 6 blocking open issue는 없다. physics plausibility와 release readiness는 의도적으로 이 Step의 판정 범위 밖이다.