Files
FESADev/docs/abaqus-tolerance/results.md
T

25 KiB
Raw Blame History

MITC4 HHT 외부 field 수렴 정책 실험 결과

기록일: 2026-10-19. 실제 종료 정책은 구현했으나 수치 부적합과 검증 공백이 남아 있다. MITC4 HHT 양의 증분은 abaqus2025-field-on-fesa-v1로 판정하며 hht-log-v2를 기록한다. Native Debug와 CMake Debug/CTest 전체는 각각 998개 중 987 PASS·10 FAIL·1 SKIP이다. Python 145개와 별도 정식 Hex8 5모델 비교는 통과했다. 공식 MITC4 후보 100증분 실행· reference 비교·성능 비교는 미성립이며 전체 검증 완료·가속 확인·정식 채택으로 보고하지 않는다.

기준과 원시 증거

측정 source는 78cb33920742a91b4801788fbcc953d3306b0884다. d7f6d0c와 제품 source·두 빌드 설정의 diff는 exit 0이다. 원래 조사 기준 43867d0와 달리 사용자 승인 local kernel인 polar 1회, ExpSkew/Jacobian 3차, 질량 gate와 관련 테스트 오차 1e-3을 사용했다. 외부 Newton은 잔차와 q/v/a/A 보정 1e-10, 최대 100회인 기존 strict 경로다.

원시 자료는 부모 작업공간의 다음 ignored 위치에 보존했다. T2 worktree의 .build를 정리해도 아래 자료는 별도로 남는다.

.build/tolerance-experiment/go-20261018/baseline/
  source/strict-source-78cb339.zip, source-hashes.json, revision.txt
  runtime/                     # 공식 EXE·DLL·PDB
  runtime/tests/               # 같은 Release 검사 EXE·DLL·PDB
  build/                       # 실제 명령·전체 로그·각 exit·선택 CMake compile 명령
  run/                         # 새 INP·CSV 복사본·로그·새 HDF5
  execution.json, runtime-hashes.json, test-runtime-hashes.json
  input-hashes-before.json, input-hashes-after.json, environment-before.json
  reference-comparison.json, official-log-summary.json
  development-one-increment/  # 최초 ON 진단, 보완 전
  development-off-control/    # 보존된 공식 OFF EXE의 1증분 대조
  development-final/          # 보완 후 최종 ON 진단·카운터 관계 검증
보존 대상 SHA256
strict source ZIP 0B655E0257720AD9CEF31274931578FE17C4456B9988C158A61DF88D93792BED
공식 fesa.exe 3CDB5D9D35F6AD95781044BD311ECB35C9FB121780EF81FC535434BF3515172C
정식 INP 및 공식 작업 복사 B8922243CA8DDFE20B1DD39F3123207F789A1A75F6B10DBB6B0BC0B5A40DFFF5
정식 변위 CSV 및 복사 422ECF17609E14FD119D60A3D5AF7A0D1BC4A95E0F556608A7D791E2718C56C5
새 공식 HDF5 55EF1FFAAE061311F3C1AE705824658B668A818D5F1F7D27BB538CA66EE4792C

원본 reference는 실행·수정하지 않았고 전후 hash가 같다. 기존 결과를 재사용하지 않았다.

계측 없는 공식 실행

MSBuild FESA.sln /m:2 /p:Configuration=Release /p:Platform=x64는 native exit 0이다. VS 18.11/MSVC 14.51 x64, /O2 /Ob2 /fp:precise /MD, staged MKL 2026.1, TBB 2023.1, HDF5 2.1.1, Intel runtime 2026.1을 사용했다. 기존 Hex8 검사 source의 C4334 경고 1개가 있었고 오류는 없었다.

호스트는 KOKO, Ryzen 7 5800H(8코어/16논리), 전원은 고성능이다. 관련 thread 환경변수와 PATH를 environment-before.json에 기록했고 변경하지 않았다. 실제 worker 수를 고정·계측한 결과는 아니다. 후보 공식 측정도 같은 환경을 사용해야 한다. 측정 중 다른 build/test/solver를 실행하지 않았다. 워밍업 없이 정확히 1회 실행했다.

