105 lines
8.3 KiB
Markdown
105 lines
8.3 KiB
Markdown
# Hex8 독립 수치 검토
|
||
|
||
검토 대상은 [PRD](PRD.md), [formulation](formulation.md), [numeric controls](numeric-controls.md),
|
||
[I/O](io.md), [reference mapping](reference-model.md)이다. 2026-10-08 작성자와 독립된
|
||
`hex8_t1_numerical` reviewer가 문서·관련 코드·원본을 대조했다. 수식에 추가 blocker는 없으나
|
||
필수 원본/입력 계약 충돌은2026-10-09 사용자 선택 A로 해소했다. 구현 전 문서 blocker0이며
|
||
실제 solver 수치 PASS가 아니다.
|
||
|
||
## 2026-10-09 — 승인된 high+low의 한정된 검토
|
||
|
||
`hex8_t5_numerical_spec` reviewer가 [precision formulation](precision-formulation.md)과
|
||
실제 shared arithmetic·paired kernel·geometry를 독립 검토했다. Canonical zero와 scalar
|
||
−0 lifting의 두 결함은 수정했고 native fixture로 검증했다. 동일 상대변위 gradient의 chain
|
||
rule, isotropic material Hessian·geometric 항·Cauchy 복구와 full X+high+low interval은
|
||
일관된다. 산술의 실제 graph bound와 exact-dyadic 기대값을 별도로 검토했으며 native6/6
|
||
산술 검사 로그를 확인했다. 해당 범위 bounded PASS이며 새 actionable finding은 없다.
|
||
일반 correctly-rounded106-bit 보장이나 T6 전체 state/시간수렴/원본 PASS가 아니다.
|
||
T6 consumer·backend·worker 경계와 rollback은 해당 구현이 고정된 후 별도 검토한다.
|
||
이후 같은 reviewer가 optional immutable paired-linear Hessian cache를 검토했다.
|
||
동일 graph·선형 force/energy/recovery·비선형 trial Hessian·기존 F64 Create 지원을 유지하며
|
||
native44/44 원시 로그를 확인했다. 이 캐시 변경도 bounded PASS다.
|
||
|
||
## 2026-10-10 — 전체 동적 상태와 원본 세 증분의 제한적 검토
|
||
|
||
동일 독립 reviewer가 고정된 T6 `c49cae4`의 predictor/rates, 기준 M의 전체 pair 작용,
|
||
ordered force/tangent 누적, full residual·scale, 실제 old residual을 포함한 weighted 식,
|
||
fresh solve와 실제 상태 변경의 네 보정 채널, backend/worker 이후 실행 전제 검사,
|
||
accepted low의 복사·검증·rollback을 검토했다. 원시73개 inventory와 owned/shared source,
|
||
binary·patch의 hash를 확인했고 해당 consumer 범위 bounded PASS, actionable finding0이다.
|
||
Current32/32 검사와 과거 temporal4/5 실행의 성공 사례를 구분한다.
|
||
|
||
이후 변경하지 않은 두 원본의 초기 상태와 증분1–3을 관측했다. 원래 h=0.1,T=10,INC=100,
|
||
1326 full/1275 free/51 constrained를 유지하고, 네 번째 증분 local 계산 전 test-only 예외로
|
||
종료했다. 관측 native0·2/2는 이 종료 조건의 성공이며 전체 해석 완료가 아니다.
|
||
메인은51개 raw artifact의 hash/크기를 확인한 뒤 두 binary64 성분을 exact dyadic Fraction으로
|
||
읽어 모든 상태의 normalization, 실제 Mff의 full M restriction, 원래 모든 free 성분의
|
||
물리 r/Si와 exact-zero, HHT 세 update 식과 weighted old-r 항등식을 독립 재계산했다.
|
||
|
||
Exact CSR M 작용으로 재계산한 물리 비율의 최댓값은 선형3.12680e-20,
|
||
비선형1.3043731e-16으로 승인1e-10 이내다. Update·weighted identity는1e-12 이내이며
|
||
초기1275개 free row는 모두 exact0이다. 실제 PARDISO 보정의 선형6회·비선형9회 기록으로
|
||
Newton 시작값인 이전 accepted u부터 최종 u를 재구성하고, fresh/observed 네 보정 채널도
|
||
각각 확인했다. 비선형 최대 보정 비율1.01046e-13은 승인1e-10 이내다.
|
||
|
||
Storage graph 대조의 별도 절대 오차 budget과 물리 gate를 혼동하지 않는다. Exact M 작용과
|
||
저장된 pair Ma의 상대 차이는 최대2.88e-32였다. Strict physical gate에 floor를 추가하거나
|
||
high만으로 full 상태를 대신하지 않았다. 재현 자료는 로컬
|
||
`.harness/hex8-evidence/precision/{prefix3-frozen,prefix-independent.json,check_prefix.py}`다.
|
||
Root 연결 후 관련49/49 검사의 native build/CTest는0/0이다. 이어 두 brick의 LIN/TL 직렬·TBB
|
||
전체 low 필드 일치와 실제 nonzero low를 확인한 focused1/1 검사도0/0이다.
|
||
최초 넓은 filter가 전체 원본 smoke를 선택해 중단한 실행은 CTest exit−1로 보존하며
|
||
수렴 실패 또는 통과로 해석하지 않는다. 전체101 endpoint·공식 HDF5·원본 비교는 아직 없다.
|
||
|
||
## HEX8-NR-001 — 영 회전 경계와 필수 원본 충돌
|
||
|
||
검토 당시 PRD008/I/O는 BC/CLOAD DOF4–6을 값0이어도 거부했다. 그러나 모든 필수 INP에
|
||
`Set-1, 4, 4`, `Set-1, 5, 5`, `Set-1, 6, 6`의 생략된 영 지정값이 있다.
|
||
Static2/frequency는794–796행, dynamic2는796–798행이다. Read-only 원본을 그대로
|
||
사용하면5개 모두 input failure이므로 end-to-end integration/필수 비교를 진행할 수 없다.
|
||
|
||
원본의 영 회전 BC만 warning/no-op으로 수용하는 입력 호환 예외와, strict 거부를 유지하고
|
||
사용자가 원본을 수정하는 두 대안을 제시했다. 2026-10-09 사용자는 A를 승인했다.
|
||
PRD008/I/O를 zero rotational displacement BC만 source warning/no-op으로 수용하는 한정된
|
||
호환 예외로 수정했다. 비영 회전 BC·모든 회전 CLOAD는 계속 거부하고 원본을 보존한다.
|
||
따라서 문서 blocker는 해소됐으며 구현에서 경고·실제3N·거부 경계를 테스트해야 한다.
|
||
동일 독립 reviewer가 승인된 수정 부분만 bounded recheck했고 `blockers: []`를 반환했다.
|
||
정적 읽기 확인 exit0이며 수식 재검토·code 변경·solver 실행은 하지 않았다.
|
||
|
||
## 독립 검토에서 정리한 내용
|
||
|
||
초기 static convergence 문서의 max(internal_free,external_free) branch는 prescribed-only에서
|
||
residual=internal_free라 ratio1을 만들어 수렴을 막을 수 있었다. Draft를 기존
|
||
`EvaluateResidualChannel`의 external_free exact0 absolute branch로 수정했다. Reviewer는 수정 후
|
||
기존 source219–246과의 일치를 확인했다. 승인 physics/schema/external acceptance는 바꾸지 않았다.
|
||
|
||
Reviewer의 독립 표준-library 산술 확인은 exit0이며 TL tangent relative 최적 오차 약4.59e-11,
|
||
Bernstein27 재구성 최대오차7.77e-16, mass Walsh 최소 모드값.03703703703703707≈1/27,
|
||
scalar HHT u/v/physical a 관측 차수 약2.00/1.98–1.99/2.00이었다. 초기 NumPy 계산은 모듈
|
||
부재로 exit1이었고 표준-library 계산으로 대체했다. 문서/코드/원본 읽기 명령은 exit0,
|
||
glob discovery 검색 하나는 exit1이었다. File edit/build/test/external solver 실행은 하지 않았다.
|
||
이 숫자는 문서 식의 독립 산술 확인이며 production kernel/backend/mesh 검증 evidence가 아니다.
|
||
|
||
TL energy/Hessian·engineering/tensor shear, degree(2,2,2) Jacobian 인증, mass SPD와 real/FP bound
|
||
구분, original generalized K/M·최저 N, HHT a/A·weighted/endpoint tangent·초기 force/physical
|
||
reaction, typed/HDF5·failed accepted 보존에는 문서 수식의 추가 blocker가 없었다.
|
||
|
||
검토해야 할 주요 위험은 다음과 같다.
|
||
|
||
- J0의 column/gradient 변환과 point3/4·7/8 순서; det J polynomial Bernstein 변환과 outward
|
||
interval/subdivision이 whole-cell 양성을 보증하는지, uncertain/resource failure가 보수적인지.
|
||
- TL energy variation에서 material/geometric tangent의 index와 work conjugacy,
|
||
rigid rotation/strain objectivity·zero-state 선형극한과 unaveraged Cauchy/Green recovery.
|
||
- 8점 consistent M의 SPD·총질량·reference 상수성·local spectral bound와 실제 sparse pencil
|
||
roundoff/control의 구분; Shell null/nodal whitening 미사용 및 lowest-N count 검증.
|
||
- HHT auxiliary/physical acceleration·weighted/endpoint residual의 동등 조건·tangent scale,
|
||
initialization/amplitude endpoints·physical reaction·u/v/a 시간수렴과 numerical dissipation.
|
||
- Static/Newton의 approved defaults·force/length 단위·zero-scale branch, internal oracle budget과
|
||
외부 reference acceptance 분리, geometry/finite/recovery 이후 atomic state/output commit.
|
||
- Original required U/RF/Gauss S·dynamic101 frame projection·frequency 미제공 상태를 정확히
|
||
구분하는지. Coordinate sanity 확인을 stress/reference correctness로 승격하지 않는지.
|
||
|
||
이 risk는 이후 실제 interval primitive/subdivision·brick/warped oracle·tangent step sweep·
|
||
generalized runtime/count·prescribed-only state·HHT mesh 시간수렴·formal HDF5/reference 사전검사로
|
||
검증해야 한다. 아직 실행하지 않은 solver build/test/reference를 PASS로 적지 않는다.
|