Skip Navigation
Skip to contents

eTSNE


ANZINE : CAE 기술 매거진

AEDT Icepak Pre/Post Toolkit 소개 및 설치 방법

AEDT Icepak Pre/Post Toolkit 소개 및 설치 방법

AEDT(Ansys Electronics Desktop) 내에는 반복적인 작업을 자동화한 기능을 Toolkit 형태로 제공한다. Ansys Icepak®을 처음 접하는 사용자나 기존 Classic Icepak 사용자에게는 AEDT 환경의 Ansys Icepak의 전처리·후처리 과정이 낯설고 번거롭게 느껴질 수 있다. 이러한 어려움을 줄이고자 AEDT Icepak Pre/Post Toolkit을 제작하였다. 본 자료에서는 제작 배경과 설치 방법, 주요 기능을 순서대로 소개한다. Toolkit은 태성포털에 업로드될 예정이며, 추후 다운로드 후 본문의 설치 방법을 따라 진행하면 된다. 실무 해석 업무에 조금이나마 도움이 되기를 바란다.

 

AEDT Icepak Pre/Post Toolkit 제작 배경 및 개발 플랫폼 소개

Ansys Icepak은 과거 독립형 소프트웨어인 Classic Icepak으로 운영되어 왔으나, 이후 Ansys EM 제품군을 통합한 AEDT(Ansys Electronics Desktop) 플랫폼으로 편입되었다. Classic Icepak에 대한 지원은 일정 기간 병행되었으나 추가적인 기능 개발은 중단되었으며, 최근 2025년부터 공식적으로 지원이 종료되었다. 이에 따라 기존 Classic Icepak 사용자는 구버전을 유지하거나 AEDT Icepak 환경으로 전환할지를 결정해야 한다. 다만 AEDT는 전자기 해석 분야에 특화된 플랫폼으로, Icepak 활용 관점에서는 형상 단순화 및 경계조건 설정 과정이 상대적으로 번거롭다는 지적이 있다. Classic Icepak 사용자들의 의견을 종합하면 주요 불편 사항은 세 가지이다. 아래 표는 AEDT Icepak으로 전환해야 하는 이유와 전환 시 발생하는 불편 사항을 정리한 그림이다.

AEDT Icepak 전환이 필요한 이유

전환 후 발생되는 불편 사항 순위

Classic Icepak 지원 공식 종료

1  : 형상 단순화

EM 통합 플랫폼 활용

2 : 2R Network 모델링

지속적 업데이트 및 PyAEDT 활용

3 : Monitoring Point

 

첫째는 형상 단순화 작업의 편의성이다. AEDT 플랫폼 내 Modeler History 기반으로 동작하는데, 수정 사항이 많은 경우 Model Tree가 복잡해지는 구조적 특성이 있다. 이로 인해 Classic Icepak에 비해 형상 단순화 작업이 번거롭다는 의견이 많았다. 최근 도입된 Snap 기능을 통해 이러한 불편이 상당 부분 완화되었다. 다만 복잡도가 높은 CAD 형상의 경우 Snap 기능만으로는 처리에 한계가 있어, Simplify 기능을 활용하여 Primitive 형상으로 변환한 후 Snap 기능을 적용하는 방식을 권장한다.

둘째는 2R-Network 모델 처리 방식이다. Classic Icepak에서는 Block Network 기능을 통해 값과 Board 면을 설정하면 간편하게 Network 모델 설정이 가능하였다. 그러나 AEDT Icepak에서는 Graphic Window에서 특정 2 Face를 선택한 후 Assign Thermal Network로 경계조건을 설정하고 값을 수동으로 입력해야 하는 번거로움이 존재한다. 아직 이를 완화하거나 대체할 만한 AEDT 자체 기능은 제공되지 않는다.

셋째는 Monitoring Point 관련 기능이다. AEDT Icepak에서 생성되는 Monitoring Point는 객체의 Center를 기준으로 위치가 고정되며, Classic Icepak과 달리 생성 이후 위치를 임의로 변경하기가 용이하지 않다는 점이 주요 불편 사항으로 지적된다. 이 역시 AEDT 자체적으로는 아직 해결되지 않았다.