항목 실제 결과
명령 보존된 runtime/fesa.exe run/shellNL-dyn-meshfine.inp
입력 dt=.1, T=10, 100증분, 729 nodes, 676 elements
시작/종료 UTC 2026-10-18 15:01:20.6895159 / 16:47:11.4199462
native / wrapper exit 0 / 0
공식 elapsed 6350.7895521초
프로세스 CPU 18021.3125초; elapsed와 다른 값
새 HDF5 126254676 bytes, schema2, 729 nodes / 101 frames
peak working set 종료 후 API가 null을 반환하여 미확보
정식 비교 comparator exit 0, 사전검사 통과, U blocking 실패 0, UR 경고 200
U 최대 family relative RMS 0.002282424502275574

정식 비교는 기존 9-node U blocking/UR warning 정책 그대로 수행했다. 전체 441774 변위 scalar의 identity/finite 확인 후 202 families를 평가했고 near-zero 1%, 일반 상대 5%, RMS 1%, zero-scale exact-zero를 유지했다. Python의 로컬 uv cache를 child PYTHONPATH로 읽어 numpy 2.4.6/h5py 3.16.0을 사용했다. 설치·다운로드·캐시 쓰기를 하지 않았다. 실제 argv와 exit는 원시 로그에 있다.

공식 hht-log-v1에서 양의 accepted 100건, 평가 204건이며 accepted iteration 합은 outer applied correction 204회다. 96증분은 2회, 4증분은 3회다. 잔차가 통과했지만 보정이 실패한 평가는 27건이다. 보정 채널별 실패 평가 건수는 u의 q/v/a/A가 102/103/104/104, 회전은 100/100/102/102다. 이는 중복을 허용한 로그 채널 진단이며 배타적 실행시간이나 후보의 절약 가능 회수가 아니다.

별도 1증분 개발 계측

기존 4개 물리·미분 검사 실패가 남은 상태에서 동일 100증분을 장시간 반복하지 않았다. 승인된 별도 개발 입력 복사에서 T만 .1로 줄였고 dt=.1과 local kernel·strict 종료는 유지했다. 이 입력 SHA256은 79D1C09FC5AFB792312F1908E13D71ABC228D98D10B438B91412A9BFA4C95A50다.

계측은 기본 컴파일 OFF다. Native는 /p:FesaHhtDevelopmentProbe=true, CMake는 -DFESA_HHT_DEVELOPMENT_PROBE=ON으로 켜고, ON 실행에서만 FESA_HHT_PROBE_OUTPUT=<새 sidecar 경로>를 설정한다. 정상 OFF 객체에는 해당 환경 키가 없다. 추가 요소 평가·수치 보정·판정 완화 없이 기존 호출 앞의 계수와 serial scope의 정수 ns 타이머만 쓴다. 단일 procedure 개발 실행용이며 동시 다중 procedure 계측을 지원한다는 주장은 없다. 병렬 요소 callback은 atomic 계수만 쓰고 타이머/단계 배열은 serial thread만 수정한다.

최종 개발 실행 native exit 0, 개발 elapsed 77.5268139초다. 이는 공식 시간이 아니다. 최초 ON, OFF 대조, 보완 후 최종 ON은 모두 별도 파일로 보존했다.

최종 sidecar 계수 값과 범위
outer_applied_correction / inner_applied_correction 3 / 1; 실제 좌표 갱신만 포함
assembly_calls 14
assembly_internal_evaluation 9464 = 14×676
assembly_internal_failure 3; 대체 시작 trial 평가의 실패이며 최종 해석 실패가 아님
assembly_inertia_evaluation 9461 = 9464−3; internal 실패 뒤 생략된 관성 호출 제외
constraint_internal_evaluation 6760; cache miss의 실제 추가 EvaluateTrial만 포함
logical_factor_call / logical_solve_call / logical_rhs 1274 / 7516 / 7516

Solver 수는 HHT 경계 forwarding wrapper의 논리 호출이다. 실패 시도도 세며 vendor의 phase11/22/33 전체 호출수로 해석하지 않는다. inner correction도 stagnation 때문에 계산만 하고 적용하지 않은 solve는 제외하지만 logical solve에는 포함한다. 계수 관계와 공식 첫 증분의 outer 3회 일치는 counter-check.json에서 assert했다.

