Skip to Main Content

      

ANSYS 블로그

November 15, 2022

Python 세계에서 Ansys의 강력한 기능에 액세스

Python은 세계에서 가장 인기 있는 프로그래밍 언어이며 Python 생태계에는 개발자가 자유롭게 새로운 솔루션을 만드는 데 사용할 수 있는 풍부한 오픈 소스 코드 라이브러리가 포함되어 있습니다. PyAnsys 코드 라이브러리는 개발자가 Ansys 기반 시뮬레이션을 Python 기반 프로젝트에 통합할 수 있도록 하여 새로운 지평을 열었습니다.

시뮬레이션을 보는 한 가지 방법은 다음과 같습니다. 시뮬레이션은 동일한 인사이트를 제공하기 위해 실제 작업을 수행할 필요 없이 인사이트를 제공합니다. 고가의 프로토타입을 파손하거나 제작하지 않고도 응력을 테스트할 수 있습니다. 열, 전기, 유체 등 새로운 설계의 특성은 실제 온도, 압력, 전류 또는 흐름을 생성하지 않고도 탐색할 수 있습니다. 실제로 경험을 만들지 않고도 경험을 통해 얻을 수 있는 인사이트를 얻을 수 있으며, 이러한 인사이트를 얻는 데 50년 또는 100년이 걸리거나 수백만 달러에 달하는 프로토타입을 파괴해야 하는 경우 특히 유용합니다.

시뮬레이션으로 구현된 세계에서 수행해야 하는 유일한 실제 작업은 시뮬레이션 자체의 결과 구성, 실행 및 공유와 관련된 수동 작업입니다.

그러나 디지털 스레드를 연결하는 PyAnsys 및 기타 Ansys 솔루션 덕분에 이마저도 바뀌고 있습니다.

PyAnsys는 사용자가 전례 없는 방식으로 MAPDL, AEDT 등을 포함한 Ansys 제품과 상호 작용할 수 있게 해주는 Python 패키지 제품군입니다. 이 패키지는 사용자가 Ansys 시뮬레이션 스택을 사용하여 광범위한 다중물리 시뮬레이션 실행을 스크립팅할 수 있을 뿐만 아니라 다른 자동화 작업에 시뮬레이션을 통합하는 워크플로를 스크립팅할 수 있는 최신 프로그래밍 가능 인터페이스를 사용자에게 제공합니다. 

3D polar plot of antenna array output using PyAEDT

PyAEDT를 사용한 안테나 배열 출력의 3D 극좌표계.

왜 Python인가?

그렇다면 왜 Python일까요? Ansys Parametric Design Language(APDL)은 오랫동안 Ansys 제품과 상호 작용하기 위한 광범위한 스크립팅 및 제어 기능을 제공해 왔습니다. 개인 사용자는 시뮬레이션의 설정, 실행 및 사후 처리를 용이하게 하는 APDL(또는 APDL에 구축된 유한 요소 분석 프로그램인 Mechanical APDL[MAPDL])에 스크립트를 작성할 수 있습니다. Ansys Customization Tool Kit(ACT)는 Ansys Mechanical에서 시뮬레이션을 제어하고 자동화하기 위한 기능도 제공합니다. 하지만 그게 전부였습니다. ‍툴 내에서만 이러한 도구의 스크립팅 기능을 사용할 수 있습니다. APDL, MAPDL 또는 ACT 외부의 Ansys 제품과 프로그래밍 방식으로 상호 작용하는 메커니즘이 없었습니다.

하지만 2016년 Python 개발자이자 Ansys MAPDL 사용자인 알렉스 카진스키(Alex Kaszynski)가 Python을 사용하여 MAPDL과 상호 작용할 수 있는 코드 라이브러리를 만들었을 때 상황이 바뀌었습니다. Python 언어는 학교에서 널리 가르치고 수많은 개발자들에게 열광적으로 받아들여지고 있으며, Python 생태계에는 개발자들이 자신의 애플리케이션을 만들기 위해 끌어낼 수 있는 풍부한 공용 및 전용 코드 리포지토리가 있습니다. Kaszynski는 PyMAPDL이라는 코드 라이브러리를 오픈 소스 온라인 코드 리포지토리인 GitHub에 게시했습니다. 여기에서 관심 있는 사용자들은 다운로드하여 MAPDL 사용과 관련된 자신의 프로젝트에 기능을 통합할 수 있습니다. 

