108 lines
8.6 KiB
Markdown
108 lines
8.6 KiB
Markdown
# Hex8 high+low 동해석의 한정된 물리 검토
|
||
|
||
적용 계약은 [precision formulation](precision-formulation.md)과 [PRD](PRD.md)다.
|
||
2026-10-10 `hex8_precision_physics` reviewer가 작성자와 독립적으로 아래 닫힌 evidence와
|
||
해석적 oracle를 검토했다. 검토 범위에서 물리 blocker는 없지만 원본 비교·전체 기능 완료의
|
||
판정은 아니다. 현재 checklist는 PRD에만 둔다.
|
||
|
||
## 확인한 결과와 계산
|
||
|
||
| 범위 | 독립 근거·결과 |
|
||
| --- | --- |
|
||
| 강체 병진·축·scale | 단위 brick의 밀도2에서 총질량2, mass row sum0.25다. 절점당 힘0.25는 a=1을 준다. 세 축×세 하중 크기의 실제 모든 endpoint 검사 PASS |
|
||
| 관성 반력 | 독립 consistent M의 constrained coupling과 Q=Ma+f−F를 대조한다. All-constrained Fy=7에서 Qy=−7, a=0, W=0 검사 PASS |
|
||
| 독립 oscillator | m=2/27, Kii=8/3, Kij=0.8의 해석적 모드 분해로 u/v/physical a를 대조한다. SDOF와 MDOF의 최소 관측 차수는1.98637·1.96518로 기준1.8 이상 |
|
||
| 두 brick의 LIN/TL | 모든 u/v/physical a의 관측 차수는 대략2다. 제조 TL의 최종 회전49.7727°, Green principal strain0.00697372, detF1.02099395는 유한회전·작은 strain 범위다 |
|
||
| 운동량·모멘트 | 독립 brick 질량 적분으로 T/p/pdot/L/Ldot와 symmetric M의 Σv×Mv=0을 검사한다. 자유 잔차를 포함한 수지와 LIN/TL의 서로 다른 reference/current arm 의미를 확인 |
|
||
| 에너지·한계 | alpha0의 trapezoid work와 무하중 tail 에너지 보존, 무하중 exact rest 검사 PASS. Full-integration 굽힘 locking의 큰 coarse-mesh 오차는 적용 한계로 유지 |
|
||
|
||
제조하중은 production K/M/quadrature를 호출하지 않는 polynomial brick 적분이다.
|
||
각 refinement의 HHT endpoint에 동일한 매끄러운 함수 값을 공급한 시간수렴 증거이며,
|
||
일반 비매끄러운 tabular amplitude의 수렴 보장은 아니다. 위 TL strain/stress/energy의
|
||
해석적 sanity 계산 자체를 실제 point 출력의 수치 비교 PASS라고 표현하지 않는다.
|
||
|
||
## Evidence의 시점과 제한
|
||
|
||
Frozen T6 source는 `c49cae499d8b965fdaa74bca9792f65f18843ec7`, shared kernel은
|
||
`e878379`다. Current affected native build/CTest exit0/0,32/32 PASS다. 처음 uncached
|
||
temporal 실행은4/5 PASS·CTest exit8이며 실패는 이전 principal trace assertion이었다.
|
||
그 실행의 실제 LIN/TL·독립 SDOF/MDOF 시간수렴 양성 결과를 current32개에서 다시 실행한
|
||
것으로 표현하지 않는다. Current의 이전 두 실패는 Float64 shadow와 initial mass record 수의
|
||
진단 assertion을 수정한 것이며 physics acceptance 완화가 아님을 frozen diff로 확인했다.
|
||
|
||
원시 로그·73개 inventory·source/binary hash는 로컬
|
||
`.harness/hex8-evidence/precision/t6-frozen-c49cae4/`에 보존한다. 메인이73개 raw와
|
||
owned/shared source·원본 두 INP·binary·patch hash를 대조했다. Reviewer는 관련22개 raw와
|
||
7개 owned source·patch를 별도로 대조했다.
|
||
|
||
첫32개 검토 이후 원본 prefix의 전체 pair를 아래와 같이 별도 재계산했다. 전체101 endpoint·
|
||
필수 reference 비교는 아직 없다. Rounded observable 불변량 검사와 전체 pair의 production
|
||
gate 통과를 구분한다. Alpha−0.05의 장시간 에너지, warped dynamic mesh,
|
||
near-incompressibility 및 큰 strain StVK 적용은 이번 evidence로 보증하지 않는다.
|
||
|
||
## 원본 초기 상태와 세 증분의 독립 물리 계산
|
||
|
||
변경하지 않은 LIN/TL 두 원본의 초기 상태와 증분1–3에 대해 reviewer가 모든 high+low를
|
||
exact Fraction으로 읽었다. 기준 CSR M·reference X·실제 full force를 사용해 T/W/balance,
|
||
p/pdot/L/Ldot, reference/current/free-residual moments와 global force/moment 수지를
|
||
총240개 대조했다. 실제 pair Add의 discarded-tail bound를 전파한 별도 절대 graph budget
|
||
내였으며 재생 graph의 high/low도240/240 일치했다. 구속 u/v/a/A와 support work는 exact0다.
|
||
Source442절점·300연결·51구속·하중·원래 h/T/INC와 test-only 관측 종료 조건도 대조했다.
|
||
선형 U와 독립0.5uᵀf의 최대 절대차는1.30e-29였다.
|
||
|
||
Captured F64 M의 ordered coefficient에는7752개의 비대칭 entry가 있고
|
||
최대|Mij−Mji|=2.84217e-14다. 이에 따른 exact Σv×Mv의 작은 비영 값은512eps same-unit
|
||
coefficient-roundoff budget 이내이며 이 비대칭으로 정확히 설명된다. Pair 산술 오류와
|
||
계수 오차를 구분하고 M을 대칭화하거나 모멘트를0으로 보정하지 않는다. Ldot=x×Ma는
|
||
같은 endpoint의 계약 observable로 확인했다. LIN의 current internal moment는 O(u²)로
|
||
비영이며 TL의 reference moment도 별도0 기대량이 아니다.
|
||
|
||
Alpha−0.05의 frame별 energy balance는 관측량이지 exact conservation gate가 아니다.
|
||
Prefix에서 나타난 balance와 진동에 따른 trapezoid work 감소를 그대로 보존한다.
|
||
이 범위에서 물리 blocker는 없다. 재현 자료는 로컬
|
||
`.harness/hex8-evidence/precision/physics-prefix-review/`와 `prefix3-frozen/`다.
|
||
직접 읽어 고정한 기준 Ga(a>0)·wg·Lamé 계수와 전체 pair 상대변위로 LIN/StVK energy
|
||
polynomial도 독립 계산했다. 양쪽4개 frame의 U는 모두 실제 graph bound 이내이고
|
||
high/low 재생값도 일치했다. LIN/TL 최대 절대차는1.19926e-29/2.96343e-30,
|
||
최대 graph bound는1.98236e-28/2.04184e-28이다. 모든 적분점의 detF는 대략
|
||
[0.999980558,1.000019725], strain 최대 성분은 약2.4105e-5로 이번 작은 변형률 범위에 있다.
|
||
독립 polynomial oracle에서 구한 strain/Cauchy stress의 RN64는230400개 공개 성분과
|
||
일치했다. Point tensor low는 capture하지 않았으므로 full-pair tensor 저장 검증은 아니다.
|
||
이 검사는 적분점의 확인이며 전체 cell 양성 인증의 독립 재검증을 대신하지 않는다.
|
||
Reviewer의 최종 판정은 frame0–3에 한정한 물리 PASS, blocker0이다. 별도 cache raw42개의
|
||
hash와 크기는 메인이 대조하고 `reference-cache-frozen/`에 보존했다.
|
||
|
||
## 실제 선형 정적 원본의 독립 평형과 구성식 대조
|
||
|
||
공식 CLI 결과 `e2c3c5b`를 기존 원본 형상·BC·하중으로 별도 standard full8 조립/solve했다.
|
||
Native 변위와 독립 해의 상대 최대차1.75e-11, 자유 잔차/하중5.15e-12,
|
||
구속 RF 최대차4.07e-10 force, stress 최대차4.01e-7 stress-unit,
|
||
strain 최대차1.51e-18이다. Energy178.762694318679와0.5F·u178.762694317263은
|
||
상대차 약7.92e-12다. Force·reference-arm moment와 free RF exact0도 별도로 관찰했다.
|
||
이는 정적 해의 독립 물리 진단이며512eps 동적 invariant gate 통과를 새로 주장하는 것이 아니다.
|
||
|
||
원본 CSV 변위를 같은 승인된 full8 K에 대입한 자유 잔차 최대값은87147.6514 force,
|
||
0.5u·Ku와0.5F·u의 상대차는 약4.72%다. 원본이 다른 체적 모델을 쓰는 경우 이 대입은
|
||
그 모델의 평형 검사가 아니므로 원본 오류로 단정하지 않는다. 요소 평균 trace를 사용한
|
||
별도 선형 energy 후보는 U/RF/S와 매우 일치했다. 원본·현재 구현·후보 계산의 scope를
|
||
[변경안](reference-discrepancy-proposal.md)에서 분리한다. 이 조사로 현재 필수 비교 FAIL,
|
||
후보 비선형·고유치·동해석 미검증이나 원본 Value 부재를 없애지 않는다.
|
||
|
||
원시 재현 script/stdout/JSON·native exit와7파일 전후 SHA는 로컬
|
||
`.harness/hex8-evidence/t8-independent-full8-audit/`에 있다. Solver 재실행 없이 기존
|
||
결과를 재분석했으며 production/reference를 수정하지 않았다.
|
||
|
||
## 2026-10-10 변경 전 실행 종료와 후속 물리 검증
|
||
|
||
이후 pointwise 구현의 두 API 원본과 두 공식 동적 CLI는101 endpoint/frame을 자연 종료했다.
|
||
이는 앞선 frame0–3 독립 물리 검토의 범위를101개로 자동 확대하지 않는다. 공식 원본 U
|
||
비교는 두 경우 모두88/101 family FAIL이며, 실행·정밀도 gate·외부 일치를 구분한다.
|
||
완료된 전체780 CTest에서도 기존 Shell 시간수렴 실패2개와 SKIP1개가 그대로다.
|
||
상세 종료 결과는 [verification](verification.md)에 있다.
|
||
|
||
사용자 B가 승인한 체적 평균 energy는 다섯 절차에 적용하며 변경본의 평형·수지·시간 및
|
||
공간수렴을 다시 확인한다. 두께를 한 요소로 고정한 bending refinement에서는 평균 trace
|
||
항 때문에 이전 pointwise continuum에 대한 bias가 남을 수 있다. 그 discrete limit 관찰을
|
||
실제 두께/길이 공간수렴으로 보고하거나 기준을 새 limit로 바꿔 continuum PASS라 하지 않는다.
|
||
선형 원본에 맞춘 별도 후보와 수식 검토는 변경본 물리 검증을 대신하지 않는다.
|