히트싱크 방열해석, AEDT Mechanical로 쉽게 해결하세요
히트싱크는 발열체에 부착되어 외부 유체와 맞닿는 표면적을 넓혀 열 배출 효과를 향상시키는 장치이다. 별도의 동력원 없이 단순히 부착하는 것만으로 효과를 볼 수 있다는 장점 때문에 전자 장비 방열 방법 중 가장 널리 사용되고 있다. 부착만으로 효과를 기대할 수 있는 것은 빠른 전도열전달에 의한 것이며, 이 때 발열체와 히트싱크 사이의 접촉 열저항은 성능 향상에 대한 주요 인자가 된다. 접촉 열저항은 해석적으로 고려하되 히트싱크를 감싸는 유체의 흐름 양상은 생략하면, 대류열전달은 수학적 계산으로 대체하기 때문에 훨씬 빠른 결과 도출이 가능하다. 유체 흐름, 열전달, 열변형 등 모든 물리적 현상을 포함한 해석도 좋겠지만, 풀어야 하는 지배식의 종류가 늘어날수록 풀이가 복잡해지기 때문에 수렴 난이도나 해석 소요 시간이 증가한다. 따라서 본 게시물에서는 열전달만 해석하고 유체 흐름에 대한 부분은 생략하는 방법을 적용할 것이며, 그 원리에 대해서도 간단히 살펴볼 것이다.
Introdution
전자기장 해석 분야에서 주로 사용되는 대표적 해석 프로그램은 Ansys HFSS™, Ansys Maxwell®, Ansys Q3D Extractor®, Ansys SIwave™, Ansys Icepak® 등이 있다. 구체적인 해석 내용에 따라서 쓰임새가 다르나, 이 모든 프로그램은 Ansys Electronics Desktop(AEDT)™에서 하나의 통합형GUI로 사용 가능하며, 손쉽게 연동 해석 역시 가능하다. 그 중 구조해석 관련 기능은 주로 Ansys Electronics Desktop™(이하 AEDT) 내부에서 추가할 수 있는 Mechanical기능으로 사용 가능하며, 이번 자료에서는 AEDT에 Mechanical기능을 추가해서 진행하는 열전달 해석 방식을 살펴보고자 한다.
■ 실행 및 기본 환경 설정
Ansys Electronics Desktop(AEDT) 실행 후, Desktop 리본 탭에서 Mechanical을 클릭하여 추가한다. 본 자료는 Getting Started 예제를 기반으로 작성되었으며, 원문에서는 HFSS, Maxwell, Icepak, Mechanical 등 AEDT 내에서 추가하는 프로그램을 ‘Design’이라 명명한다. 원문을 보면서 실습할 경우 참고하면 유용하다. (예: “Add Mechanical design.”)
[그림1] AEDT 내부에 Mechanical 추가
이후 간단한 환경 설정을 한다.
- 메뉴 바 >View > Options > 3D UI Options 창 > Enable Legacy View Orentation 체크 > 확인
[그림2] 3D UI Options 창
* Enable Legacy View Orientation
좌표계의 축 방향이 달라진다. 체크할 경우 구 버전의 축 방향 기준이 적용된다. 아래는 Isometric View의 축 방향 기준이다.
[그림3] Isometric View 축 방향 기준의 현재 버전(좌)과 구 버전(우) 비교
■ 형상 설정
형상 작업은 CAD 파일을 불러온 후 일부 파트들을 그룹화 하는 것으로 간단히 마무리할 것이다. 아래 경로에서 CAD 파일을 불러온다.
- CAD 파일 경로: C 드라이브 > Program Files > AnsysEM > V242 > Win64 > Help > Mechanical > Thermal_HeatSink.x_t
[그림4] Import File 창
설치경로의 help 폴더 내에는 각 제품별 예제 실습을 위한 파일들이 있다. 이 경로 외에도 Desktop 리본 탭 > Open Examples에서도 다른 예제들을 추가로 확인 가능하다.
다음으로 Draw 리본 탭 > Ruler와 Grid를 해제한 후 불러온 형상을 확인한다.
[그림5] Ruler 및 Grid 체크 해제
[그림6] 방열해석 실습 형상
불러온 형상은 크게 트랜지스터와 히트싱크로 구성되어 있다. 둘 사이에는 얇은 절연체가 있다. 트랜지스터는 JEDEC TO-220 패키지이며 마운팅 탭, 다이, 몸체로 이루어져 있다. 리드 형상은 열을 발산하지 않는 것으로 보수적으로 가정하여 생략되었다.
트랜지스터를 구성하는 파트들을 하나의 그룹으로 묶는 작업을 진행한다.
- History Tree > Body, Die, Tab 선택 > 마우스 우클릭 > Group > Create
[그림7] 여러 파트를 그룹화하기
화면 좌측하단의 Properties 창에서 방금 생성한 그룹의 이름을 Transistor로 변경하고, History Tree에도 이름이 변경된 것을 확인한다.
[그림8] 그룹 이름 변경
[그림9] 히스토리 트리 확인
History Tree를 보면, 그룹으로 묶인 3개의 파트는 물성이 ‘Not Assigned’로 표시되는 것을 확인할 수 있다. 메쉬 크기 조절을 위해서 만든 형상을 의미하는 ‘Non-Model’처럼 예외적인 경우가 아니라면, 해석하고자 하는 물리적 현상에 영향을 줄 수 있는 모든 파트에 물성 설정을 해야 한다.
■ 물성 설정
물성 설정을 어디까지 해야 하는지는 수학적 관점에서 볼 경우 이해에 도움이 될 수 있다. 내가 해석하고자 하는 물리적 현상이 무엇인지에 따라 풀어야 하는 지배식이 달라진다. 그리고 각 지배식에 따라 대입해야 하는 물성 정보 역시 다르다. 즉, 해석하지 않는 물리적 현상에 대한 지배식에 들어가는 물성 정보는 필요하지 않다. 해석하고자 하는 물리 현상의 지배식에 대입되는 물성 정보만 설정하면 된다. 가령 유체의 흐름만을 해석하는 경우에는 유체의 밀도와 점도만 알면 된다. 하지만 열전달까지 해석하기 위해서는 밀도와 점도 외에 추가로 비열과 열전도도를 알아야 한다.
본 실습에서는 유체 영역은 해석에서 제외할 것이며, 흐름 양상 또한 해석에 포함시키지 않을 것이기 때문에 유체에 대한 물성 정보는 필요하지 않다. 대신 유체가 열전달에 미치는 영향은 경계 조건으로 대체할 것이다.
불러온 고체 파트들은 모두 열을 머금는 성질인 열용량이 존재하므로 열전달 현상에 관여하며, 따라서 물성 설정이 필요하다. 본 해석에서는 포함시키지 않지만 복사 해석도 함께 할 경우 표면 방사도를 추가로 알아야 한다.
예외적으로 정상상태 열전달 해석의 경우 해석 결과인 온도 분포는 오직 열전도도에 의존한다. 즉, 정상상태 해석에서는 열전도도 이외의 물성 값들은 해석에 관여하지 않으므로 필요하지 않다. 열유동 해석에서 정상상태 해석은 시간이 무한대로 흐른 것과 같은 의미이기 때문에, 열을 얼마나 머금어서 열이 천천히 또는 빠르게 전달되는지는 시간 변수가 무한대일 경우 의미가 없어지기 때문이다.
먼저 트랜지스터의 바디에 물성 설정을 한다.
- History Tree > Body 마우스 우클릭 > Assign Material
[그림10] Assign Material
제품 설치 시 기본적으로 제공되는 System Library에는 많은 종류의 물성 정보가 있다. 라이브러리의 세부 항목 중 Granta Material을 활성화하면 더 많은 종류의 물성 정보를 확인 가능하다.
[그림11] 물성 라이브러리 확장
이후 아래 표를 참고하여 검색을 통해 물성 값을 각각의 파트들에 적용한다.
|
Plastic, ABS [sys: Granta Materials Data for Simulation]
|
|
Semiconductor, Silicon carbide (sintered) SiC [sys: Granta Materials Data for Simulation]
|
|
Stainless steel, 304, 1/2 hard [sys: Granta Materials Data for Simulation]
|
|
Al-Extruded [sys: Materials]
|
|
Mica-Typical [sys: Materials]
|
[표1] 파트 별 물성
[그림12] 히스토리 트리 물성 설정 확인
■ 접촉 조건(열저항) 설정
붙어 있는 두 고체 사이에는 열저항이 존재한다. 눈으로 보기에는 틈이 없는 것 같지만 미시적 관점에서는 작은 공기 틈이 있기 때문이다. 공기의 열전도도는 0.02 W/(m⋅K)으로, 구리의 열전도도가 400 W/(m⋅K)인 것을 감안하면 약 2만분의 1로 상당히 작은 값이다. 이 때문에 공기가 흐르지 않을 때는 단열재로 작용한다. 공기가 움직일 때는 열전달 매커니즘에 대류열전달이 포함되어 대류열전달계수 및 온도차에 따라 열이 잘 전달될 수 있지만, 아주 좁은 틈에서 흐름이 거의 발생할 수 없을 때는 전도열전달이 주된 매커니즘이기 때문에 대류열전달계수보다 열전도도가 지배적으로 작용한다. 건물을 지을 때 방과 방 사이의 벽에 들어가는 방열소재의 구성이 골판지의 트러스 구조와 유사한 이유도 공간을 잘게 쪼개어 공기가 흐를 수 있는 공간이 충분치 않도록 하여 공기를 단열재처럼 활용하기 위해서다.
이러한 접촉 열저항에 영향을 주는 인자는 힘과 표면거칠기다. 두 고체를 강한 힘으로 눌러서 공기 틈을 최대한 적게 만드는 것과 표면거칠기를 얼마나 매끄럽게 하는지에 따라 달라질 수 있다. 그 밖에 사용되는 방법은 TIM(Thermal Interface Material)을 활용하는 것이다. 써멀 그리스(Thermal Grease)처럼 공기보다 훨씬 열전도도가 높은 물질을 두 고체 사이에 바르면 점성에 의해서 빈 공간을 잘 매워 공기 틈을 없애서 접촉 열저항을 크게 낮출 수 있다.
발열체로부터의 열은 1차적으로 히트싱크로 전도열전달을 통해 열이 전달된다. 그 다음 대류열전달을 통해 히트싱크에서 공기 중으로 열이 전달된다. 따라서 먼저 히트싱크로 열이 잘 전달되어야 방열 성능이 좋아지므로, 이처럼 접촉 열저항을 낮추는 것은 중요한 과정이다.
본 실습에서는 공기 틈에 의한 열저항이 존재하는 것으로 가정하여 조건을 부여한다. 두 고체 사이의 면에 아무 조건을 부여하지 않을 경우 이상적인 접합 상황, 즉 열저항이 없는 것으로 자동 설정된다.
- 절연체의 양쪽 면을 선택 > 마우스 우클릭 > Assign Contact > Contact
[그림13] 절연체 양쪽 면 선택
[그림14] Assign Contact
- Resistance Type을 Thermal Impedance로 선택 > Impedance 값으로 0.15 입력 > 확인
[그림15] 열저항 설정
위처럼 설정하는 것의 원리를 도식화하면 아래 그림과 같다.
[그림16] 열저항 단순화
이 때 수학적으로 대체되는 열저항 조건의 계산 식은 다음과 같다.
열저항을 설정하는 방법 및 각 옵션에 따른 의미는 다음과 같다.
|
두께 L과 물성 k를 사용자가 정의하여 열저항 값을 계산한다. A는 기하형상에 의해 결정된다.
|
|
전도율[W/K]을 사용자가 정의하면 그 역수가 열저항으로 적용된다.
|
|
최종 적용되는 열저항 R 값을 사용자가 직접 정의한다.
|
|
사용자가 정의한 임피던스 값을 단면적으로 나누어 열저항 값이 계산된다.
|
[표2] 열저항 옵션
Project Manager에서 설정이 완료된 것을 확인할 수 있다.
[그림17] 히스토리 트리 Contact 설정 확인
■ 대류열전달 설정
고체 표면과 외부 공기 사이의 열전달은 열전달의 세 가지 매커니즘 중 대류열전달에 가장 지배적인 영향을 받는다. 이 때 외부 공기를 어디까지 해석에 포함시켜야 하는지 고민이 생긴다. 무한한(엄밀히는 지구의 대류권 내) 공기 영역을 모두 해석 영역에 포함시킬 수는 없기 때문에, 관찰하고자 하는 대상과 적절한 거리 까지의 공기만 해석에 포함시키는 경우가 많다. 이 때, 필연적으로 해석하지 않는 공기 영역과 해석하는 공기 영역 사이에 경계면이 존재한다. 열전달 관점에서 이 면에는 어떤 조건을 부여해야 할까?
해석 대상의 최외곽 경계면에 아무 조건도 부여하지 않을 경우 열전달 관점에서는 단열로 처리된다. 따라서 만약 최외곽 경계면의 온도와 그 바깥쪽의 온도에 차이가 있다면 추가적인 조건 설정이 필요하다.
대류열전달은 다음 이론식을 통해 계산된다.
해석 영역 내부에 완전히 포함된 면을 가로지르는 열량은 인접한 두 점의 온도를 통해 계산된다. 즉, T1과 T2의 위치 또한 해석 영역 내부에 있기 때문에 그 값 역시 사용자가 입력해야 하는 값이 아니라 해석을 통해 계산되는 값이다. 따라서 해석 영역 내부에 완전히 포함된 면에는 어떠한 열전달 설정도 할 필요가 없으며, 지배식을 통해서 전도열전달 또는 대류열전달이 계산되도록 두면 된다.
[그림18] 대류열전달
반면에, 최외곽 면에서는 T1의 정보는 계산되지만 T2는 해석 영역 바깥에 있기 때문에 정보를 알 수 없다. 따라서 이 때는 사용자가 값을 정의해야 한다. T2의 온도뿐만 아니라 대류열전달의 경우 대류열전달계수 h값 역시 사용자가 정의해야 한다.
대류열전달계수는 유체와 얼마나 열전달을 잘 하는지에 대한 계수이고, 당연하게도 바람이 강하게 불면 값이 크고, 바람이 약하게 불면 값이 작다. 그리고 각 상황에 따른 대류열전달계수 값의 편차가 큰 편이기 때문에, 팬이나 외부 인자로 바람이 발생하는 강제대류의 경우에는 적절한 값을 가정하는 것이 쉽지 않다. 따라서 강제대류가 지배적인 해석에서는 가급적이면 유체가 어떻게 흐르는지를 포함하여 해석하는 것이 바람직하다.
다행스럽게도, 자연대류의 경우에는 경험적 데이터를 통해서 대류열전달계수를 약 5~10 W/m2K으로 설정하면 실제와 잘 맞는 것으로 알려져 있다. 따라서 별도의 바람을 불게 하는 인자 없이 공기중에 둔 상태, 즉 온도차에 의해서만 유동이 발생하는 자연대류의 상황에서는 대류열전달계수 및 유체 온도를 대입하여 유체 흐름을 풀지 않고도 열전달 해석이 가능하다. 물론 이 방법이 유체를 포함한 해석보다는 정확도가 낮을 수 있겠지만, 세계 7대 난제로 분류된 유동해석 지배식을 풀지 않고도 해석을 할 수 있다는 것은 해석 소요 시간이 크게 줄어든다는 점에서 상당히 효율적인 방법이라 볼 수 있다.
본 실습에서 추가로 가정된 부분은 히트싱크의 표면 가공 상태이다. 히트싱크 핀의 옆면은 아래 그림처럼 가공되어 있으나, 이 모양을 그대로 해석에 반영하면 짧은 선들에 의해서 요소 개수가 크게 증가할 것이고, 이는 훨씬 더 긴 해석 소요시간을 초래한다.
[그림19] 히트싱크 표면 가공 상태
따라서 기하형상은 모두 매끈한 면으로 모델링되었으며, 울퉁불퉁한 면에는 더 높은 대류열전달계수를 적용하여 대체할 것이다. 히트싱크 핀의 표면적을 넓히기 위해서 가공된 것이며, 그 면적은 1.4배이다. 따라서 조건 적용 시에도 1.4배의 대류열전달계수를 적용한다.
먼저 아래 그림처럼 매끈한 면들을 모두 선택한다.
[그림20] 히트싱크 매끈한 표면 선택
이 면에는 10 W/m2K의 대류열전달계수를 적용한다.
- 3D Modeler 창 마우스 우클릭 > Assign Boundary > Convection
[그림21] Assign Convection
- Film Coefficient에 10 입력 > OK
[그림22] 대류열전달 설정
이 때 외부 공기 온도는 Ambient Temperature로 설정된다. Ambient Temperature는 20℃로 기본 설정되어 있으며, 원할 경우 Design Setting에서 변경 가능하다.
같은 방식으로, 아래 그림처럼 히트싱크 핀의 옆면들을 선택한 후 14의 값을 적용한다.
[그림23] 히트싱크 가공된 표면 선택
- Tip: 마우스로 드래그하여 대상 선택 시 왼쪽에서 오른쪽으로 드래그하면 사각형 드래그영역 내에 완전히 포함된 대상만 선택된다. 반대로 오른쪽에서 왼쪽으로 드래그하면 사각형 드래그영역에 걸치기만 하면 그 대상들은 모두 선택된다. 따라서 히트싱크를 옆에서 보도록 한 후, 옆면의 중앙부를 작게 오른쪽에서 왼쪽으로 드래그하면 모든 옆면들만 손쉽게 한 번에 선택 가능하다.
설정이 완료되면 Project Manager에 2개의 Convection 조건이 생성된 것을 확인한다.
[그림24] 히스토리 트리 대류열전달 설정 확인
■ 발열 설정
발열 설정은 다이(Die)에 4W를 적용한다. 선택한 오브젝트의 체적당 발열량으로 적용된다. 본 실습에서는 발열체가 하나지만, 여러 개의 오브젝트에 적용할 경우 각각의 오브젝트의 체적당 4W로 개별적으로 적용되며, 선택한 모든 오브젝트의 총 체적당 4W가 적용되는 것이 아님에 주의한다.
[그림25] 발열 설정 대상 선택
[그림26] 발열 설정
설정이 완료되면 Project Manager에서 아래 그림처럼 확인 가능하다.
[그림27] 히스토리 트리 발열 설정 확인
■ 메쉬 설정
본 실습 예제는 기하형상의 크기가 크게 차이 나지 않는 편이다. 각 파트의 길이 스케일 차이가 크게 나지 않는 경우에는 Auto Mesh Setting을 활용하는 것도 좋은 방법이다. 주요 부품 간의 크기 차이가 20배 이상 큰 경우에는 Advanced 옵션을 추가로 설정하는 것을 권장한다.
- Simulation 리본 탭 > Mesh Settings > Auto Mesh Setting을 7단계로 변경 > 확인
[그림28] 메쉬 세팅 아이콘
[그림29] Auto Mesh Setting 조절
[그림30] 메쉬 생성 완료
■ 솔버 설정
솔버 설정은 기본 설정을 그대로 사용한다.
- Simulation 리본 탭 > Setup > 확인
[그림 31] 솔버 설정 아이콘
[그림32] 솔버 설정 창
모든 전처리 작업이 완료되었으며, 이제 해석을 실행한다.
- Project Manager > Setup1 마우스 우클릭 > Analyze
[그림33] 해석 실행
■ 후처리
먼저 전체 형상의 온도 분포를 확인한다.
[그림34] 전체 표면 온도 분포 결과
특정 오브젝트만의 온도 분포를 보기 위해서는 그 형상만 보이도록 한 후 Reassign 기능을 사용하면 확인 가능하다.
- History Tree > Body, Die, Tab 선택
[그림35] 후처리 대상 선택
- Draw 리본 탭 > Show only selected objects in active view 클릭
[그림36] 선택한 대상만 보이게 설정
- 3D Modeler 창 > 디스플레이 된 모든 형상 드래그하여 선택 > Project Manager > Temperature1 마우스 우클릭 > Reassign
[그림37] 후처리 대상 재설정
이 방법으로 트랜지스터, 절연체, 히트싱크의 온도 분포를 확인한다.
[그림38] 트랜지스터 표면 온도 분포 결과
[그림39] 절연체 표면 온도 분포 결과
[그림40] 히트싱크 표면 온도 분포 결과
시각적인 결과 확인이 끝났으면, 이제 데이터 결과를 확인한다. 체적/면에 대한 평균/최대/최소 등 계산된 값을 확인하기 위해서는 Fields Summary 기능을 사용한다.
- Project Manager > Field Overlays 마우스 우클릭 > Create Fields Summary
[그림41] Fields Summary 생성
HeatGeneration1 조건이 적용된 면에서의 Heat Flow Rate를 계산한다. 발열 조건이 적용된 Die의 표면을 통한 열전달량을 모두 계산하는 의미가 된다.
[그림42] Fields Summary 설정
[Add 옵션]
- Add As Single Calculation: 선택한 대상 전체의 결과를 계산 à 1개의 계산 결과 출력
- Add As Multiple Calculations: 선택한 각 대상의 결과를 계산 à 선택한 대상 개수만큼의 계산 결과 출력
같은 방식으로, 대류 조건이 적용된 면을 통한 열전달량을 계산한다.
[그림43] 결과 데이터 확인
발열체에서 나온 모든 열량과 히트싱크를 통해 배출된 열량이 같다는 것을 알 수 있다. 또한 Convection1이 적용된 매끈한 면을 통해 배출된 열량보다 Convection2가 적용된 울퉁불퉁한 면을 통해 배출된 열량이 약 3.5배 많다는 것을 알 수 있다. 적용된 대류열전달계수는 1.4배였기 때문에, 3.5배가 된 것은 면적의 차이 역시 개입된 영향인 것을 유추할 수 있다.
맺음말
CFD 비전공자에게 열유체 해석은 다소 어렵게 느껴질 수 있다. 본문은 CFD 비전공자도 방열 해석을 쉽게 따라할 수 있는 것을 목표로 작성되었다. 따라서 유체 해석용 프로그램 대신 AEDT 내에서 Mechanical을 추가하는 방법이 사용되었으며, 대류열전달 조건을 통해서 유체 흐름을 해석하지 않고도 이론적으로 대체 가능한 것을 살펴보았다. 단순히 예제를 가이드 지시에 따라 클릭만 하는 것보다, 이론적 이해가 뒷받침이 되면 보다 능동적으로 문제를 고민하고 수치해석을 진행할 수 있다. 본문을 접한 독자분들에게 어렵게 느껴지는 CFD 이론이 보다 친숙하게 다가왔기를 바란다.