여기에 더해, 플랫폼 전환 여부와 무관하게 열 해석 업무 자체가 가지는 부담도 존재한다. Icepak으로 열 해석을 수행할 때 실제 해석 시간보다 그 앞뒤의 준비 작업에 시간이 더 소요되는 경우가 많으며, 특히 부품 수가 수십 개를 넘어가면 재질을 하나씩 지정하고, 발열 부품마다 발열량(Power) 경계조건을 입력하며, 부품별 온도를 확인하기 위해 모니터 포인트를 생성하고, 해석 후 최대·평균 온도를 하나씩 조회해 정리하는 작업이 반복된다. 각각의 작업은 어렵지 않으나 수가 많아, GUI에서 클릭으로 처리하다 보면 실수가 섞이기 쉽다. 값 하나를 잘못 입력하여도 해석은 정상적으로 종료되기 때문에, 결과를 검토하는 단계에 이르러서야 오류가 발견되는 경우도 발생한다.

이러한 불편을 줄이고자 AEDT Icepak Pre/Post Toolkit을 제작하였다. Ansys가 공식 배포하는 오픈소스 Python 라이브러리 PyAEDT를 기반으로 개발하였다. PyAEDT AEDT API Python 환경에서 직접 호출할 수 있도록 지원하는 라이브러리로, HFSS·Icepak·Maxwell AEDT 내 주요 솔버를 Python 스크립트로 제어할 수 있게 해준다. 아래 [그림 1] Python 환경과 PyAEDT, AEDT 간의 관계를 나타낸 것이다.

[그림 1]. Python 환경, PyAEDT, AEDT Icepak 간의 연동 구조

Toolkit UI PyQt5로 구성되어 있으며, PyAEDT Extension 등록 기능을 통해 AEDT Automation 탭에 정식 확장 프로그램(Extension) 형태로 등록된다. 따라서 별도의 외부 프로그램을 실행하지 않고 AEDT 내부에서 버튼 클릭만으로 Toolkit을 구동할 수 있다. 아래 [그림 2] PyAnsys API 문서로, API에 대한 상세한 내용이 필요한 경우 해당 경로에서 찾아볼 수 있다.

[그림 2]. PyAnsys API _ https://aedt.docs.pyansys.com/version/stable/API/index.html

Extension으로 실행된 Toolkit AEDT를 새로 띄우지 않고 이미 실행 중인 프로세스에 연결(attach)하여, 현재 활성화된 Icepak 디자인을 대상으로 경계조건 생성이나 재질 할당을 수행한다. 통신에는 AEDT 2022 R2 이후 기본값인 gRPC를 사용하며, 그 이전 버전에서는 COM(Windows 전용)으로 대체된다. 입력한 값이 AEDT에 반영되는 시점도 함께 알아 둘 필요가 있다. GUI에 입력한 값은 우선 Toolkit 내부에만 존재하다가, Apply를 누르는 순간 AEDT의 활성 세션에 즉시 반영된다. 다만 이는 세션에 대한 반영일 뿐 파일 저장은 아니므로, 최종 저장은 사용자가 AEDT에서 Save를 실행하여야 이루어진다. Toolkit이 임의로 저장을 수행하지는 않는다.

 

AEDT Icepak Pre/Post Toolkit 설치 방법 및 주의 사항

설치에 앞서 다음 항목이 준비되어 있어야 한다.

   ANSYS AEDT(Icepak 포함) 및 라이선스 인증 완료

   Python 3.10 이상

   PyQt5, pyaedt 패키지

 

pyaedt가 설치되어 있지 않다면, AEDT Automation 탭에 있는 Install PyAEDT 버튼을 사용하는 편이 안전하다. AEDT 전용 Python 환경에 알맞은 버전을 자동으로 설치해 주기 때문이다.

설치는 아래 [그림 3]과 같이 세 단계로 진행된다.