그리고 사용자들은 이를 다운로드했습니다. PyMAPDL은 무료로 사용할 수 있게 되었습니다. Ansys MAPDL과 상호 작용하려는 사용자는 해당 애플리케이션에 라이선스를 ‍구매해야 했지만, 곧 Ansys 사용자가 Ansys 시뮬레이션 스택과 프로그래밍 방식으로 상호 작용할 수 있는 기능을 매우 원한다는 것이 분명해졌습니다

이러한 열정은 Ansys에서도 분명하게 드러났고, Ansys는 카진스키를 고용하여 그가 시작한 작업을 계속할 수 있도록 격려했습니다.  

Exhaust manifold mesh postprocessing using  PyFluent

PyFluent를 사용한 배기 매니폴드 메시 후처리.

PyFluent postprocessing  showing an iso-surface of the velocity of flow in an exhaust manifold

배기 매니폴드 내 유속의 등위면을 보여주는 PyFluent 후처리.

Python 방식으로 앞으로 나아가기

그 작업은 현재 진행 중입니다. 이 글을 쓰는 시점에서 GitHub의 PyAnsys 페이지는 Ansys 제품과 "Python 방식으로" 상호 작용하는 데 사용할 수 있는 다양한 패키지를 제공합니다.

  • 전자 시뮬레이션: PyAEDT
  • 고체 역학 시뮬레이션: PyMAPDL
  • 유체 시뮬레이션: PyFluent, PyFluent-Parametric, PyFluent-Visualization
  • 후처리: PyDPF-Core, PyDPF-Post
  • 재료 관리: Granta MI BoM Analytics

또한 GitHub의 PyAnsys 페이지는 패키지 상호 운용성을 촉진하고 유지 관리를 최소화하는 다양한 공유 구성 요소에 대한 액세스를 제공합니다.

Python 에코시스템은 사용자가 맞춤형 사용자 인터페이스(UI)로 웹 애플리케이션을 만들 수 있는 코드 라이브러리를 제공하므로 PyAnsys 제품은 이러한 맞춤형 UI에서 쉽게 호출할 수 있습니다. 사용자가 각 개별 Ansys 제품과 관련된 UI에 익숙할 필요가 없기 때문에 PyAnsys 기반 프로젝트를 사용하기가 매우 쉽습니다. 여러 다른 Ansys 시뮬레이션 도구에 액세스하는 Python 스크립트도 사용자에게 자동화되는 워크플로와 관련된 옵션 및 입력 요구 사항만 있는 UI를 제공할 수 있습니다.

GitHub 커뮤니티는 다른 사람들이 사용할 수 있도록 PyAnsys 기반 프로젝트를 업로드하는 데 적극적이었고 Ansys는 프로젝트를 검토하고 개발자와 협력하여 그들의 아이디어를 새로운 PyAnsys 패키지에 통합했습니다. 패키지(전체 문서 및 코드 예제 포함)는 MIT 라이선스에 따라 GitHub에서 오픈 소스 라이브러리로 계속 제공됩니다.

또한 Ansys Developer Experience는 광범위한 개발자 에코시스템이 Ansys와 상호 작용하도록 장려하고 활성화하도록 설계된 디지털 플랫폼으로 도입되었습니다. 이 플랫폼에는 개발자 포털, P2P 토론 포럼, Ansys 문서 및 도구에 대한 액세스가 포함되어 있어 개발자가 신속하게 시작하고 실행할 수 있습니다. Ansys가 새롭고 떠오르는 Ansys 기술을 사용하여 개발자를 지원하기 위한 전용 플랫폼과 리소스를 보유한 것은 이번이 처음입니다. 개발자 경험은 관련 리소스에 보다 쉽게 액세스하고 기술 지원을 받아 사용자 경험을 개선하는 동시에 개발자 생태계가 성장하고 성숙하도록 장려하는 것을 목표로 합니다. 

