docs: evaluate transient shell thermal physics evidence

This commit is contained in:
KOKO\Mimi
2026-10-03 23:52:02 +09:00
parent 4c46c5588f
commit 97e8924938
@@ -0,0 +1,52 @@
# Shell transient heat transfer — T10 물리 결과 평가
평가 대상은 T10 소스 `9e8afb9`의 실제 MSVC focused 실행이다. 메인 병합 후 HEAD는
`9f7fb2e`다. [승인 계약](PRD.md) STH-C03/C04/C07/C08,
[수치 기준](numerical-review.md), [reference 결정](ADR.md#sth-adr-015-원본-reference-진단-전환과-새-모델-비교)을
적용했다. 이 평가는 T10 결과의 물리 개연성 검토이며 기능 완료 또는 release 승인이 아니다.
실행 근거는 작업 checkout의
`.dryforge/worktrees/T2/.dryforge/evidence/t10-final-focused-test.log`,
`t10-final-focused-LastTest.log`, `t10-final-metrics.json`,
`t10-final-eigen-source-sha256.json`, `t10-final-reference-after-sha256.json`이다.
소스 manifest는 실행한 physics/oracle/comparator 파일 8개를 식별하고 metrics의
`source_hashes_match=true`다. Focused CTest는 **26/26 PASS, native exit 0**이다.
이 숫자에는 원본 reference가 수치 실패로 남았는지를 확인하는 진단 테스트의 PASS가
포함된다. 따라서 26/26을 원본 수치 비교의 통과로 읽을 수 없다.
| 물리 항목 | 실제 결과와 계산 | 판정 범위 |
| --- | --- | --- |
| 단열·잔차·에너지 | 0, +2, -2 균일 온도 8증분에서 시작값 유지; 0장은 수지/소산 defect가 정확히 0. 실제 38개 `THERMAL_PHYSICS` run의 최대 free `beta=1.0613e-14`, full `physical_beta=1.1041e-14`, 최대 `energy_defect=7.2165e-16`; 각 run의 최대 `energy_defect/energy_bound=0.001161`. 단열에서 최대 `dissipation_defect/dissipation_bound=6.194e-5`. | 기록된 승인 roundoff bound 안. `beta`·수지·소산 defect 자체는 production 증분 evidence이며, 테스트는 이를 bound와 대조한다. 독립적인 40-DOF 두 component 수지 계산은 아래 항목이다. C-norm 소산은 실제 열에너지 수지와 구별한다. |
| 부호·component 수지·반력 | 두 분리 영역의 signed 입력에서 첫 영역 `+3`의 constrained 입력을 제거해도 온도 이력은 동일하고 반력은 `-3`만큼 변한다: `R_with-R_without=-3` [power]. 두 번째 영역의 `+2+3-5=0`이며 독립 용량 적분에서 `ΔE₂≈0`; 첫 영역은 `ΔE₁-dt·R≈0`을 승인 bound로 확인한다. | 외력 `Q`가 full residual에 남고 reaction 양수가 모델 공급이라는 STH-C04 부호와 일치한다. 검사는 상태/반력 벡터를 읽는다. |
| 두께·재료·접힘 | 길이 1씩, `k₁h₁=1`, `k₂h₂=5`, 폭 1의 전단면 strip 저항 `R=1+1/5=1.2`, `ΔT=1`이므로 `P=1/R=5/6=0.8333333333333333`. 평판·90° 접힘 모두 출력 반력 `0.8333333333333877`, 차이 약 `5.44e-14`, 서로 같은 반력. Flux는 첫 요소 `-5/6` x, 두 번째 요소 평판 `-5/3` x / 접힘 `-5/3` z 방향이다. | 길이·두께·물성에 맞는 열률 및 전역 방향이다. **모든 두께 station을 양 끝에서 구속하고 C=0으로 둔 내부 assembly fixture**이므로 공개 bottom/top-only CLI 사례의 검증으로 확대할 수 없다. 접힘의 실제 3D 접합장도 해상하지 않는다. |
| Flux 방향·trace | `T=2+3x-2y+4(hζ/2)`의 직접 복구에서 `q=(-3k,+2k,-4k)` [power/area]. 회전 후 벡터도 함께 회전하고 법선 반전에는 station이 재매핑된다. `T_station=(0,0,0,1,2)`에서는 중립면 `q₃(0-)=0`, `q₃(0+)=-4k/h`; 평균하지 않는다. Frame은 직교·right-handed 조건을 검사한다. | Fourier 부호와 한쪽 trace 의미에 부합한다. 이 affine/trace 검사는 내부 all-constrained partition fixture이며 공개 BC 허용 범위를 넓히지 않는다. |
| 시간·면내 수렴 | 고정 8×8 eigenmode의 N=16→256에서 N=32/64/128/256 오차 `0.00567442, 0.00285549, 0.00143237, 0.000717347`; 관측 차수 `0.981712, 0.990734, 0.995336, 0.997660`, 승인 `[.97,1.02]`. 8/16/32/64 면내 mesh의 T L2 차수 `1.99670, 2.00077, 2.00658` 및 gradient L2 차수 `0.997220, 0.999305, 0.999826`, 승인 `[1.95,2.05]`/`[.98,1.03]`. 최대 time/spatial ratio `0.0068633<1/32`. | 실제 전체 node×5 station 온도 벡터와 독립 eigen/Fourier oracle를 비교한다. 단위 k=1 fixture에서는 gradient 차수가 flux의 공간차수를 대표한다. 일반 점열원·곡면에 이 smooth 수렴차수를 주장하지 않는다. |
| 두께 slab 응답 | 단위 면적, `h=k=rho=c=1`, 초기 0, bottom 1, top 단열의 1×1/2×2 mesh, 시간 `.001,.01,.05,.1,.5,1`, N=4096/8192에서 실제 온도·global q₃·용량 적분 E·반력 합을 각각 독립 finite-N P2 및 Fourier oracle와 대조한다. 96개 quantity-group 결과 중 최대 finite-BE gap/bound `0.01871`, 최대 물리오차/(D_space+D_time+B_oracle+B_solver) `0.999979`; 1×1/2×2 차이는 각 승인 roundoff 안이다. | 두꺼운 layer의 같은 두께 오차가 면내 refinement로 사라지지 않는 결과와 일치. `.001≤t*≤.1`, N=8192의 네 물리량은 모두 plateau 조건 성립. `.5,1`에서는 flux만 plateau이고 T/E/R은 미도달로 표기한다. |
초기 slab에서 `sqrt(alpha·t)=0.03162h` (`t*=.001`)는 station 간격 `0.25h`,
P2 segment 길이 `0.5h`보다 훨씬 작다. 따라서 N=8192에서도 Fourier 대비 최대
무차원 오차는 T `0.13999998`, q `10.64818068`, E `0.03031342`, bottom 반력
`10.86926883`이다. 각각 승인된 `D_space=0.141,10.7,0.0304,10.9`와
시간/roundoff 예산 안이지만, **초기 경계층의 국소 flux 및 반력 정확도는 낮다**.
이 수치 일치는 5점 모델의 의도한 제한을 드러내며 일반 shell의 정확도 보증은 아니다.
`t*=1`의 E는 `E_space=1.58234e-5`, `D_time=2.55629e-5`로 시간오차가 더 커서
plateau 관측을 주장하지 않는다. Slab의 q, E, 반력 계산은 solver 결과를 별도로
집계하지만 Fourier/P2 목표값과 bound는 테스트 oracle가 제공한다.
원본 `reference/shell-thermal/` 입력/CSV SHA256은 계약의
`955C8BEE…00D6EA4` / `765B0D0F…10D3E5`와 일치한다. 실제 HDF5와 비교한
Step-1, `t=37`, NT11 729행에서 **87행 실패**, `RMS/S=0.049674084615673214`
(`S=1000`, `B=10`, 승인 family 한계 `0.01`), 최대 절대차 `245.26294650091936`이다.
STH-ADR-015에 따라 이는 **수치 FAIL인 진단 family**로 유지한다. 독립 승인식 oracle도
같은 불일치를 보였다는 [충돌 기록](reference-comparison-conflict.md)은 원인 범위를
좁히지만 Abaqus 내부 정식화의 옳고 그름을 판정하지 않는다. 분리 경로의 새 필수
reference 모델/CSV가 없어 해당 비교는 **미실행이며 완료 차단**이다.
검증 범위의 경계: T10 물리 검사는 `Domain → Assembly → MKL 증분 → accepted state`
결과를 주로 평가하며 공개 CLI/HDF5의 모든 물리량을 각 증분마다 별도 재적분하지는
않는다. 원본 reference는 실제 HDF5 경로를 사용하나 NT11 한 성분·한 시점뿐이다.
Warped/곡면 전도 응답, 접힘·두께 단차의 국소 3D 전도, 큰 `h/곡률`, 초기 두께
경계층, 점열원 근처 mesh-independent flux는 이 evidence로 검증되지 않는다.
`STH-C01`의 normalized station 공유도 실제 물리 z 일치 또는 접촉 전도를 뜻하지
않는다. T10 focused 26개는 전체 회귀 결과가 아니다. 물리적으로 확인된 범위는
위 균일·affine·strip·smooth 면내·slab fixture에 한정한다.