1.  배포 폴더(IcepakPrePostToolkit)를 원하는 위치에 복사한다.

2.  AEDT가 사용하는 Python 환경에 해당 경로를 등록한다(.pth 파일).

3.  AEDT Extension Manager에서 확장으로 등록한다.

[그림 3]. AEDT Icepak Pre/Post Toolkit 설치 절차

이 중 2번 단계가 핵심이다. AEDT Extension Manager는 지정한 스크립트 파일 하나만 자기 폴더로 복사해 가며, 프로그램 본체는 1번에서 복사한 위치에 그대로 남아 있다. 따라서 Python에게 그 위치를 알려 주어야 한다. 이 단계를 빠뜨리면 등록은 성공하지만 실행 시 ModuleNotFoundError가 발생한다. 구체적으로는 아래 경로에 .pth 파일을 하나 만들고, 배포 폴더의 경로 한 줄만 적으면 된다.

%APPDATA%\.pyaedt_env\<버전>\Lib\site-packages\icepak_prepost_toolkit.pth

파일 내용은 배포 폴더를 C:\Tools\IcepakPrePostToolkit에 둔 경우 아래와 같이 한 줄만 기입한다.

C:\Tools\IcepakPrePostToolkit

경로가 올바른지는 간단히 확인할 수 있다. 적어 넣은 경로를 탐색기 주소창에 붙여 넣었을 때 icepak_prepost_toolkit 폴더가 눈에 보이면 맞는 것이며, 그 폴더 안으로 들어가 버렸다면 한 단계 더 들어간 것이다.

경로 등록이 끝나면 확장 등록을 진행한다. AEDT를 실행하여 Icepak 디자인이 포함된 프로젝트를 연 뒤, Automation 탭에서 Extension Manager를 실행하고 Add Custom Extension을 선택한다. Script path에는 배포 폴더 안의 extension_entry.py 전체 경로를 지정하고, Target application Icepak으로 설정한다. 등록이 완료되면 리본에 버튼이 생성되며, 이를 클릭하면 Toolkit 창이 열린다. 상세 절차와 문제 해결 방법은 배포 폴더에 함께 들어 있는 설치 매뉴얼에 정리되어 있다.

사용 시 유의할 사항은 다음과 같다.

   Toolkit은 프로젝트를 저장하지 않는다. 저장은 사용자가 AEDT에서 직접 수행한다.

   반드시 AEDT 리본에 등록된 버튼으로 실행하여야 한다. Python 파일을 직접 실행하면 연결할 세션을 찾지 못한다.

   화면 해상도는 1280×800 이상을 권장한다. 창이 좁은 경우, 스크롤로 확인할 수 있다.

   프로그램을 새 버전으로 교체한 경우 Extension Manager 등록을 다시 수행하여야 한다. AEDT가 등록 시점의 스크립트 사본을 실행하기 때문이다.

 

AEDT Icepak Pre/Post Toolkit 기능 소개

Toolkit AEDT를 새로 띄우거나 프로젝트를 열고 닫지 않는다. 이미 열려 있는 세션에 연결하여 작업하고, 창을 닫으면 연결만 해제되므로 사용자가 작업 중이던 프로젝트는 그대로 유지된다. 구성은 6개 탭이며, 해석 워크플로의 순서를 그대로 따른다.

Tab 종류

역할

Object List-up

해석 대상 부품 목록 확인, 3D View 하이라이트

Materials

재질 생성 및 부품별 할당

Boundary Conditions

발열·경계조건 설정 및 일괄 적용

Monitors

물리량 모니터 Point 및 모니터 Face 생성

Mesh/MLM

Multi Level 자동 산출 및 Mesh Operation 적용

Postprocessing

Contour 생성, 부품별 결과 조회 및 CSV 저장

 

