PyMieSim 은 Mie 산란 시뮬레이션을 수행하기 위한 강력하고 유연한 프레임워크를 제공하도록 설계된 Python 라이브러리입니다. 이 소프트웨어는 설치 및 작동이 간편하여 신규 사용자와 숙련된 연구자 모두가 접근할 수 있습니다. PyMieSim을 사용하면 사용자는 다양한 구성에서 입자의 산란 특성을 탐색할 수 있으며 단일 산란 이벤트를 조사하고 대규모 매개변수 실험을 수행하는 데 적합합니다.
PyMieSim의 핵심에는 다양한 유형의 산란기에 최적화된 세 가지 솔버가 포함되어 있습니다.
구형 입자
무한한 원통형 입자
코어-쉘 구형 입자
또한 이 소프트웨어를 통해 사용자는 특정 시뮬레이션 요구 사항에 따라 광원 및 감지기 속성을 맞춤 설정할 수 있습니다. 패키지는 모듈식이며 사용자가 최소한의 노력으로 복잡한 산란 시나리오를 모델링할 수 있는 직관적인 인터페이스를 제공합니다.
PyMieSim은 두 가지 기본 하위 모듈로 구성됩니다.
단일 : 다음과 같은 개별 산란 이벤트 분석에 중점을 둡니다. - 원거리 분포 - 산란 위상 함수 - 스토크스 매개변수
실험 : Qsca, Qext, g 및 결합(전력)과 같은 산란 매개변수가 소스, 산란기 및 검출기의 변형을 통합하여 대규모 데이터 세트에서 어떻게 작동하는지 탐색하기 위해 설계되었습니다.
두 하위 모듈 모두 원활하게 함께 작동하므로 PyMieSim을 광범위한 산란 시뮬레이션에 적용할 수 있습니다.
Python에서 PyMieSim을 사용하려면 패키지를 설치하고 이를 스크립트에 통합하기 시작하면 됩니다.
PyMieSim은 Windows, Linux, macOS(Apple M1/M2 칩 포함) 및 ARM 아키텍처를 지원합니다. 패키지를 설치하려면 pip를 사용하십시오.
pip 설치 PyMieSim
자세한 내용은 패키지 사용 방법에 대한 포괄적인 가이드가 있는 설명서를 참조하세요.
다음은 간단한 Mie 산란 시뮬레이션에 PyMieSim을 사용하는 방법의 예입니다. 이 예에서는 광원, 산란기 및 감지기를 구성하고 산란 데이터를 검색하는 방법을 보여줍니다.
numpy를 np로 가져오기from PyMieSim.experiment.scatterer import Spherefrom PyMieSim.experiment.source import Gaussianfrom PyMieSim.experiment import Setupfrom PyMieSim.units 가져오기 나노미터, 도, 와트, AU, RIUsource = Gaussian(wavelength=np.linspace(400, 1000, 500) ) * 나노미터,편광=0 * 도,optical_power=1e-3 * 와트,NA=0.2 * AU)산란체 = 구(직경=[200] * 나노미터,속성=[4] * RIU,medium_property=1 * RIU, 소스=소스)실험 = 설정(scatterer=scatterer, 소스=소스)dataframe = Experiment.get('Qsca')dataframe.plot_data(x="소스:파장")
Wikipedia에서 찾은 것과 동일한 다음 그림을 생성합니다.
이것은 실제로 실행되는 PyMieSim의 한 예일 뿐입니다. 설명서의 예제 섹션에서 더 많은 예제를 찾을 수 있습니다.
다음은 PyMieSim의 기능을 보여주는 몇 가지 추가 예입니다:
프로젝트를 수동으로 빌드하는 것을 선호하거나 빌드해야 하는 경우(예: Apple 실리콘 장치의 경우) C++ 컴파일러(예: gcc)와 Fortran은 물론 Python 3.7+도 설치되어 있는지 확인하세요.
자식 클론 https://github.com/MartinPdeS/PyMieSim.gitcd PyMieSim git 하위 모듈 초기화 && git 하위 모듈 업데이트 mkdir 빌드cd 빌드 cmake ../ -G"Unix Makefiles"sudo make installcd .. python -m pip 설치 .
Windows의 경우 CMake를 호출할 때 Unix Makefiles 대신 MinGW Makefiles를 사용하세요.
다음 명령을 실행하여 PyMieSim의 로컬 버전을 테스트할 수 있습니다:
자식 클론 https://github.com/MartinPdeS/PyMieSim.gitcd PyMieSim pip 설치 PyMieSim[테스트 중] 파이테스트
그러면 일련의 단위 테스트가 실행되고 적용 범위 세부 정보가 제공됩니다.
2024년에는 로컬 머신에서 코드를 실행하는 것이 선택 사항입니다! Google Colab의 강력한 기능을 활용하여 PyMieSim을 원격으로 실행할 수 있습니다. 대화형 경험을 위해 제공된 Colab 노트북을 사용하세요.
PyMieSim이 귀하의 연구에 기여했다면 다음 논문을 인용해 주시기 바랍니다.
@article{PoinsinetdeSivry-Houle:23,
작성자 = {Martin Poinsinet de Sivry-Houle 및 Nicolas Godbout 및 Caroline Boudoux},
저널 = {Opt. 연속체},
title = {PyMieSim: 빠르고 유연한 원거리장 Mie 산란 시뮬레이션을 위한 오픈 소스 라이브러리},
볼륨 = {2},
번호 = {3},
페이지 = {520--534},
연도 = {2023},
doi = {10.1364/OPTCON.473102},
}
여기에서 전체 기사에 액세스할 수 있습니다.
버전 1.7.0부터 PyMieSim은 시뮬레이션에 그래픽 접근 방식을 선호하는 사용자를 위해 실험적인 GUI를 제공합니다. 아직 개발 중이지만 다음과 같이 GUI를 설치하고 액세스할 수 있습니다.
pip 설치 PyMieSim python -m PyMieSim
GUI는 아직 핵심 Python API만큼 강력하지는 않지만 시뮬레이션 생성을 위한 단순화된 인터페이스를 제공합니다.
PyMieSim은 Martin Poinsinet de Sivry-Houle이 적극적으로 개발하고 유지 관리합니다. 참여에 관심이 있거나 질문이 있는 경우 언제든지 문의해 주세요.
이메일: [email protected]