PyMieSim adalah pustaka Python yang dirancang untuk menyediakan kerangka kerja yang kuat dan fleksibel untuk melakukan simulasi hamburan Mie. Perangkat lunak ini mudah dipasang dan dioperasikan, sehingga dapat diakses oleh pengguna baru dan peneliti berpengalaman. PyMieSim memungkinkan pengguna untuk mengeksplorasi sifat hamburan partikel dalam berbagai konfigurasi, dan dirancang untuk menyelidiki peristiwa hamburan tunggal, serta melakukan eksperimen parametrik skala besar.
Pada intinya, PyMieSim mencakup tiga pemecah yang dioptimalkan untuk berbagai jenis pencar:
Partikel bulat
Partikel silinder tak terbatas
Partikel bola inti-cangkang
Perangkat lunak ini juga memungkinkan pengguna untuk menyesuaikan atribut sumber cahaya dan detektor, tergantung pada kebutuhan simulasi spesifik. Paket ini bersifat modular dan menyediakan antarmuka intuitif bagi pengguna untuk memodelkan skenario hamburan yang kompleks dengan sedikit usaha.
PyMieSim disusun menjadi dua submodul utama:
tunggal : Berfokus pada analisis peristiwa hamburan individual, seperti: - Distribusi medan jauh - Fungsi fase hamburan - Parameter stokes
eksperimen : Dirancang untuk mengeksplorasi bagaimana parameter hamburan, seperti Qsca, Qext, g, dan kopling (daya), berperilaku pada kumpulan data besar, menggabungkan variasi dalam sumber, pencar, dan detektor.
Kedua submodul bekerja sama dengan lancar, membuat PyMieSim dapat beradaptasi untuk berbagai simulasi hamburan.
Untuk menggunakan PyMieSim dengan Python, cukup instal paketnya dan mulai memasukkannya ke dalam skrip Anda.
PyMieSim mendukung arsitektur Windows, Linux, macOS (termasuk chip Apple M1/M2), dan ARM. Untuk menginstal paket, gunakan pip:
pip instal PyMieSim
Untuk lebih jelasnya, kunjungi dokumentasi untuk panduan komprehensif tentang cara menggunakan paket.
Berikut adalah contoh cara menggunakan PyMieSim untuk simulasi hamburan Mie sederhana. Contoh ini menunjukkan cara mengonfigurasi sumber cahaya, pencar, dan detektor, serta mengambil data hamburan:
impor numpy sebagai npfrom PyMieSim.experiment.scatterer import Spherefrom PyMieSim.experiment.source import Gaussianfrom PyMieSim.experiment import Setupfrom PyMieSim.units import nanometer, derajat, watt, AU, RIUsource = Gaussian(panjang gelombang=np.linspace(400, 1000, 500 ) * nanometer,polarisasi=0 * derajat,daya_optik=1e-3 * watt,NA=0,2 * AU)penyebar = Bola(diameter=[200] * nanometer,properti=[4] * RIU,properti_medium=1 * RIU, sumber=sumber)eksperimen = Penyiapan(penyebar=penyebar, sumber=sumber)dataframe = eksperimen.get('Qsca')dataframe.plot_data(x="sumber:panjang gelombang")
Ini menghasilkan gambar berikut yang setara dengan yang ditemukan di wikipedia.
Ini hanyalah salah satu contoh aksi PyMieSim. Anda dapat menemukan lebih banyak contoh di bagian contoh dokumentasi.
Berikut adalah beberapa contoh yang menunjukkan kemampuan PyMieSim:
Jika Anda lebih suka atau perlu membuat proyek secara manual (misalnya, untuk perangkat silikon Apple), pastikan Anda memiliki kompiler C++ (seperti gcc) dan Fortran yang terinstal, serta Python 3.7+.
git klon https://github.com/MartinPdeS/PyMieSim.gitcd PyMieSim git submodul init && git pembaruan submodul mkdir buildcd build cmake ../ -G"Unix Makefiles"sudo make installcd .. python -m pemasangan pip.
Untuk Windows, gunakan MinGW Makefiles dan bukan Unix Makefiles saat menjalankan CMake.
Anda dapat menguji PyMieSim versi lokal dengan menjalankan perintah berikut:
git klon https://github.com/MartinPdeS/PyMieSim.gitcd PyMieSim pip instal PyMieSim[pengujian] uji coba
Ini akan menjalankan rangkaian pengujian unit dan memberikan rincian cakupan.
Pada tahun 2024, menjalankan kode di mesin lokal Anda bersifat opsional! Anda dapat memanfaatkan kekuatan Google Colab untuk menjalankan PyMieSim dari jarak jauh. Gunakan notebook Colab yang disediakan untuk pengalaman interaktif.
Jika PyMieSim berkontribusi pada penelitian Anda, kami dengan hormat meminta Anda mengutip makalah berikut:
@artikel{PoinsinetdeSivry-Houle:23,
penulis = {Martin Poinsinet de Sivry-Houle dan Nicolas Godbout dan Caroline Boudoux},
jurnal = {Pilihan. Kontinum},
title = {PyMieSim: perpustakaan sumber terbuka untuk simulasi hamburan Mie jarak jauh yang cepat dan fleksibel},
volume = {2},
angka = {3},
halaman = {520--534},
tahun = {2023},
doi = {10.1364/OPTCON.473102},
}
Anda dapat mengakses artikel selengkapnya di sini
Sejak versi 1.7.0, PyMieSim menawarkan GUI eksperimental untuk pengguna yang lebih menyukai pendekatan grafis daripada simulasi. Saat masih dalam pengembangan, GUI dapat diinstal dan diakses sebagai berikut:
pip instal PyMieSim python -m PyMieSim
GUI belum sekuat API inti Python, tetapi menyediakan antarmuka yang disederhanakan untuk menghasilkan simulasi.
PyMieSim secara aktif dikembangkan dan dikelola oleh Martin Poinsinet de Sivry-Houle. Jika Anda tertarik untuk berkontribusi atau memiliki pertanyaan, silakan menghubungi kami.
Email: [email protected]