아래 [그림 4]Object List-up GUI이다. Object List-up 탭은 해석에 실제로 포함되는 부품만 골라 보여준다. Model 속성이 꺼진 객체와 Icepak이 자동 생성하는 Region은 목록에서 제외되므로, 화면에 보이는 목록이 곧 해석 대상이다. 또한 두께가 1mm보다 얇은 Solid 부품은 메쉬 부담이 크고 결과 신뢰도도 떨어지기 쉬운데, 이러한 부품을 Thin Solid 열에 표시해 주므로 해석 전에 2D Plate 전환 여부를 판단할 수 있다.

[그림 4]. Object List-up 해석 대상 부품과 Thin Solid 표시

아래 [그림 5] Materials GUI이다. Materials 탭은 재질을 만드는 작업과 부품에 지정하는 작업을 한 화면에서 처리한다. 왼쪽에서 고체의 재질을 정의하고 오른쪽에서 부품별로 지정한 뒤 한 번에 반영하는 구조이다. Bulk(밀도·열전도율·비열) Surface(방사율)를 구분하여 생성할 수 있으며, 이미 존재하는 재질은 덮어쓰지 않고 건너뛰므로 기존 물성이 임의로 변경되지 않는다. CSV로 내보내고 불러올 수 있어 다음 과제에서 재사용하거나 사내 표준 물성 세트를 팀에서 공유하는 것도 가능하다.

[그림 5]. Materials 재질 정의()와 부품별 할당()

아래 [그림 6] Boundary Conditions GUI이다. Boundary Conditions 탭은 부품 수가 많은 경우, 가장 손이 많이 가는 구간을 담당한다. 부품 목록에 경계조건 종류와 값을 채운 뒤 선택한 행만 골라 적용하는 방식이며, Block(발열 블록), Network(2R 저항 모델), Source(면 발열) 등을 지원한다. Network Rjc·Rjb와 방향(축·부호)을 지정하여 case/board 면을 정확히 배정할 수 있고, 적용 결과는 행마다 표시되어 실패한 행을 그 자리에서 확인할 수 있다. 여러 부품을 묶어 하나의 경계조건으로 생성하는 Merge 기능도 제공한다.

CSV 기능은 실무에서 특히 유용하다. 발열량은 보통 설계팀에서 엑셀로 전달받는데, 그 값을 화면에서 하나씩 옮겨 적는 대신 형식만 맞추어 불러오면 된다. 조건을 바꾸어 가며 여러 케이스를 검토할 때에도 파일 단위로 관리할 수 있다. , 부품 이름은 대소 문자를 구분한다. AEDT에서 이름이 다른 객체로 인식될 수 있으므로, 파일의 이름을 모델과 정확히 일치시켜야 한다.

[그림 6]. Boundary Conditions 부품별 경계조건 설정과 Merge

아래 [그림 7] Monitors GUI이다. Monitors 탭은 부품별 모니터 포인트를 표에서 한 번에 생성하며, Point(좌표 지정) Face(면 지정) 두 가지를 지원한다. 앞서 언급한 대로 AEDT의 객체 내 모니터 생성 기능은 모니터를 부품 중심(centroid)에 배치하여 이후 위치를 옮기기가 번거롭다. Toolkit은 부품을 선택하면 중심 좌표를 채워 주되 이를 수정할 수 있게 하였으므로, 관심 지점에 정확히 배치할 수 있다. 모니터 종류에 따라 입력 항목도 함께 바뀐다. Point를 선택하면 X/Y/Z 좌표가 활성화되고 Surface를 선택하면 면 선택이 활성화되며, 측정 항목(Quantities) 또한 종류에 맞는 것만 제시되므로 AEDT가 거부하는 조합을 입력할 일이 없다. 좌표 칸에 마우스를 올리면 해당 축의 최소·최대 범위와 중심값이 함께 표시되므로, 면 중앙에 배치하려는 경우 한 칸만 수정하면 된다.

[그림 7]. Monitors 모니터 종류·좌표·측정 항목 지정

