PyMieSim是一個 Python 函式庫,旨在為執行 Mie 散射模擬提供強大且靈活的框架。該軟體易於安裝和操作,無論是新用戶還是經驗豐富的研究人員都可以使用。 PyMieSim 使用戶能夠探索各種配置下粒子的散射特性,並且專為研究單一散射事件以及進行大規模參數實驗而客製化。
PyMieSim 的核心包括三個針對不同類型的散射體進行最佳化的解算器:
球形顆粒
無限圓柱形粒子
核殼球形顆粒
該軟體還允許用戶根據具體的模擬需求自訂光源和探測器屬性。該軟體包是模組化的,為用戶提供了直觀的介面,可以輕鬆地對複雜的散射場景進行建模。
PyMieSim 分為兩個主要子模組:
single :專注於分析單一散射事件,例如: - 遠場分佈 - 散射相位函數 - 斯托克斯參數
實驗:旨在探索散射參數(例如 Qsca、Qext、g 和耦合(功率))在大型資料集上的表現,結合源、散射體和探測器的變化。
兩個子模組無縫協同工作,使 PyMieSim 適用於各種散射模擬。
要在 Python 中使用 PyMieSim,只需安裝該套件並開始將其合併到您的腳本中。
PyMieSim 支援 Windows、Linux、macOS(包括 Apple M1/M2 晶片)和 ARM 架構。若要安裝軟體包,請使用 pip:
pip 安裝 PyMieSim
有關更多詳細信息,請訪問文件以獲取有關如何使用該包的綜合指南。
以下是如何使用 PyMieSim 進行簡單的米氏散射模擬的範例。此範例示範如何配置光源、散射器和偵測器並擷取散射資料:
從PyMieSim.experiment.scatterer 導入numpy as npfrom PyMieSim.experiment.scatterer 導入Spherefrom PyMieSim.experiment.source 導入Gaussianfrom PyMieSim.experiment 導入Setupfrom PyMieM (400, 1000, 500) ) * 奈米,偏振=0 * 度,optical_power=1e-3 * watt,NA=0.2 * AU)散射體=球體(直徑=[200] * 奈米,property=[4] * RIU,medium_property=1 * RIU,源=源)實驗=設定(散射=散射,源=源)dataframe =實驗.get('Qsca')dataframe.plot_data(x =“源:波長”)
它產生下圖,該圖與維基百科上找到的圖相同。
這只是 PyMieSim 實際應用的一個例子。您可以在文件的範例部分找到更多範例。
以下是展示 PyMieSim 功能的更多範例:
如果您喜歡或需要手動建置專案(例如,對於 Apple 晶片裝置),請確保您安裝了 C++ 編譯器(例如 gcc)和 Fortran,以及 Python 3.7+。
git 克隆 https://github.com/MartinPdeS/PyMieSim.gitcd PyMieSim git 子模組初始化 && git 子模組更新 mkdir buildcd build cmake ../ -G"Unix Makefiles"sudo make installcd .. python -m pip install .
對於 Windows,在呼叫 CMake 時使用 MinGW Makefile,而不是 Unix Makefile。
您可以透過執行以下命令來測試本地版本的 PyMieSim:
git 克隆 https://github.com/MartinPdeS/PyMieSim.gitcd PyMieSim pip 安裝 PyMieSim[測試] Python測試
這將運行單元測試套件並提供覆蓋範圍詳細資訊。
2024 年,在本機電腦上運行程式碼是可選的!您可以利用 Google Colab 的強大功能來遠端執行 PyMieSim。使用提供的 Colab 筆記本獲得互動式體驗。
如果 PyMieSim 對您的研究做出貢獻,我們懇請您引用以下論文:
@文章{PoinsinetdeSivry-Houle:23,
作者 = {Martin Poinsinet de Sivry-Houle 和 Nicolas Godbout 和 Caroline Boudoux},
日記= {選項。連續體},
title = {PyMieSim:用於快速且靈活的遠場米氏散射模擬的開源函式庫},
音量 = {2},
數字={3},
頁數 = {520--534},
年 = {2023},
doi = {10.1364/OPTCON.473102},
}
您可以在此處訪問完整的文章
從 1.7.0 版開始,PyMieSim 為喜歡圖形模擬方法的使用者提供了實驗性 GUI。雖然仍在開發中,但 GUI 可以按以下方式安裝和存取:
pip 安裝 PyMieSim 蟒蛇-m PyMieSim
GUI 尚未像核心 Python API 那樣強大,但它提供了用於生成模擬的簡化介面。
PyMieSim 由 Martin Poinsinet de Sivry-Houle 積極開發和維護。如果您有興趣貢獻或有疑問,請隨時與我們聯繫。
電子郵件:[email protected]