calculix 라는 솔버를 사용하는 PrePoMax를 활용하면 열해석도 해볼 수 있는데요. 구조해석 프로그램으로 잘 알려져있지만 열해석도 비교적 정확히 나오는 것을 확인해보았습니다. 이번 글에서는 구조해석 및 열해석 프로그램 (CAE) 중 하나인 PrePoMax로 히트싱크 방열구조를 정상 상태로 해석하는 방법에 대해 함께 살펴보고 이론값과 FEA를 통해 산출된 값을 비교해보도록 하겠습니다.
메일만 주셔도 FEM/ CFD 무료 오픈소스 설치 방법에 대한 PDF를 발송 드리고 있습니다.
(anslab007@gmail.com)

모델링 불러오기
아래와 같은 모델링을 불러오겠습니다. 핀이 4개 달려있는 히트싱크(방열판) 구조입니다.

도면은 대략 이렇습니다. 프리캐드로 모델링을 하였습니다.
높이는 40mm, 핀의 두께는 4mm 입니다. 그 밖의 치수들도 참고해보시기 바랍니다.

두께는 60mm 입니다. PAD값이 60이 들어간 것이 보이시죠.

FreeCAD 모델링 프로그램 내의 FEM Workbench 를 이용하면 모델링을 변경해가면서도 열해석이 가능하긴 하지만, 확장성이 조금 떨어지는 측면이 있습니다. 따라서, 저는 오픈소스로 해석을 해보고자 하신다면 무조건 PrePoMax를 추천드립니다.
메시 설정
열해석 프로그램 PrePoMax 를 이용하여 메시 Parameter 설정을 해주도록 합니다.
아래와 같이 기본 Meshing Parameter에 1.5mm size만 적용해주었습니다. (다른 것들은 건드리지 않았습니다)

격자생성이 완료된 상태입니다. 아래의 모습을 보이게 됩니다. 핀 하나에도 적어도 3층 이상의 메시가 구성되도록 작성해주시는 것이 좋습니다.

물성 부분입니다. 일반적인 알루미늄의 열전도계수는 237 W/m·K 로 알려져있습니다. 물론 알루미늄도 재질 따라 상이하긴 할텐데, 정량화 된 값을 도출하기 위해서 아래 값을 적용해주겠습니다.
Thermal Conductivity 237mW/mm-K 가 갖도록 설정해주었습니다. (단위가 헷갈리시는 분들은 열전달에 대한 기본적인 개념을 좀 더 공부해보시기 바랍니다)

이후에는 적용한 재질을 히트싱크 모델(솔리드)에 할당해주는 것입니다.

모델링 할당까지 완료되었으면 이제 재질 할당은 완료되었습니다.
Step 설정
Heat transfer Step 을 설정해주도록 합니다. 열이 얼마나 움직이는지에 대해 분석해보고자 하기 때문입니다. 일반적으로 구조해석에는 Static Step, 열전달에는 Heat transfer step 이 사용됩니다. 복합적인 것을 보기 위해서는 Coupled Temperature-diplacement step을 사용합니다. 참고로 알아두시기 바랍니다.

Load 조건 설정 1 – Surface Flux
다음으로 해줄 것은 열부하를 걸어주는것인데요. 이런 Load 조건들은 모든 열해석 프로그램에서 용어만 다르지 결국 동일하게 적용되는 개념이므로, PrePoMax로 일단 공부를 하고 유료 프로그램을 사용해보셔도 좋겠습니다.
다음은 아랫쪽에서 열 flux가 유입되는 것을 가정한 Load 조건입니다.

Load에서 Create 클릭 후, Surface Flux 를 선택, 이후 Heat sink 의 하단면을 클릭하여 열의 유입부를 설정해줍니다.
이후, 30.6mW/mm^2 을 설정해주었습니다.