중복 없는 최종 단계 시간 초
procedure_other 30.6919325
inner_graph 26.6134860
assembly 13.8891082
outer_linear 0.1445448
physical_rates 0.2650750
factor 5.0312963
solve 0.5715257
합계 = procedure inclusive 77.2069685

각 _exclusive_ns는 자식 시간을 뺀 값이고 합계가 procedure_inclusive_ns와 정확히 같음을 assert했다. ExecuteReducedHht 경계이므로 CLI 입력·최종 HDF5 finalize·sidecar I/O를 제외한다. 요소 kernel 시간은 병렬 wall-time을 포함한 assembly 범위이며 각 요소 CPU 시간의 합이 아니다. 전체 100증분의 inner/요소/factor/solve 비용과 후반 채널 분포는 계측하지 않았다. 첫 증분 계수·시간을 100배하거나 후보 전체 비용으로 외삽하지 않는다.

정확 byte parity와 검증 한계

공식 frame0/1과 개발 결과의 40개 numeric dataset을 identity/shape/type/finite 확인 후 비교했다. ON 최초·ON 최종·보존된 공식 OFF EXE의 짧은 입력 대조 모두 22개 dataset이 byte 일치하고 frame1의 18개 dataset은 불일치했다. 정확 byte parity는 미통과다. 최종 ON의 q/v/physical a 최대 절대차는 각각 6.776263578034403e-21, 2.168404344971009e-19, 6.938893903907228e-18이고 energy는 8.881784197001252e-16이다. 거의 영인 값의 scalar 상대오차가 클 수 있으므로 최대 절대차만으로 통과 판정하지 않는다.

동일 보존 OFF EXE의 대조에서도 q/v/a 최대 절대차는 1.3552527156068805e-20, 3.552713678800501e-15, 5.684341886080802e-14였다. T 단축·반복 실행·기본 thread 조건· 컴파일/계측 영향을 완전히 분리하지 못했으며 원인을 하나로 단정하지 않는다. 새 parity tolerance나 floor를 도입하지 않았다. dataset별 차이 수·최대 절대/상대차·첫 위치와 원본/실제 bytes는 각 parity-details.json에 보존했다. NaN을 동일 처리하지 않고 finite를 요구했다. 독립 source 검토에서 산술·평가·진단 순서 변경이 없다고 확인한 사실은 실행 parity 통과와 별개다.

계측 검사는 no-op에서 2FAIL/native1을 확인한 뒤 카운트·중첩 배타 시간·solver forwarding/ 실패 보존·실제 inner 1회/0회 갱신의 4개 검사를 native0으로 통과했다. 실제 inner 계수 검사는 CMake OFF operators 객체를 연결하면 1FAIL/native1, ON이면 4PASS/native0다. Standalone 준비 중 link/include/MKL runtime 오류와 짧은 clock tick assertion 실패도 별도 보존했다. 짧은 tick은 0ns를 허용하고 scope 진입 수와 시간 분할의 exact equality를 검사한다. Standalone에 필요한 기존 설치의 sequential DLL은 테스트 전용이며 공식 runtime에 추가하지 않았다.

Native ON CLI 최종 빌드는 exit0(경고0), CMake Release 기본 OFF의 변경 production 3개와 새 검사 객체 compile은 exit0, ON 새 검사 객체 compile도 exit0이다. source 등록을 양쪽에 맞췄다. OFF에서는 새 검사 identity가 없고 ON에서는 4개다. 전체 CMake link/CTest나 전체 Debug 검사는 이번 T2에서 실행하지 않았고 후속 전체 회귀를 대신하지 않는다. 기존 local-kernel의 4FAIL은 기록을 유지하며 재실행/해결한 것으로 보고하지 않는다. U 통과는 V/a/energy의 외부 검증이나 기존 물리 실패의 해결을 뜻하지 않는다.

