MEEP Installation
MEEP은 전자기학 시뮬레이션을 위한 오픈 소스 소프트웨어 패키지로, 2006년 메사추세츠 공과대학교(MIT)의 ab initio 연구팀에 의해 개발되었다.
MEEP은 유한미분 시간영역(Finite-Difference Time-Domain, FDTD) 방법을 사용하여 다양하고 복잡한 전자기 현상과 구조 해석 문제를 수행할 수 있다.
Python, scheme, C++ API를 통해 사용할 수 있으며 다양한 운영체제에서 사용할 수 있다.
우리 연구실에서 운용중인 병렬연산시스템(Parallel Compute System) 3기에서 MEEP을 사용할 수 있다.
이 문서에서는 MEEP의 Python Interface의 설치방법을 다룬다.
사전 수행 사항 : miniconda 설치 (Wiki의 Python & DL 항목 참조)
conda 환경 생성
conda create -n pmeep -c conda-forge pymeep=*=mpi_mpich_*conda 환경 활성화
conda activate pmeepMPI를 이용해 MEEP 스크립트를 실행한다.
mpirun -np 4 python example.py
반드시 parallel meep 으로 설치할 필요는 없으나, 멀티코어 환경에서의 이점을 살리기 위해 추천한다.
우리 연구실에서는 각 compute note에 쉽게 연산을 분산할 수 있도록 특정 노드에서 conda container 환경을 실행하고 파이썬 스크립트를 실행할 수 있도록 하는 mprun 이라는 bash script를 사용하고 있다. 사용법을 다음과 같다.
mprun <server_name> <conda_env_name> <script_name>.py [arguments]
example
mprun n01 pmeep 2D_mie_scattering.py 100
설명 : n01 은 1번 노드에서 작업하겠다는 의미이고, pmeep 은 앞서 만든 conda container 환경 이름이다.
2D_mie_scattering.py 라는 스크립트를 실행하면서 스크립트 내부에 넣을 argument 로 100의 값을 입력한다.
해당 스크립트는 서버를 잘 찾아보거나 제작자(김영수)에게 문의 바란다.