14 KiB
Shell 과도 열전달 독립 수치 검토
- 검토일: 2026-09-28. 상태: Proposed 계획의 독립 검토 완료 / 구현 검증 미실행.
- 판정: 제안된 약형·행렬·BE partition·반력·한쪽 heat flux는 수학적으로 일관된다. 아래 미결정 사항 때문에 구현 착수 계약이나 제품 정확도가 승인되었다는 뜻은 아니다.
- 범위: PRD의 FEM-REQ-SHELL-THERMAL-001–018, 정식화 §§1–10, 상세 계획 §§1–12.
- 기준: 프로젝트 지침, 프로젝트 PRD, ARCHITECTURE, ADR-028, 공통 TOLERANCE. 상위 계약·소스·테스트·reference는 수정하지 않았다.
1. 영향이 큰 판단과 필요한 결정
| ID / 판정 | 근거·영향 | 필요한 조치 / owner |
|---|---|---|
| NR-01 / 물리 결정 대기 | Midsurface metric을 두께 전체에 쓰는 product-domain은 실제 offset volume의 곡률 항을 생략한다. 같은 normalized ζ를 연결한 두께 단차·fold는 실제 3D 접합부가 아니다. | 메인/사용자: 이 이상화를 승인하고 지원 한계를 명시. Numerical/I/O: 곡률·왜곡·퇴화·orientation 판정과 허용 geometry 범위를 구현 전에 확정. 높은 적분 차수로 모델링 오차가 제거된다고 주장하지 않음. |
| NR-02 / 초기 상태 계약 대기 | Raw 초기 온도를 첫 BE 증분의 이전 상태로 쓰는 식은 맞지만 t=0 즉시 projection과 첫 RHS·에너지가 다르다. Reference 입력에는 step 전 *Boundary / Set-10,11,11과 step 안의 Set-10,11,11,1000.이 모두 있다. |
메인/사용자: 첫 증분 jump 의미 결정. I/O: 생략 초기값, 생략 boundary 값, pre-step boundary와 step 재정의의 의미를 명시. 단일 transient step 지원을 이유로 pre-step 데이터를 무시하지 않음. |
| NR-03 / 공개 입력 결정 대기 | Edge kernel의 면적당 입력과 q_in hL은 일관되지만 DS4 *DFLUX, S1…S4 대응은 확인되지 않았다. 기존 reference에는 edge 하중이 없다. |
I/O/메인: 공개 syntax·단위·대상 edge·중복 입력 의미 확인. 입증되지 않은 keyword 지원을 선언하거나 line-rate에 h를 중복 곱하지 않음. |
| NR-04 / 구현 전 수치 계약 부족 | 3×3 표면 적분은 일반 warped Q4에서 exact가 아니다. Consistent C와 P2 두께 보간은 maximum principle을 보장하지 않는다. 고정 5점은 초기 두께 경계층을 임의로 해상할 수 없다. | Numerical owner: 아래 geometry·적분·수렴·내부 residual 판정을 고정하고 독립 사례로 검증. 실패 뒤 clamp/lumping/인공 확산 또는 tolerance 완화 금지. 방법 변경은 새 검토 대상. |
| NR-05 / 문서 정합 보완 반영 | 최초 계획의 24개 integration Gauss 위치와 정식화의 54점 직접 적분·24개 trace recovery가 달랐다. 최신 계획에서 구분됨. | 유지할 계약: production 3×3 surface×exact Z, 직접 검산 54점, affine 검산 24 Gauss점, 공식 recovery 24 trace점. 숫자 24가 같다는 이유로 위치를 대체하지 않음. |
| NR-06 / 검증 범위 보완 반영 | 직렬 strip 저항식은 단면 전체 end 온도 조건을 전제로 한다. 내부 station 지정 온도와 all-constrained는 현재 공개 입력 범위 밖이다. | 최신 계획처럼 exact strip 및 all-constrained를 assembly/algebra fixture로 분류. CLI bottom/top 지정 사례는 해당 경계층을 포함한 oracle로 검증. |
NR-01의 물리 지원 제한, NR-02의 시작 의미, 종료 시간이 Δt의 정수 배가 아니면 거부하는 제안은 사용자 요구에 영향을 주는 결정이다. Z 계수·scatter 순서·구간 Jacobian·동일 물리량의 검증 metric 고정은 합의된 물리를 구현하기 위한 상세 계약이다. 영속 flux 좌표계·trace identity·t=0 validity는 I/O 계약이며 이 보고서가 대신 승인하지 않는다.
2. 독립 수식·정확 산술 검산
Python 표준 라이브러리 fractions.Fraction을 명령 내 scratch로 사용했다. 별도 계산 파일,
production/test 변경 또는 solver 실행은 없었다. 아래 입력과 결과로 검산을 재현할 수 있다.
| 항목 | 검산과 결과 |
|---|---|
| DOF/shape | Node-major p=5(i−1)+a, a=1…5. 각 길이 1인 두께 구간의 좌표 u∈[0,1]에서 shape [1−3u+2u², 4u−4u², −u+2u²]를 곱하여 항별 정확 적분. |
| 두께 질량 | Z0_seg=(1/30)[[4,2,−1],[2,16,2],[−1,2,4]] 재현. 조립 뒤 Z0·1=(1,4,2,4,1)/6, 합 2. |
| 두께 전도 | 위 다항식을 u로 미분하여 적분하면 Z1_seg=(1/3)[[7,−8,1],[−8,16,−8],[1,−8,7]]. 조립 뒤 Z1·1=0 정확 성립. |
| 체적/계수 | dz=(h/2)dζ, ∂z=(2/h)∂ζ이므로 C=ρc(h/2)M⊗Z0, K=k[(h/2)S⊗Z0+(2/h)M⊗Z1]. 접선과 normal의 직교성으로 교차항 0. C는 energy/temperature, K는 power/temperature. |
| 평판의 rank/에너지 | 단위 정사각형, h=2, k=ρc=1의 수치 단위 fixture. M=(1/36)[[4,2,1,2],[2,4,2,1],[1,2,4,2],[2,1,2,4]], S=(1/6)[[4,−1,−2,−1],[−1,4,−1,−2],[−2,−1,4,−1],[−1,−2,−1,4]]. C의 정확 LDL pivot 20개 모두 양수, K의 leading 19×19 pivot 모두 양수, K·1=0, 1ᵀC1=2 정확 성립. 즉 C SPD, K PSD/rank 19. |
| Edge weight | 한 endpoint당 q_in hL(1,4,2,4,1)/24; 두 endpoint의 합은 q_in hL. 두께 station에 1/5씩 나누면 잘못된 일관 하중이다. |
| 적분 차수 | Affine Q4 면내 M/S는 2×2 exact. 두께 mass·면내 전도는 4차여서 구간별 3점, 두께 전도는 2차. Production 3×3×2×3=54점은 exact Z 분리식과 같은 quadrature를 표현한다. 실제 54점 코드의 동등성은 미검증. |
유효 geometry와 양의 적분 weight에서는 vᵀCv>0, vᵀKv≥0의 에너지 형태가 유지된다.
전역 K의 상수 null mode는 연결된 thermal component마다 하나이며, 분리된 mesh를
항상 rank N−1로 검사하면 안 된다. 모든 활성 DOF가 양의 체적 요소에 연결되면
A=C/Δt+K는 구속 없이도 SPD다. 극단적인 h 또는 Δt는 conditioning을 악화시킬 수
있으므로 factorization 성공만으로 정확도를 판단하지 않는다.
첫 증분 partition의 독립 반례 fixture는 다음과 같다. 일관된 단위로
C=[[2,1],[1,2]], K=[[1,−1],[−1,1]], Δt=1/2, F=0,
T_raw⁰=(0,0), 두 번째 DOF의 지정 온도 g=1을 둔다.
- 올바른
A=[[5,1],[1,5]];T_f¹=−1/5,T_f²=1/25. R_c¹=24/5,R_c²=36/25;E=1ᵀCT에서 두 증분 모두ΔE=Δt R_c정확 성립.- 최초 RHS를 일정 g의 이후 증분 식으로 바꾸면
T_f¹=+1/5가 되어 검출된다. 이 fixture는 signed 온도와 consistent C의 undershoot가 에너지 안정성과 모순되지 않음을 보이며 실제 20 DOF shell 해나 외부 reference 통과 증거는 아니다.
r=CΔT/Δt+KT−F의 constrained 성분은 모델에 공급되는 양의 반력 열률이다.
전역 수지는 ΔE=Δt(1ᵀF+1_cᵀR_c+1_fᵀr_f)이며, free residual을 포함한 대수적
동일성 확인과 free residual 자체가 작은지의 확인을 분리한다. q=−kBT 경계 적분은
일반적으로 이 반력과 같지 않다. 입력 없는 단열계의 열에너지 보존과 BE의 C-norm
소산도 서로 다른 검증이다. 초기 t=0 반력은 미정의이고 material history update는 없다.
3. 구현 후 반증 가능한 검증 계획
| 사례·수준 | 독립 oracle와 판정 의도 |
|---|---|
| Shape/행렬, kernel | 위 exact M/S/Z를 기대값으로 사용. Node-major Kronecker 순서, symmetry, 상수 null, SPD, 양의 에너지, 직접 54점/분리식 동등성 확인. h를 바꿔 C 및 면내 K의 h scaling과 두께 K의 1/h scaling을 각각 검사. |
| 온도 patch/방향, kernel | 평판에서 T=A+b·r+c z를 주고 q=−k(b+c n) 확인(b는 평판 접선). 임의 rigid rotation에서 T 불변, q 회전. Connectivity 반전 시 station a↔6−a와 면 조건도 함께 반전. |
| 한쪽 trace, recovery | 면내 상수, 두께 값 (0,0,0,1,2)의 임의 kernel state는 q3(0−)=0, q3(0+)=−4k/h. 24개 trace 중 0−/0+가 별도 identity로 저장되는지 확인. 이 임의 state는 공개 초기조건 fixture가 아님. |
| 열용량/하중/수지, CLI+assembly | 단열·균일 초기 온도는 불변. Edge만 주면 총 입력 q_in hL; 집중 입력은 P 그대로. Prescribed DOF의 P도 full F에 남아 reaction을 바꾸는지 확인. 반력 부호, free residual, ΔE와 BE 소산을 각각 확인. |
| BE, algebra | 위 두 증분 fixture, no-constrained 및 generic all-constrained. 이전 constrained state를 raw 초기값으로 유지하고 실패 candidate가 이전 state/output을 덮어쓰지 않는지 확인. |
| 면내 해석해, CLI | 단열 직사각판 T=T0+A cos(πx/L)exp[−α(π/L)²t], α=k/(ρc). 초기값은 station 전체 동일. 두께 균일해가 유지되는지와 면내 temperature/flux 오차 확인. |
| 시간 수렴, 독립 semi-discrete oracle | 같은 고정 mesh의 generalized eigenpair Kv=λCv로 T(t)=exp(−λt)v, BE 증폭률 (1+λΔt)^−n 대조. dt, dt/2, dt/4에서 1차 오차를 확인해 공간오차와 분리. Eigenvector 초기값은 algebra fixture로 한정. |
| 두께 slab, CLI | x=z+h/2, bottom Ts, top 단열, 초기 Ti. θ=(T−Ts)/(Ti−Ts)=Σ[m≥0]4/[(2m+1)π] sin[(2m+1)πx/(2h)] exp[−α((2m+1)π/(2h))²t]. 양의 시간에서 5 station T와 미분한 q, 전체 energy 및 reaction 비교. Series 절단 오차를 별도 제한. |
| Mesh/두께 해상도 | Smooth affine mesh에서 면내 temperature L2의 기대 2차, gradient L2의 기대 1차를 확인. Slab은 고정 5점이므로 dt→0의 두께 공간오차 plateau와 열침투 깊이 √(αt)를 보고. 면내 refinement로 두께 오차가 사라진다고 판정하지 않음. |
| 재료·fold·두께 접속 | 직렬 저항 ΣL/(khw)는 full-end prescribed assembly fixture. CLI에서는 bottom/top 조건의 실제 oracle을 별도로 사용. Fold 등온은 q=0; 비균일 경우 global q의 동일성을 강요하지 않고 공유 DOF에 조립되는 열률 수지를 검사. |
| Warped/왜곡 geometry | 허용될 geometry군에 대해 3×3→5×5→7×7에서 K/C 및 대표 T/q의 변화 확인. Geometry mesh 오차, quadrature 오차, offset-volume 생략 오차를 분리. Degenerate·자기 교차·orientation 불일치는 음성 사례. |
내부 roundoff 판정은 exact oracle를 기준으로 행렬 norm·연산 수·machine epsilon과
conditioning을 반영하여 구현 전에 고정한다. 예를 들어 free residual은
||r_f||/(||A_ff|| ||T_f||+||b_f||), 수지 defect는 저장·입력·반력 항의 절댓값 합으로
정규화하되 분모 0은 별도 처리한다. Zero floor max(1,scale)는 추가하지 않는다.
Roundoff 한계, geometry margin, quadrature 변화 한계와 관찰 order의 허용 구간은 아직
확정되지 않았다. 위 기대 order 자체를 임의 5% 통과 기준으로 바꾸거나 공통 외부
tolerance를 이 검사들에 전용하지 않는다. 이 미결정 때문에 검증 실행 준비 완료 판정은 보류한다.
4. 기존 reference의 비교 계약과 관찰
Read-only 원본: reference/shell-thermal/shell-thermal.inp,
reference/shell-thermal/shell-thermal NodalTemperature.csv.
이번 검토에서 실제로 읽은 위치는 C:/git/FESADev/reference/shell-thermal이며
현 worktree로 복사하지 않았다. 별도 reference-model.md 없이 이 절에 필요한 계약을 둔다.
- 제안 family:
(shell-thermal, Step-1, t=37, bottom temperature, NT11, blocking). 온도 단위는 원본 입력의 일관된 단위이며 scalar이므로 좌표 회전과 무관하다. - Row identity:
(instance=Part-1-1, source node label, source DOF=11)와 step/time. CSV에 instance 열이 없으므로 입력의 단일 instance와 source label 집합을 검증한 뒤 복원. HDF5는 모든 station을 보존하되 비교 view는 bottom만 명시적으로 선택한다. - Snapshot 정적 검사: 729행·729개 고유 node label, 모두 finite, 단일 Step-1/t37 frame.
min
−15.5742216, max1000;S=1000, near-zero bandB=10. 음수 전부가 near-zero는 아니다.−15.5742216은 상대오차 5% 대상이다. - 공통 정책:
|r|≤B이면|f−r|≤B, 나머지는 상대오차≤0.05, 모든 행의 relative RMS≤0.01을 함께 만족해야 한다. S=0은 exact-zero 규칙 적용. Reference의 음수·미소값을 clamp하거나 단위/온도 영점을 이동하여 scale을 바꾸지 않는다. - Missing/extra/duplicate/nonfinite, frame/instance/station mismatch를 tolerance 전에 거부. 현재 수행한 CSV 자체 검사는 FESA HDF5와의 일대일 대응 검증을 대신하지 않는다.
원본 NT11 한 frame은 내부 4 station, flux, reaction, edge load, 다중 재료/두께 또는 전체 시간 이력을 검증하지 못한다. 초기값·pre-step 경계·jump·consistent C·시간 적분 차이가 reference 비교에 미치는 영향은 아직 측정되지 않았다. 비교 실패는 이 차이들을 분리 조사할 근거이며 FESA가 Abaqus 내부 알고리즘과 같아야 한다는 요구가 아니다.
5. 수행 범위와 잔여 위험
수행: 관련 계약의 정적 대조, 위 exact 유리수 행렬/두 증분 검산, 원본 입력·CSV의 read-only 정적 확인, 문서 정합 확인. 미수행: solver 구현·build/CTest, FESA HDF5 생성, 외부 reference 수치 비교, 곡면/접합부/수렴 실험, 실제 결과의 physics evaluation. 초기·geometry·edge syntax·내부 수치 판정·영속 결과 계약을 확정하고 위 검증을 실행해야 한다. 본 보고서의 판정은 정식화 초안의 독립 일관성 검토로 한정한다.