T2 판정은 기준 보존 완료·개발 진단 한정 확보·전체 검증 미완료다. 후보 측정, 전체 100증분 개발 비용, 정확 parity 원인 분리와 필수 전체 물리/회귀 검증은 남았다.

T6 후보 실행물과 공식 측정 미실행

T6 source는 0c88cb24c84abc4b3561a1e7975df7a4125134f1, branch는 dryforge/tolerance-t6다. 제품 source와 probe·판정 기준은 수정하지 않았다. T4 최종 parent dd54b0a와 src/include/msvc 및 CMake 설정의 Git identity가 같고, T4 manifest의 제품 source 5개와 cached probe ON CLI SHA256 6C9264282B117A35A46C3550CAE215B096F60B46F0105B929BA9A1979EBF547F가 일치한다. T5는 검사와 문서만 변경했다. Source ZIP, 파일 hash, 실행물과 DLL, 실제 명령, 환경·전원 및 raw 자료는 부모 작업공간의 다음 위치에 별도 보존했다.

.build/tolerance-experiment/go-20261018/
  candidate/source/                    # pinned source ZIP·SHA256
  candidate/development-runtime/       # cached probe ON EXE·7 DLL·PDB
  candidate/development-one-increment/ # 새 짧은 입력·native exit·로그·HDF5·probe
  candidate/runtime/                   # 새 full Native Release probe OFF 실행물
  candidate/build/                     # ON/OFF compile 기록·OFF 명령·raw·exit
  candidate/official-input/            # 정식 INP·CSV의 새 hash 확인 복사, 미실행
  T6/                                 # preflight·진단 script·metadata·검토 기록

T5 물리 검증의 Release153 결과는 144PASS/8FAIL/1SKIP, native exit1이다. 독립 D3 두 검사, drilling gradient, C08 pointwise 및 strict algebra 시간 controller 네 실패와 후보 비선형 시간 정확도 R8 미충족이 남는다. 보존 strict C08 대조도 5FAIL이며 이를 후보 정확도 통과로 해석하지 않는다. 계획의 명시된 실패 분기에 따라 같은 긴 실행을 근거 없이 반복하지 않았고, 공식 dt=.1/T=10/100증분 후보 실행은 시작하지 않았다. 따라서 후보 공식 elapsed, strict 대비 Δ·speedup, 729 nodes/101 frames 완결 결과와 정식 9-node U blocking/UR warning reference 판정은 모두 not-established다. T2 strict 공식 6350.7895521초와 아래 개발 시간을 비교하지 않는다.

T6 초기화와 1증분 개발 진단

T2 baseline/development-final의 T=.1/dt=.1 입력을 새 경로에 복사했고 SHA256 79D1C09FC5AFB792312F1908E13D71ABC228D98D10B438B91412A9BFA4C95A50가 같다. 공식 100증분 입력과 별개다. KOKO/Ryzen 7 5800H, 고성능 전원, 기존 thread 환경과 동일 local polar1/inertia3/mass gate1e-3 및 cached MSVC Release probe ON을 사용했다. 짧은 고유 TMP/TEMP C:/ft6d와 새 FESA_HHT_PROBE_OUTPUT=.../probe.txt를 설정했다. 상속 GoogleTest 선택 환경은 제거했다. 실행 전 guard는 오래된 MSBuild PID5112를 발견해 native launch 전에 중단했다. CPU2.640625초 불변·cl/link/solver/test 부재와 T4/T5 종료 확인 후 idle worker만 제외했고 프로세스는 종료하지 않았다. 두 preflight와 근거를 T6에 보존했으며 guard 대기는 elapsed에 포함하지 않는다.

실제 native 실행은 1회다. UTC 2026-10-18T18:07:36.7511886Z부터 18:08:41.2302276Z까지 64.4754692초, native exit0이며 새 HDF5는 2851989 bytes, frame0/1 두 frame이다. 이는 계측 ON 초기화+1증분 개발 시간이고 공식 시간·전체 비용·후반 증분 비용으로 외삽하지 않는다.

