74 lines
5.7 KiB
Markdown
74 lines
5.7 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다.
|
||
|
||
## 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로 적지 않는다.
|