Files
FESADev/docs/shell-transient-heat-transfer/ADR.md
T

182 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Shell Transient Heat Transfer 결정 기록
- Feature ID: `shell-transient-heat-transfer`
- 문서 owner: 메인 assistant
- 갱신일: 2026-09-28
기준: [프로젝트 지침](../../AGENTS.md), [프로젝트 PRD](../PRD.md),
[공통 ADR](../ADR.md#adr-028). 지역 지침은 [Feature 지침](FEATURED_AGENTS.md),
요구사항과 현재 checklist는 [Feature PRD](PRD.md)에 둔다.
각 결정의 owner는 메인 assistant다. 승인 근거는 2026-09-27~28 사용자 인터뷰의 명시 선택이다.
개별 범위 선택의 합의를 기록하며, 전체 requirement baseline과 구현 실행은 아직 승인되지 않았다.
사용자의 계획 기반 문서 작성 요청에 따라 수치 제안의 이유·대안·영향을 아래에 구체화한다.
`사용자 합의`는 명시 선택의 기록이고 `Proposed`는 검토할 우선안이다.
수식과 검산 원본은 [formulation](formulation.md), [numerical-review](numerical-review.md)를 따른다.
## 결정 목록
| ID | 주제 | 상태 | 요구사항·검토 연결 |
| --- | --- | --- | --- |
| STH-ADR-001 | Uncoupled 범위 | 사용자 합의 | 001 |
| STH-ADR-002 | 5개 두께 온도점 | 사용자 합의 | 002~004 |
| STH-ADR-003 | 물성·초기/경계·열입력 | 사용자 합의 | 005~012 |
| STH-ADR-004 | 시간 증분·전체 결과 저장 | 사용자 합의 | 013~015 |
| STH-ADR-005 | 외부 비교·독립 검증 | 사용자 합의 | 016~017 |
| STH-ADR-006 | 단일 step | 사용자 합의 | 018 |
| STH-ADR-007 | 수치 방법론 전체와 K/C | Proposed | 정식화 3~5절 |
| STH-ADR-008 | Geometry와 접속 이상화 | Proposed | NR-01 |
| STH-ADR-009 | Backward Euler·종료 시간 | Proposed | 013, 정식화 7절 |
| STH-ADR-010 | 초기 jump와 pre-step 경계 | Proposed | 008~009, NR-02 |
| STH-ADR-011 | Heat flux·reaction 복구 | Proposed | 014~015, NR-05 |
| STH-ADR-012 | Edge 입력 단위·외부 문법 | Proposed / syntax 미결정 | 011, NR-03 |
요구사항 번호는 `FEM-REQ-SHELL-THERMAL-` prefix를 생략했다. 수치 기준이 미정인 NR-04는
[PRD 미결정 계약](PRD.md#구현-전-미결정-계약)에서 관리하며 승인된 tolerance를 대신하지 않는다.
## STH-ADR-001: 현재 구현 목표를 uncoupled transient heat transfer로 한정
- 상태: 사용자 합의
- 결정: 현재 목표는 구조해석과 분리된 Shell 과도 열해석이다. 양방향 열–구조 연성은 장기 목표다.
- 근거: 사용자가 초기 연성 선택을 정정하며 “지금은 uncoupled heat transfer를 구현합니다”라고 명시했다.
- 영향: 이번 기능의 acceptance에 구조 변위·열응력·연성 반복이나 변형 피드백을 포함하지 않는다.
## STH-ADR-002: 두께 방향 균일 온도에서 5개 온도점 단면으로 범위 변경
- 상태: 사용자 합의; 앞선 두께 방향 균일 온도 선택을 대체
- 결정: 3차원 공간의 4절점 Shell에서 면내·두께 방향 열전달을 지원한다. 균질 단면이고
두께 방향 온도점은 모든 단면에서 5개로 고정한다.
- 이유: 사용자가 기존 DS4 reference의 두께 방향 의미를 확인한 뒤 이를 지원하는 방향을 선택했다.
- 근거: reference 유지/범위 확대 질문에서 B, 균질 단면 질문에서 A, 온도점 5개 고정 질문에서 A.
- 영향: 아랫면·중앙면·윗면 온도의 identity를 구분한다. 적층·가변 온도점 수는 제외한다.
Abaqus의 내부 정식화를 복제하거나 동일한 결과 생성 절차를 약속하는 결정은 아니다.
## STH-ADR-003: 상수 물성·일정 입력과 제한된 두께 방향 적용 범위
- 상태: 사용자 합의
- 결정: 상수 등방성 열전도율·밀도·비열, 요소 집합별 재료와 일정 두께를 지원한다.
초기 온도는 절점/집합별이되 같은 절점의 두께 전체에는 균일하다. 지정 온도와 집중
열입력은 아랫면·윗면에 각각 적용하고, edge 열입력은 두께 전체에 균일하게 분포한다.
지정 온도·열입력은 시간에 무관한 일정값이다.
- 이유: 인터뷰에서 사용자가 각 첫 구현 범위를 선택했다.
- 영향: 면적 분포 표면 열유속, 내부 온도점 직접 입력, 대류·복사·내부 발열,
온도 의존·이방성 물성, 적층과 시간 이력 입력을 제외한다.
## STH-ADR-004: 고정 시간 증분과 전체 증분 결과 저장
- 상태: 사용자 합의
- 결정: 전체 시간과 고정 시간 증분을 사용자가 지정한다. 온도·요소 열유속·반력 열률을
모든 시간 증분에 저장하며 초기 온도 분포도 보존한다. 공식 출력은 공통 HDF5 계약을 따른다.
- 근거: 시간 제어 A, 필수 결과 C, 저장 간격 A 선택.
- 영향: 자동 시간 증분을 제외한다. 시간 적분법·열용량 행렬·마지막 증분 처리·초기 결과의
schema를 이 결정만으로 정하지 않는다.
## STH-ADR-005: 현재 CSV의 NT11 비교와 독립 검증을 조합
- 상태: 사용자 합의
- 결정: 외부 필수 비교는 기존 `shell-thermal NodalTemperature.csv`의 `Step-1`, `t=37`,
`NT11`로 한정한다. 나머지 결과는 해석해·열에너지 수지·시간 및 공간 수렴성 등으로 검증한다.
- 근거: 추가 reference 결과 확보 여부 질문에서 사용자가 A를 선택했다.
- 이유: 현재 CSV는 한 시점의 아랫면 온도만 제공한다. 원본 evidence의 실제 coverage를 명시한다.
- 영향: 추가 Abaqus CSV 확보를 필수 조건으로 삼지 않지만, 내부 온도·열유속·반력 열률과
전체 과도응답의 correctness 검증은 유지한다. 공통 tolerance와 reference 원본은 변경하지 않는다.
## STH-ADR-006: 단일 transient step으로 제한
- 상태: 사용자 합의
- 결정: 초기 온도와 일정한 경계조건·열입력으로 하나의 transient step을 수행한다.
- 근거: 단일/다중 step 지원 범위 질문에서 사용자가 A를 선택했다.
- 영향: 여러 해석 step과 step 사이의 온도 상태 전달·경계조건 변경을 제외한다.
## STH-ADR-007: 상세 수치 방법론 제안
- 상태: **Proposed / 사용자 검토 대기**
- 제안: 면내 Q4 × 두께 2구간 P2의 20 DOF, midsurface metric의 thin-shell 근사,
consistent 열용량과 열전도행렬, 면내 3×3·두께 exact 적분, Backward Euler,
24개 trace 위치의 직접 Fourier flux 및 full residual 반력 열률을 사용한다.
- 근거: 사용자가 요구사항 목록을 보강하여 열전달행렬·heat flux 방법론을 포함한 상세 계획을 요청했다.
이 요청은 제안을 작성할 권한이며 위 수치 방법의 채택 승인은 아니다.
- 이유·대안: [설계 계획](design-plan.md)의 선택 표와 [정식화](formulation.md)의 상세 수식을 따른다.
- 영향: geometry·접속 이상화, 최초 온도 불일치, edge 입력 단위/syntax와 결과 위치를
검토해야 한다. 기존 reference 정확도와 positivity를 아직 보장하지 않는다.
- 검토: [독립 수치 검토](numerical-review.md)에서 명시 행렬·BE partition·에너지 수식의
일관성을 확인했다. 이는 사용자 채택 승인이나 solver 수치 검증을 대신하지 않는다.
- 행렬 선택 이유: `K=∫BᵀkB dV`, `C=∫ρcHᵀH dV`를 동일 보간에서 유도하여 전도·저장·
반력·수지를 연결한다. 두께 exact Z와 면내 3×3 적분은 독립 직접 적분으로 검산할 수 있다.
- 대안과 trade-off: 단일 4차 두께 보간, lumped C 또는 reduced integration도 별개 방법이지만
현재 우선안에 포함하지 않는다. Consistent C는 단조성·positivity를 보장하지 않으며,
일반 곡면에서 3×3은 exact가 아니다. 실패에 맞춰 방법을 조용히 바꾸지 않는다.
- 상세 선택: geometry, 시간 갱신, 초기 상태, recovery와 edge 입력은 008~012에서 분리한다.
## STH-ADR-008: Thin-shell geometry와 두께 station 접속
- 상태: **Proposed / 물리 범위 검토 대기**
- Owner: 메인 assistant; 전문 계약은 formulation·numerical review 담당.
- 제안: 실제 3차원 Q4 midsurface의 metric·법선을 각 평가점에서 계산한다. 두께 offset의
곡률 보정을 생략한 product-domain을 사용하며 인접 요소는 같은 normalized 두께 station을 공유한다.
- 이유: 면내·두께 전도를 유지하면서 승인된 4절점 mesh와 5개 온도점을 연결할 수 있다.
- 대안·trade-off: 실제 offset-volume metric 또는 별도 3D 접합부 해상은 더 많은 geometry
계약을 요구한다. 우선안은 두께 단차의 노출면·spreading resistance·유한 접합부 부피를 해상하지 않는다.
- 영향: 곡률·왜곡·orientation·퇴화 허용 범위와 fold/이두께 접속의 물리 이상화를 구현 전에
검토해야 한다. 적분 차수를 높여도 이 모델링 오차는 제거되지 않는다.
- 근거: [정식화 2절](formulation.md#2-geometry-방향과-접속의-의미), 독립 검토 NR-01.
계획 문서화는 요청되었지만 이 이상화의 사용자 채택 승인은 아직 없다.
## STH-ADR-009: Backward Euler와 고정 증분 factorization 재사용
- 상태: **Proposed / 시간 적분·종료 규칙 검토 대기**
- Owner: 메인 assistant; 전문 계약은 formulation·I/O 담당.
- 제안: `A=C/Δt+K`를 구성하고 지정 온도를 elimination으로 적용한다. 일정 계수·geometry·
구속 집합·Δt에서 factorization을 재사용한다. 전체 시간은 Δt의 정수 배로 제한하는 안을 제시한다.
- 이유: 상수 물성·일정 입력의 단일 step을 선형 solve로 구성하고 시간 1차 수렴을 검증할 수 있다.
- 대안·trade-off: 다른 시간 적분법은 별도 시간 오차·안정성 검토가 필요하다. 짧은 마지막
증분을 허용하면 factorization과 fixed-Δt 의미도 달라진다. 안정성만으로 정확도를 보장하지 않는다.
- 영향: 초기 constrained 온도 항을 포함한 RHS와 종료시간의 수치 판정을 확정한다.
무구속 transient 모델을 정적 K의 null mode만으로 singular 판정하지 않는다.
- 근거: [정식화 7절](formulation.md#7-backward-euler-지정-온도와-최초-증분), 독립 두 증분 검산.
사용자는 고정 Δt를 선택했으며 BE와 정수 배 제한은 아직 수치 제안이다.
## STH-ADR-010: 초기 온도 보존과 첫 증분 경계 jump
- 상태: **Proposed / 초기 상태·default 계약 검토 대기**
- Owner: 메인 assistant; 전문 계약은 I/O·formulation 담당.
- 제안: 입력 초기 온도를 raw `T^0`로 보존하고 첫 양의 시점부터 step 지정 온도를 적용한다.
첫 RHS에 `C_fc(T_c^0−g)/Δt`를 유지하며 `t=0` 반력은 미정의로 구별한다.
- 이유: 입력 상태를 조용히 덮어쓰지 않고 첫 증분의 열저장·반력·에너지 변화를 추적할 수 있다.
- 대안·trade-off: 즉시 projection은 초기 상태와 에너지를 바꾸므로 projection jump의 저장·보고
정책이 필요하다. 두 정책은 같은 수치 결과를 보장하지 않는다.
- 영향: Reference의 step 전 `Set-10,11,11`과 step 내부 `Set-10,11,11,1000.`을 model/history
데이터로 구분한다. 생략 초기 온도·boundary 값과 재정의 의미를 확인한 뒤 한 정책을 채택한다.
- 근거: [정식화 7절](formulation.md#7-backward-euler-지정-온도와-최초-증분), 독립 검토 NR-02.
초기 온도의 면내 지정·두께 균일성은 합의됐지만 jump 처리의 채택 승인은 아직 없다.
## STH-ADR-011: 위치별 Fourier flux와 residual 반력 열률
- 상태: **Proposed / recovery·영속 결과 계약 검토 대기**
- Owner: 메인 assistant; 전문 계약은 formulation·I/O·numerical review 담당.
- 제안: `q=−kBT_e`를 면내 4점 × 두께 6개 trace의 24개 위치에서 계산한다.
중앙면의 `0−/0+`를 구별한다. 반력 열률은 `CΔT/Δt+KT−Q`의 구속 성분이며 모델 안으로의 공급을 양으로 둔다.
- 이유: Gradient flux와 열저장을 포함한 반력은 서로 다른 물리량이다. 각 위치의 raw 값을
유지해야 부호·열에너지 수지·경계 근처 공간 오차를 별도로 검증할 수 있다.
- 대안·trade-off: 절점 외삽·요소 간 평균은 원자료를 바꾸고 불연속을 숨길 수 있어 필수 결과에
포함하지 않는다. Global/local 중 저장 좌표계와 frame·trace identity는 아직 I/O 선택이다.
- 영향: 직접 적분 54점과 recovery 24점을 혼동하지 않는다. `t=0` 초기 온도를 보존하되
반력을 계산된 0으로 표시하지 않는다. Dataset layout·version·validity를 구현 전에 확정한다.
- 근거: [정식화 8~9절](formulation.md#8-반력-열률-에너지와-안정성), 독립 검토 NR-05.
온도·flux·reaction 저장은 합의됐으며 위 세부 출력 계약은 Proposed다.
## STH-ADR-012: 두께 균일 edge 열입력과 공개 문법
- 상태: **Proposed / 단위·syntax 미결정**
- Owner: 메인 assistant; 전문 계약은 I/O 담당.
- 제안: 계산 kernel은 edge 옆면의 면적당 유입 열유속을 적분해 총률 `q_in hL`을 보존한다.
두 endpoint의 각 두께 가중치는 `(1,4,2,4,1)/24`다.
- 이유: 같은 shape function을 사용한 일관 하중으로 입력·열저장·반력을 연결한다.
- 대안·trade-off: 외부 입력이 길이당 열률이면 `q_in=λ/h`로 해석해야 하며 두께를 중복 곱하지 않는다.
현재 공개 근거만으로 DS4의 `*DFLUX, S1…S4`를 지원한다고 선언할 수 없다.
- 영향: 승인 가능한 keyword·대상 edge·단위·중복 application 의미를 확정해야 한다.
문법의 미결정을 이유로 합의된 edge 기능을 삭제하거나 표면 분포 열유속으로 대체하지 않는다.
- 근거: [계획안 5절](design-plan.md#5-열입력과-지정-온도),
[정식화 6절](formulation.md#6-가장자리절점-열입력), 독립 검토 NR-03.
두께 균일 edge 입력은 사용자 합의이며 외부 표현의 채택 승인은 아직 없다.