동일 계수 정의의 1증분 진단 T2 strict ON T6 candidate ON
outer / inner applied correction 3 / 1 2 / 1
assembly calls 14 12
internal evaluation / failure 9464 / 3 8112 / 3
inertia evaluation 9461 8109
constraint internal evaluation 6760 5408
logical factor 1274 1271
logical solve / RHS 7516 / 7516 7513 / 7513

실제 호출 경계와 forwarding 의미는 T2와 같다. Internal=assembly×676, inertia=internal−failure, solve=RHS와 exclusive ns 합=procedure inclusive를 counter-comparison.json에서 확인했다. 내부 실패3은 대체 시작 trial의 실패이며 최종 해석 실패가 아니다. 카운터 감소를 공식 가속률로 변환하지 않는다.

같은 짧은 입력의 strict ON과 후보 ON HDF5 frame0/1의 40개 numeric dataset을 shape/type/finite 및 inventory 확인 후 비교했다. 22개는 정확 byte 일치하고 frame1의18개는 달랐다. 후보와 strict의 동일 bytes를 요구하는 합격 검사는 아니며, 정책 변경에 따른 전체 state 차이 진단이다. nodal q/v/physical a/A의 최대 절대차는 각각 2.0328790734103208e-20, 3.552713678800501e-15, 5.684341886080802e-14, 5.684341886080802e-14이며 energy는 8.171241461241152e-14다. Angular velocity/acceleration·triad·director와 force/reaction/residual·element 결과도 전체 dataset별 차이를 state-differences.json에 보존했다. 이는 정책 차이의 진단 숫자이며 외부 truth, 정확도 승인 또는 새 parity tolerance가 아니다. T2 ON/OFF의 기존 ULP 차이도 미해결이다.

T6 계측 OFF Release 보존과 정적 확인

개발 진단 종료 후 VS18.11.0/MSVC14.51.36231 x64에서 전체 MSBuild FESA.sln /m:2 /p:Configuration=Release /p:Platform=x64 /p:FesaHhtDevelopmentProbe=false 를 실행했다. 실제 명령에는 /verbosity:minimal만 추가했고 native exit0이다. 기존 Hex8 검사 C4334 경고1개를 보존했으며 검사 실행을 빌드 통과로 세지 않는다. 새 OFF CLI의 SHA256은 449196EB79EFAB3C62B8DAC4B73C3C76E97EC76F6A77F9D80CE1EE5C8C1F0CFA, pinned source ZIP은 BF2D12688F778A8F9010C3FE086AA9D5E226209AAF1893AE84EBE841BF0F9C9B다. EXE/PDB/7개 DLL을 candidate/runtime에 보존했으며 DLL SHA는 T2 strict와 모두 같다. ON/OFF solver·CLI compile tlog를 각각 보존했다. OFF solver compile에 probe define이 없고 /O2 /Ob2 /MD /fp:precise를 확인했으며 102개 solver 객체에 FESA_HHT_PROBE_OUTPUT 문자열이 없음을 검사했다.

OFF unit discovery native exit0,883개이며 ON887개에서 probe4개가 빠진 목록이다. Field21개와 T4 후보 종료/물리 후속 gate 및 T5 강체 oracle identity가 존재한다. 이는 discovery 확인이며 unit 실행 통과가 아니다. T6/verification.json, verify-artifacts.raw.txt, commands.txt에 실제 범위·exit·미실행 상태를 남겼다. 정식 INP/CSV 새 복사 hash는 각각 기존 T2의 B8922243...DFFF5, 422ECF17...8C56C5와 같고 원본 전후 hash도 같다. 공식 복사본은 실행하지 않았다. 문서 diff/링크/기록 숫자를 정적으로 검토했으며 tracked 변경은 이 문서뿐이다.

T6은 공식 장시간 성능과 reference 통과를 확정하지 못한 DONE_WITH_CONCERNS다. 수치 부적합 해결·기준 완화는 수행하지 않았다. T7의 전체 Native Debug·CMake CTest· 별도 Python·필수 reference 검증은 후속 범위이며 이 한정 진단이 대체하지 않는다.

실제 구현과 유지한 경계