아래 [그림 8] Mesh/MLM GUI이다. Mesh/MLM 탭은 부품 크기와 전역 최대 요소 크기를 기준으로 MLM(Mesh Level) 값을 자동 계산하고 선택한 부품에만 적용한다. 상한을 지정할 수 있어 특정 부품에 과도한 레벨이 잡히는 것을 막을 수 있으며, 계산과 적용이 분리되어 있어 산출된 값을 표에서 확인한 뒤 반영 여부를 결정할 수 있다. 화면 왼쪽에서는 MeshRegion 목록과 Type을 확인하고, 오른쪽에서 선택한 부품의 MLM 값을 산출하여 Mesh Operation을 설정한다. 상단의 길이 필터를 사용하면 지정한 값보다 작은 부품만 추려 볼 수 있어, 얇은 형상에 MLM을 적용할 때 대상을 찾기 쉽다.

[그림 8]. Mesh/MLM  — MeshRegion 확인()과 레벨 산출·적용()

마지막으로 [그림 9] Postprocessing GUI이다. Postprocessing 탭은 선택한 부품에 Contour를 일괄 생성하여 이미지로 저장하고, 부품별 최소·최대·평균값을 표로 조회하여 CSV로 내보내는 기능을 제공한다. 온도 외에 표면온도·속도·압력·열 유량·열전달계수를 같은 방식으로 다룰 수 있다. 부품이 수십 개인 경우 값을 개별적으로 확인하여 옮겨 적던 과정을 표 하나로 대체할 수 있으므로, 보고서에 수록할 수치를 정리하는 시간이 단축된다. AEDT Icepak에서 Contour를 만들 대상은 체크박스로 선택하며, 부품뿐 아니라 단면(Plane)도 대상이 되므로 내부 온도 분포를 확인하기 위한 단면 Contour도 같은 화면에서 처리된다. 이미지로 저장할 때에는 축·격자·눈금자·와이어프레임의 표시 여부를 각각 선택할 수 있다.

[그림 9]. Postprocessing 컨투어 대상 선택()과 부품별 결과표()

 

지금까지 소개한 기능을 기존 작업 방식과 비교하면 아래 표와 같다.

작업

기존 수동 방식

Toolkit 사용 시

재질 할당

부품마다 개별 지정

표에 입력 후 일괄 반영, CSV 재사용

경계 조건 입력

부품마다 창을 열어 입력

엑셀값을 CSV로 불러와 일괄 적용

모니터 Point 생성

중심 기준 생성, 위치 조정 불가

표에서 좌표 지정해 일괄 생성

결과 정리

Field summary에서 부품별로 확인

표로 조회 후 CSV 저장

 

효과는 부품 수에 비례한다. 부품이 10개 이하인 단순 모델에서는 차이가 크지 않지만, 수십 개 이상이거나 조건을 바꾸어 가며 여러 케이스를 수행하는 과제에서는 체감이 크다. 실수를 줄이는 효과도 있다. 값이 표에 나열되어 있으므로 적용 전에 전체를 훑어볼 수 있고, 적용 후에는 각 행의 처리 결과가 화면에 표시된다. 적용에 실패한 행은 그 사유와 함께 표시되므로, 조용히 넘어가 뒤늦게 발견되는 상황을 줄일 수 있다.

맺음말

AEDT Icepak으로의 전환 과정에서 제기된 불편 사항과, 열해석 준비 작업에서 반복되는 부담을 줄이기 위해 AEDT Icepak Pre/Post Toolkit을 제작하였다. Toolkit은 재질 할당부터 경계조건 설정, 모니터 생성, MLM 레벨 산출, 후처리까지 이어지는 구간을 표 기반으로 묶어 일괄 처리하며, PyAEDT를 기반으로 하므로 AEDT 내부에서 버튼 클릭만으로 사용할 수 있다. Python을 활용한 자동화가 낯설게 느껴질 수 있으나, 본문의 절차에 따라 한 번 등록해 두면 이후에는 별도의 준비 없이 사용할 수 있다. 실무에 도움이 되기를 바라며, 사용 중 개선이 필요한 부분은 언제든 의견을 주시면 반영하겠다.

 

참고자료

- PyAnsys AEDT API 문서

좋아요이 원고가 마음에 든다면 하트를 꾸욱!