앤시스 워크벤치를 활용한 해석 성공사례
파이앤시스(PyAnsys)는 파이썬(Python)을 활용하여 앤시스(Ansys) 제품을 사용할 수 있는 라이브러리를 뜻한다. 파이앤시스는 구조해석과 관련한 PyMAPDL, PyMechanical과 전처리 및 후처리에 대한 PyDPF가 있다. 이와 같은 라이브러리를 이용하면 파이썬 내에 있는 패키지와 함께 다양한 작업이 가능해진다.
이번 호에서는 파이앤시스 중에서도 PyMAPDL에 대한 사용 방법과 활용 예시를 소개하고자 한다.
■ 노은솔
태성에스엔이 구조 3팀 매니저로 구조해석 및 자동화 프로그램에 대한 기술 지원을 담당하고 있다.
이메일 | esnoh@tsne.co.kr
홈페이지 | www.tsne.co.kr
앤시스에서 구조, 열, 음향 등 다양한 해석에 사용되는 유한요소 솔버 중 하나인 Mechanical APDL은 명령어를 기반으로 구동된다. 복잡한 연산이나 매개변수 설정 및 자동화 기능이 가능하기 때문에 여전히 많이 사용되고 있다. 하지만 앤시스 워크벤치(Ansys Workbench)의 제한적인 기능을 활용할 경우, 추가적으로 APDL 명령어를 사용해야 한다.
말하자면 APDL 명령어로 여러 기능을 구현할 수 있지만, 넓은 범위에서 적용하기에는 한계가 있는 것이다. 예로 머신러닝이나 딥러닝과 관련한 라이브러리인 텐서플로(TensorFlow)나 케라스(Keras) 등은 APDL 명령어 내에서는 사용할 수 없으며, 파이썬과 APDL 연동에도 한계가 있다.
이 때 PyMAPDL 라이브러리를 사용하면 파이썬 내에서 APDL을 사용하기 때문에 활용도가 넓어진다. 이번 호에서는 PyMAPDL의 사용 방법과 활용 예시를 다뤄보고자 한다.
PyMAPDL 사용 방법
PyMAPDL은 파이썬에서 사용될 때 gRPC(Google Remote Procedure Call)를 기반으로 파이썬 명령어를 APDL 명령어로 변환하여 MAPDL 인스턴스(Instance)에 전송하고, 결과를 파이썬으로 다시 반환한다. 이러한 작업 과정 때문에 파이썬과 MAPDL 간 원활한 데이터 통신이 가능해지며, 다수의 MAPDL 인스턴스를 생성하여 다른 명령으로 동시 작업 또한 가능하다.
그림 1. PyMAPDL gRPC
먼저 PyMAPDL을 사용하기 위해서 앤시스 메커니컬(Ansys Mechanical)이 설치되어 있어야 하며, 관련 라이선스를 보유하고 있어야 한다. 현재 파이앤시스 홈페이지에 따르면 파이썬 3.8 이상 버전을 지원하고 있으며, gRPC 기반으로 사용하기 위해서 앤시스 2021 R1 이상을 권장한다.
파이썬과 앤시스 모두 설치되어 있는 환경이라면 추가적으로 PyMAPDL 라이브러리를 설치해야 한다. 터미널 창에 ‘pip install ansys-mapdl-core’ 한 줄의 입력으로 쉽게 설치되며, 버전을 따로 지정하지 않을 경우 최신 버전으로 설치된다.
PyMAPDL은 <그림 2>와 같이 ‘launch_mapdl’ 함수를 호출하여 사용한다. 이는 Mechanical APDL Product Launcher를 실행하는 것과 유사하다. 해당 함수를 활용할 때 입력 가능한 주요 인자들을 입력하여 작업 폴더 위치나 파일 이름, 계산 방식 및 라이선스 등을 지정할 수 있다.
그림 2. PyMAPDL 실행 명령어
기존에 APDL에서 육면체 형상을 모델링하여 요소를 생성하는 과정은 <그림 3>과 같이 작성되고, 동일한 작업을 PyMAPDL로는 <그림 4>와 같이 구성할 수 있다. 작성된 APDL과 PyMAPDL 명령어를 비교하면 형태가 매우 유사한 것을 볼 수 있다. 이 때 PyMAPDL은 파이썬에서 두 가지 방식으로 사용된다. 첫 번째는 ‘run’ 명령어를 활용하여 APDL 명령어를 스트링(string)으로 입력해 직접 실행하는 방법이며, 두 번째는 파이썬 명령어로 변환해서 처리하는 방법이다.
그림 3. MAPDL 모델링 및 요소 생성 예시
그림 4. PyMAPDL 모델링 및 요소 생성 예시
■ 자세한 기사 내용은 PDF로 제공됩니다.