수치 계약은 field 정식화, 실제 물리 검증은 물리 검증 기록에 보존했다. Private field 계산의 독립 경계 검사 21개, 실제 종료·rollback·로그 연결 검사 11개와 강체 병진의 독립 물리 oracle 1개를 추가했다. 개발 probe 검사 4개는 별도 ON 구성에서 검증했으며 기본 OFF의 998개 등록에는 포함하지 않는다.

힘/병진과 generalized moment/total rotation-vector를 분리해 일반·zero-flux·linear· estimated correction·nonquadratic 규칙을 실제 종료에 연결했다. 평균은 요소 signed internal+physical inertia와 외부 source occurrence로 계산하고 accepted 증분에서 한 번 갱신한다. 실제 full endpoint 보정/증분을 사용하며 기존 q/v/a/A 1e-10 크기는 strict 진단으로 남겼다. PrivateCorrectionEqual, frame0, inner/hidden/rank, 선형·update 1e-12, 전역 평형 1e-8, 기존 HDF5 schema2와 최종 파일 보호는 유지했다. 수렴 뒤 후속 검사 실패를 자동 완화하지 않는다.

출력 성공 전 accepted state를 복사해 commit을 검증하고 로그 flush 뒤 state·private history· flux history를 함께 공개한다. 누적 frame 이력 복사 비용이 있으며 공식 후보 시간 측정 시 포함해야 한다. 이번에는 그 전체 비용을 측정하지 않았다. 2025 공개 규칙의 FESA 대응이며 비공개 Abaqus 요소·관성·회전·특성길이까지 같다는 뜻은 아니다. 2024 모델 생성 당시 실제 solver 설정도 미확인이다.

구성된 전체 회귀 실행

실행 revision은 710ab39059ab73518e63968067683791a5c8b558, 실행 증거 commit은 818046c3975684d37ddd6bcb827099bd27652acf다. 후자는 tracked 파일 변경 없는 실행 기록이다. 제품 source는 실제 종료 연결 revision dd54b0a 이후 바뀌지 않았다. 원시 자료의 기준 경로는 .build/tolerance-experiment/go-20261018/T7/다.

실행 실제 수 PASS FAIL SKIP native exit
MSVC x64 Debug unit 883 872 10 1 1
MSVC x64 Debug integration 72 72 0 0 0
MSVC x64 Debug reference 43 43 0 0 0
CMake Debug 전체 CTest 998 987 10 1 8
별도 Python suite 145 145 0 0 0

Native 전체도 합계 998개, 987 PASS·10 FAIL·1 SKIP이다. Native build와 CMake configure/build/discovery는 각각 exit0이다. 실제 실행 identity 998개씩을 discovery와 대조했고 누락·중복은 없었다. 실패 10개와 N7 skip의 identity도 두 경로에서 같다. Timeout·abort·필터 제외는 없었다. 제품·검사 compile source 223개와 실행 파일 옆 DLL 7개의 SHA가 양쪽에서 일치했다. C++17·Debug CRT와 전용 Hex8 source만 AVX2인 범위도 확인했다. Native 명시 /fp:Precise, CMake 명시 fp 옵션 없음은 실제 설정 관측값으로 남겼다.