30.6mW/mm^2라는 값은 100W라는 기준 값에, 하단 면 AREA를 나눈값입니다.
면적값은 PrePoMax나 FreeCAD에서 손쉽게 계산할 수 있습니다. (Query 도구 사용, 하기 사진)

100W/3264mm^2 을 하면 나오는 값이 30.6 입니다.(아래 calcpad 결과 참고)

Load 조건 설정 2 – Convective Film
경계면에 대류 조건을 설정해주는 것이 바로 Convective filme입니다. Load에서 우클릭 후 생성할 수 있습니다.
어떤 유체가 흐르던간에 결국에는 경계면 간의 대류계수가 얼마인지에 따라서 해당 부위의 열전도 특성이 달라지게 되기 때문인데요.
Film Coefficient에 들어갈 값이 바로 대류열전달계수입니다.
열전달 공부를 해보신 분들은 유체와 고체의 매질 종류에 따라서 열전달계수가 다르게 나타난다라는 것을 기본적으로 공부하게 되시는데요. 알루미늄-공기 접촉의 일반적인 대류열전달 계수는 23W/mm^2-K 정도로 알려져있습니다.
mW 단위를 고려하여 0.023을 입력해준 것입니다. 또한 Skin Temperature 에 20도를 입력해주어, 대류하는 유체의 온도 조건도 지정해주도록 합니다.

Load 조건 2가지를 입력하면 아래와 같은 상태가 됩니다.

정적 해석을 하는 단계이므로 별도의 초기조건을 지정이 불필요합니다.
이제 연산을 진행해보겠습니다.
FE Model 트리의 가장 하단의 Anaylsis에서 우클릭 후, Run을 실행해줍니다.

열해석 프로그램 PrePoMax 해석 결과 확인
아래와 같은 결과를 얻게 되었습니다.
하단에서 열이 지속적으로 유입되고, 핀 부분이 공기와 대류를 일으켜 지속적으로 방열이 된다라는 전제 하에,
모든 것이 안정된 정상상태의 이상적 모습입니다.

열 전달에 대한 해석이기 때문에, Automatic X 5 로 설정해도 어떠한 열팽창이 발생하지 않습니다. 단순히 열에 대한 부분만 보는 것이기 때문에, 재질에 대한 팽창 여부는 크게 고려하지 않은 것입니다.

최대온도가 218.2도 까지 올라간다고 나옵니다. (단위에 대한 문자표현에서 조금 에러가 발생하는 듯 합니다, 향후 릴리즈 버젼에서는 개선이 되었으면..)
맞는지 검산을 해보겠습니다.
218.2 도 이므로, 공기중의 온도를 20도라고 가정했을 때, 온도의 차이값은 198.2K 정도가 나옵니다.
제가 만든 검산식에 넣어서 비교해보겠습니다.

100W를 전제로 해석을 하였으나, 이론적인 입력 열부하는 102.4W 정도로 약간의 편차를 보입니다.
이론과 실제 유한요소 결과와는 항상 차이가 있으므로, 이 부분의 신뢰성을 얼만큼 두고 믿고 갈 것인지는 엔지니어의 판단입니다.
마무리
지금까지 구조해석 및 열해석 프로그램 PrePoMax 오픈소스를 활용하여 히트싱크 방열구조의 해석을 진행해보았습니다.
열해석은 일반적인 구조해석(FEA)과 다르게 기본적인 개념에 대한 배경지식이 충분해야 하고, 정상 & 과도의 개념이 존재하기 때문에 상당히 어렵습니다. 즉, 구조해석 솔버와 함께 묶여있으며, 유한요소를 사용하는 방법이 동일하긴 하지만 풀이를 위한 난이도가 다르다고 보시면 됩니다. 이해가 잘 안가시는 분들은 여러번 반복해서 보시면서 익혀보셔도 좋겠습니다.
지금까지 엔스랩이었습니다.
PrePoMax 메뉴얼 무료 FEM 유한요소 오픈소스 강좌