이번에 새로 사용해 보게 된 Pyleecan이라는 오픈 소스에 대해 소개하겠습니다.
저도 아직 초보자라 홈페이지 기반의 내용으로 소개 드리며, 향후 Pyleecan 설치 및 사용법은 직접 활용해 가면서
업로드 하도록 하겠습니다. (점점 발전되는 모습이 보였으면 좋겠네요)
=================================================================================================
[소개]
전기 기계 (모터)의 다중 물리 설계 및 최적화용 파이썬 오픈 소스인 Pyleecan입니다.
Pyleecan 은 Green Forge Coop 비영리 협회에서 지원받고 개발되는 오픈소스입니다.
여기에서는 Pyleecan 뿐만 아니라 Mosqito라는 음질 관련 개발도 지원 중인 것으로 알고 있습니다.
[구성]
PYLEECAN 아래와 같이 여러 폴더로 구성되어 있습니다.
- Classes 폴더에는 코드 생성기에 의해 구축된 모든 클래스가 들어 있습니다 .
- Method 폴더에는 하위 폴더에 유형별로 정렬된 클래스의 모든 메서드가 포함되어 있습니다.
- 기계, 슬롯, 시뮬레이션, 재료 등등
- GUI 폴더에는 위젯 별로 정렬된 그래픽 사용자 인터페이스에 대한 코드가 들어 있습니다.
Design부터 물성 선정까지 가능하게 되어 있는 GUI입니다.
( 구경만 해봤지 아직 사용은 해보지 못했습니다.) - 기능 폴더에는 여러 방법(예: FFT 계산, 다른 소프트웨어와의 상호 작용 등)에서 사용할 수 있는 일반 기능이 포함되어 있습니다.
- 테스트 폴더에는 모든 단위 테스트 및 유효성 검사 사례가 포함되어 있습니다.
PYLEECAN의 객체 지향 코드는 여러 하위 객체로 구성된 세 가지 주요 객체로 나뉩니다.
세 가지 주요 개체는 다음과 같습니다.
- 기계 : 모든 전기 기계 토폴로지 데이터를 저장하고 "고유" 수량을 계산할 수 있습니다. 적층, 권선, 특정 재료 특성 등을 가진 전기 기계와 같은 물리적 개체로 생각할 수 있습니다.
- 시뮬레이션 : 전기 기계와 드라이브 개체를 연결할 때 시뮬레이션할 대상(드라이브 개체는 전기 드라이브 하드웨어 및 소프트웨어 매개변수를 저장함)과 시뮬레이션 방법(모델링 가정)을 정의합니다.
- 출력 : 모든 연산 결과를 저장하고 후처리 방법을 제공합니다.
3개의 객체로의 이러한 분리는 PYLEECAN의 유연성의 핵심입니다.
[모델링 방법 1 _ GUI 이용 방법]
그림과 같이 Pyleecan GUI를 실행하여 모델링을 하는 방법이 있습니다. 편리해 보이지만 아직 사용을 많이 안 해봐서
평가하기는 힘들며, 다만 물성 라이브러리가 기본적으로는 작기 때문에 입력해서 써야 하는 것으로 보입니다.
그 외에는 깔끔하게 되어 있는 편입니다.
Pyleecan 단독으로 사용할 때 좋은 방법일 듯합니다.
[모델링 방법 2 _ Script 이용 방법]
그림과 같이 우리가 주로 코딩을 할 때 볼 수 있는 Script 방식으로도 모델링 및 설계, 최적화가 가능합니다.
아무래도 이 방법이 다른 S/W이 Co-Simulation 혹은 Link 등에 용이한 방식이 될 것으로 보입니다.
다중 물리 설계 및 최적화 용도로 봤을 땐 특히나 Scrip에 대해 많은 공부가 필요할 것으로 생각됩니다.
[설계, 최적화, 결과, Output ]
출처 : Pyleecan 홈페이지
모델링을 하고 Simulation과정을 거치면 모터의 특성 값들은 물론이며, Animation까지도 볼 수 있습니다.
Pyleecan에 대한 소개는 여기까지 마치고, 더욱 공부하여 사용법으로 다시 찾아오겠습니다.
=================================================================================================
'데이터 및 Programing > Part1. Basic Knowledge' 카테고리의 다른 글
[ML Algorithm] Decision Tree (머신러닝, 의사결정나무, 엔트로피, 가지치기) (0) | 2022.01.29 |
---|---|
머신러닝, 딥러닝 학습 , 최적화(Optimization)에 대해서 (SGD, Momentum, RMSProp, Adam) (0) | 2022.01.15 |
딥러닝(Deep Learning)의 정의와 역사, 신경망의 정의와 활용 (0) | 2022.01.11 |
머신러닝(Machine Learning)의 정의 와 분류 (0) | 2022.01.06 |
객체 탐지(Object Detection)의 소개와 종류, 기술의 흐름 (0) | 2021.10.13 |