MAPDL volume plot of a lathe cutter

선반 커터의 MAPDL 볼륨 플롯.

MAPDL modal principal stresses of lathe cutter

선반 커터의 MAPDL 모달 주응력.

실제 이점

PyAnsys는 전 세계 사용자들에게 실질적인 이점을 제공합니다. 예를 들어, 독일의 시스템 설계 및 엔지니어링 회사인 Bewind GmbH의 엔지니어링 팀은 PyAnsys를 사용하여 풍력 터빈 블레이드의 피로를 보다 정확하고 효과적으로 평가하기 위한 맞춤형 자동화 워크플로를 생성합니다. 이 접근 방식은 Ansys 솔버의 예측 정확도를 사용하여 블레이드가 구조상 안정적이고 운영 효율적인지 확인함으로써 시간과 비용을 크게 절약합니다.

다른 회사에서는 ‍머신러닝(ML) 또는 인공 지능(AI) 시스템을 교육하는 데 사용할 수 있는 것과 같은 반복적이고 복잡한 시뮬레이션을 자동화하기 위해 이미 PyAnsys를 사용하고 있습니다. 이러한 시스템을 교육하려면 수천 개의 시뮬레이션이 필요할 수 있으며 Python 스크립트를 통해 프로그래밍 방식으로 실행을 관리할 수 있는 경우 이러한 시뮬레이션의 실행 및 분석 관리가 훨씬 쉬워집니다. 여전히 다른 회사들은 새로울 것 없는 복잡한 작업의 불완전한 반복에서 발생하는 인간의 오류 가능성을 줄이기 위해 반복적인 시뮬레이션이 정확히 같은 방식으로 수행되도록 돕기 위해 PyAnsys를 채택하고 있습니다.

Python을 사용하여 프로세스를 오케스트레이션하는 기능은 엔지니어가 활동이 수행되는 방식을 재고할 수 있는 기회를 제공합니다. 예를 들어 Python 스크립트는 별도의 리소스를 사용하여 병렬로 실행할 수 있는 작업으로 복잡한 워크플로를 분할하여 워크플로를 완료하는 데 필요한 시간을 크게 줄일 수 있습니다. 이전에는 구조 팀, 유체 팀 및 열 팀(각각 전통적으로 서로 다른 도구에서 순차적으로 시뮬레이션 실행) 간에 지속적인 조정 및 핸드오프가 필요했던 활동을 이제 스크립트로 캡처하여 연결된 디지털 스레드의 다른 솔루션과 함께 사용하여 모든 팀이 필요로 하는 정보를 제공할 수 있습니다.

최종 사용자와 개발자 모두에게 PyAnsys 패키지의 가용성과 Ansys 시뮬레이션을 더 광범위한 활동 생태계에 통합하는 기능은 새로운 문을 엽니다. 오늘날 많은 조직이 PyAnsys를 사용하여 기존 프로세스를 자동화하고 있습니다. 이는 알려진 프로세스이며 특정 방식으로 수행해야 하는 프로세스이기 때문에 의미가 있습니다. 그러나 PyAnsys는 또한 Ansys 시뮬레이션 스택을 이전에는 시도하지 않았던 워크플로우에 Ansys 시뮬레이션 스택을 통합할 수 있는 기회도 제공합니다. PyAnsys는 상호 연결된 혁신과 궁극적으로 디지털 변환을 가능하게 하는 또 다른 Ansys 기술입니다.

Ansys Developer Experience 사이트를 방문하십시오. 

당신을 위한 Ansys 솔루션을 알아보십시오.

문의하기

* = 필수 항목

문의해 주셔서 감사합니다!

여러분의 질문에 답변해 드리기 위해 최선을 다하겠습니다. Ansys 담당 엽업이 곧 연락을 드릴 것입니다.

바닥글 이미지