PyAnsys는 Python+Ansys의 합성어로 Python을 통해 Ansys를 사용할 수 있는 패키지를 말한다. 이런 PyAnsys에는 다양한 패키지(총 24개)가 있는데, 이번 호에서는 Visual Studio Code를 활용한 PyMAPDL 설치 및 해석 방법에 대해서 다루어 보고자 한다.
※ 새롭게 추가되는 패키지는 https://docs.pyansys.com에서 확인 가능
PyAnsys에는 [그림 1]과 같이 다양한 패키지로 구성되어 있으며, 새로운 패키지가 추가되고 있다. 이러한 다양한 패키지를 사용하기 위해서는 Python이 반드시 필요하다.
이런 Python은 프로그램을 설계하는 프로그래밍 언어 중 하나로, Python 사이트에서 손쉽게 다운로드 및 설치가 가능하다. 그리고 Python 프로그래밍을 좀더 쉽게 사용할 수 있도록 Python IDLE Editor(Python 설치시 기본으로 설치)와 같이 편리한 기능을 갖춘 전문 Editor가 다양하게 존재한다. 전문 Editor에는 대중적으로 사용하는 Visual Studio Code(VSCode), PyCharm, Jupyter, Spyder 등이 있는데, 이번 호에서는 VSCode를 활용한 PyMAPDL 설치 및 해석 방법 기초를 다루어 본다.
[그림 1] PyAnsys Packages
PyMAPDL를 사용하기 위해서는 Ansys가 기본적으로 설치되어 있어야 하므로 Ansys 설치 후 Python을 설치한다. 이때 주의할 점으로 PyAnsys 패키지마다 구동하는 Python 버전이 다르기 때문에 Python 설치 전 반드시 사용하는 패키지에 맞는 Python 버전을 설치해야 한다. 현재 PyMAPDL의 경우 0.66 버전이 최신이며, 이때 사용할 수 있는 Python 버전은 Windows와 Linux에서 Python 3.8부터 3.11까지 사용이 가능하다.
※ 필자는 python 3.10.11을 설치하여 사용 중이며, Python 버전 확인은 https://mapdl.docs.pyansys.com에 접속하여 Getting Started 창에서 확인 가능
- Python 다운로드는 “https://www.python.org”에서 가능하며, Python 버전 확인 후 다운로드
[그림 2] Python 다운로드
- [그림 3]에서와 같이 “Add python.exe to PATH” 반드시 체크
- Python 설치파일 실행 후 “Install Now” 선택
[그림 3] Python 설치
- 명령 프롬프트(CMD) 실행 > 명령 프롬프트에서 “python” 입력
- 설치한 Python 버전 정보가 아래의 [그림 4]와 같이 나타나면 정상 설치
[그림 4] 명령 프롬프트에서 Python 정상 설치 유무 확인
- VSCode 다운로드를 위하여, “https://code.visualstudio.com” 사이트 접속
- 아래의 [그림 5]와 같이 설치파일 다운로드(OS 및 Bit 확인)
[그림 5] VSCode 다운로드
VSCode 설치파일 실행 후 아래의 [그림 6]과 같이 기본 설정(Default)으로 설치
[그림 6] VSCode 설치
VSCode는 Python 전용 Editor(Python 외에 다른 언어를 지원하는 Editor)가 아니기 때문에 반드시 Python 편집을 위해 확장(Extension) 설치가 필요하다.
- [그림 7]과 같이 좌측 하단 붉은 상자 클릭 > 검색창에서 Python 검색> Python 확장 설치
※ “Microsoft”에서 배포 중인 “Python 확장” 설치
※ Python 한국어 설정이 가능하며 설정을 원하는 경우 “Korean Language Pack for Visual Studio Code”를 검색 후 설치
[그림 7] VSCode 확장(Extension)
Python은 Local 환경에 설치된 경로에서 사용해도 되지만 사용하는 버전에 따라 필요한 라이브러리가 다를 수 있다. 즉 많은 라이브러리를 설치하여 사용하는 경우 버전 문제로 충돌이 발생할 수 있어 가상환경을 생성(프로젝트 별 Python 가상환경 생성)하는 것이 작업에 있어 매우 유리하다.
위에서 설명한 부분과 같이 버전간 충돌을 막기 위해 우선 가상환경 생성 후, 생성된 가상환경에서 PyMAPDL을 설치하는 순서로 진행한다.
※ 이번 호는 VSCode를 기준으로 가상환경을 생성하는 방법으로 그 외 Editor를 사용하는 경우 가상환경을 만드는 방법에 차이가 있을 수 있음
- [그림 8]에서와 같이 파일 > 폴더 열기... > 작업 폴더(Python) 선택
※ 필자는 로컬 디스크(C:)에서 Python이라는 폴더를 미리 생성함
[그림 8] 작업 폴더 지정
- [그림 9]에서와 같이 VSCode 터미널에서 “python -m venv PyMAPDL(가상환경 명)” 입력
- 새 환경이 생성되었음을 확인했습니다... 팝업에서 “아니요” 선택
※ -m 옵션은 Python 모듈을 실행할 때 사용되는 옵션으로 venv 모듈을 실행하는 것을 의미
※ venv는 Virtual Environment의 줄임말로 Python에 내장된 가상환경 모듈을 의미
※ PyMAPDL은 새로운 가상환경의 이름을 지정하는 부분(사용자 각자 원하는 이름으로 지정)
[그림 9] 가상환경 생성
위의 [그림 9]와 같이 가상환경 생성 후 사용하기 위해 활성화(Activate)를 진행해야 하는데, 활성화 방법은 아래와 같다.
- [그림 10]에서와 같이 “PyMAPDL\Scripts\activate”를 터미널에 입력하여 활성화
[그림 10] 가상환경 활성화(Activate)
활성화시 [그림 10]에서와 같이 “이 시스템에서 스크립트를 실행할 수 없으므로...”라는 권한 관련 문구가 나오는 경우 아래의 [그림 11]에서와 같이 권한 설정을 진행한다.
- Windows PowerShell을 관리자 권한으로 실행>“set-ExecutionPolicy RemotsSigned” 입력
- 입력 시 실행 규칙 변경 관련 문과 확인>“Y” 입력
※ 권한 문제가 없는 경우 위의 단계는 생략 후 진행
[그림 11] Windows PowerShell에서 권한 설정
권한 문제 해결 후 VSCode에서 가상환경 활성화(PyMAPDL\Scripts\activate)를 다시 입력하게 되면 [그림 12]와 같이 “(PyMAPDL) PS C: \Python>” 부분이 초록색으로 표시되면 가상환경 설정이 완료된 것이다.
VSCode는 특정 가상환경에 연결된 Python 인터프리터를 사용하여 코드를 실행한다. 즉 인터프리터를 선택함으로써 Python 버전 및 패키지를 자동으로 감지하고 이를 기반으로 코드를 분석하고 디버깅을 할 수 있기 때문에 반드시 설정하여야 한다.
- [그림 12]에서와 같이 우측 하단에서 Python 3.10.11 64-bit 클릭 > 상단에서 Python 3.10.11(‘PyMAPDL’:venv)... 클릭하여 선택
※ 다른 방법으로 Ctrl+Shift+P > 검색창 활성화 > ”python select interpreter” 입력 시 [그림 12]와 동일한 설정 가능
[그림 12] 인터프리터 선택(Python Select Interpreter) 설정
PyMAPDL 설치를 위한 요구조건으로 Ansys가 설치되어 있어야 한다.
- 설치가 완료되었다면 [그림 13]에서와 같이 “pip install ansys-mapdl-core” 입력
- PyMAPDL에 필요한 라이브러리 자동 설치
- 설치 완료 후 [그림 14]와 같이 “pip list” 입력
- PyMAPDL 관련 라이브러리 확인
[그림 13] PyMAPDL 설치
[그림 14] PyMAPDL 관련 라이브러리 확인
PyMAPDL은 이전 설명과 같이 Python 환경에서 MAPDL을 사용할 수 있도록 하는 라이브러리로, gRPC를 기반으로 Python에서 명령을 전송하면 MAPDL에서 응답을 받는 방식으로 진행된다.
※ gRPC(Google Remote Procedure Call): 다른 주소 공간에서 함수를 실행할 수 있게 하는 프로세스 통신 기술
우선 PyMAPDL을 사용하기 위해서는 MAPDL 명령어를 사용하기 때문에 기본적으로 MAPDL 명령에 익숙해야 사용이 용이하다. 이번 호는 “기초편”으로 PyMAPDL 실행부터 Keypoint, Line, Area 생성 후 실제로 MAPDL에서의 구동 여부를 확인할 예정이며, 추후 매거진(활용편)에서 조금 더 자세한 내용을 다룰 예정이다.
- 아래와 [그림 15]에서와 같이 VSCode에서 명령어 입력
- 명령어 입력 후 우측 상단의 “▷” 아이콘 클릭
- [그림 16]에서와 같이 MAPDL 실행, Keypoint, Line, Area 생성 확인
※ 명령어의 상세한 내용은 [그림 17] 참조
[그림 15] VSCode에서 명령어 입력
[그림 16] MAPDL 실행 화면
[그림 17] MAPDL 명령어(MAPDL 실행, Keypoint 생성 등)
“시작이 반이다. 무슨 일이든 시작하기가 어렵지 일단 시작하면 일을 끝마치기는 그리 어렵지 않다.”라는 속담이 있다. 막연히 Python 코딩... MAPDL 명령어... 영문에 복잡해 보이는 명령어들... 할 수 있을까? 라는 고민을 많이 하고 있을 것이다. 많은 고민도 좋지만 Python, VSCode, PyMAPDL 하나씩 설치해서 한번 부딪쳐 보는 것은 어떨까?