실제 명령은 commands.json, Native 세 fesa_*_tests.xml, ctest.xml, 각 *.raw.txt/*.exit.txt, registration-and-timeout.json, build-configuration-comparison.json, toolchain-environment.json으로 추적한다. Python은 기존 CP311 캐시 패키지를 쓰는 run_cached_python.py -m pytest tests -q로 실행했으며 python-suite.raw.txt에 결과가 있다. 패키지를 다운로드하거나 기본 Python의 import 실패를 전체 환경 부재로 처리하지 않았다.

Native unit 뒤 실행 보조 도구가 TMP 이름을 잘라 만든 충돌로 integration 시작 전에 중단됐다. 제품 executable은 시작되지 않았고 고유 TMP 생성만 수정해 남은 단계부터 재개했다. 이미 끝난 build/unit을 반복하지 않았으며 driver-interruption.json에 원인·해결을 보존했다. 검사 중 source 574개와 정식 reference 34개의 전체 inventory·SHA는 전후 동일하다.

실패·건너뜀과 후보 정확도 한계

실제 실패 묶음 수 관측과 분류
DynamicRotation D3 독립 미분·80자리 anchor 2 대표 오차 약0.228로 승인된 1e-3 초과
ExactDrillingConstraint force gradient/Hessian 1 대표 오차 약0.00329로 1e-3 초과
C08a pointwise·시간 controller·C08b 5 hidden defect 약0.00123 및 첫 격자에서 100회 보정 소진. 보존 strict도 같은 5개 실패
실제 HHT LargeDirect·UniformTranslation 2 후보 field 통과 뒤 각각 mass-null·유한회전 increment2의 triad 일관성 실패

마지막 두 identity의 strict 대조는 외부 보정 100회 소진이었다. 특히 strict UniformTranslation은 첫 병진에서 실패해 후보의 후속 유한회전에 도달하지 않았다. 원인이 같다고 단정하지 않는다. 전체 검사명·실패 메시지·build별 실행 identity는 verification.json과 XML에 있다. 사용자 승인 local polar1/inertia3/mass gate1e-3와 관련 테스트 오차1e-3을 유지했으며, 통과시키기 위한 추가 허용치·기대값 변경이나 실패 검사 삭제는 하지 않았다.

유일한 SKIP은 HhtTemporalVerification.C04aFinestReductionComparisonIsNumericallyResolved다. 이는 binary64/solve 해상도 때문에 비교가 미판정인 N7 항목이며 PASS가 아니다. 독립 강체 병진의 실제 후보 q/v/physical a/A·energy 검사는 통과했지만 상수 가속도 해다. 기존 strict algebra의 시간수렴 통과와 함께 실제 비선형 후보의 q/v/physical a refinement, 차수≥1.8·finest 오차·N7/물리 invariant closure를 대체하지 않는다. 이 범위는 여전히 미충족이다.

별도 정식 Hex8 비교와 미확보 자료

같은 최종 제품 source의 보존된 계측 OFF Release로 정식 원본의 hash 확인 새 복사본을 실행했다. 아래 5개는 모두 새 HDF5, CLI exit0, 기존 comparator exit0, precheck·실행 검증·blocking PASS다.

모델 CLI exit comparator exit
hexa_linearstatic 0 0
hexa_nonlinearstatic 0 0
hexa_freq 0 0
hexa_dynlinear 0 0
hexa_dynnonlinear 0 0

보고서·입력·HDF5 SHA는 objective-gate.json과 hex8-reference/<case>/에 있다. Release EXE/PDB/7 DLL도 실행 전후 T6 manifest와 일치했다. 이 실행은 정확도 비교이며, 개별 elapsed를 공식 성능이나 과거 baseline 대비 speedup으로 해석하지 않는다. 기존 NT11 reference 검사는 불일치를 diagnostic으로 남기는 동작의 통과다. 외부 열 수치 일치가 아니다.

정식 shellNL-meshfine·shellNL-meshfine_02·shellNL-meshfine-pressure 자료는 없다. _02는 자료 부재와 전용 case identity/비교 계약 미구현이 함께 남는다. 새 필수 thermal reference도 미제공이다. reference/temp는 사용하지 않았다. 후보 MITC4 100증분 결과는 앞서 설명한 수치 실패 분기로 미실행이며 strict baseline이나 1증분 결과로 대신하지 않는다.

판정과 다음 검증 조건

구현됨·수치 부적합·일부 검증 미완료·공식 성능 비교 미성립으로 판정한다. Strict 공식 6350.7895521초, 1증분 개발 호출 수 감소, 전체 회귀 실행 사실은 서로 다른 근거다. 이를 합쳐 전체 가속이나 정식 채택 가능으로 보고하지 않는다. 다음에는 local 근사의 독립 미분/물리 정확도와 후보 후속 acceptance 실패의 원인을 분리하고, 실제 비선형 후보의 시간 정확도와 N7 판정을 확보해야 한다. 그 뒤 같은 조건의 공식 후보 100증분과 정식 HHT 비교를 수행해야 전체 speedup을 판정할 수 있다. 현재 branch와 원시 자료를 보존했으며 주 개발 branch 병합·외부 solver·release는 수행하지 않았다.