PyMieSim เป็นไลบรารี Python ที่ได้รับการออกแบบมาเพื่อมอบเฟรมเวิร์กที่แข็งแกร่งและยืดหยุ่นสำหรับการจำลองการกระเจิงของ Mie ซอฟต์แวร์นี้ติดตั้งและใช้งานง่าย ทำให้ทั้งผู้ใช้ใหม่และนักวิจัยที่มีประสบการณ์สามารถเข้าถึงได้ PyMieSim ช่วยให้ผู้ใช้สามารถสำรวจคุณสมบัติการกระเจิงของอนุภาคภายใต้การกำหนดค่าต่างๆ และได้รับการปรับแต่งสำหรับการตรวจสอบเหตุการณ์การกระเจิงครั้งเดียว เช่นเดียวกับการดำเนินการทดลองเชิงพารามิเตอร์ขนาดใหญ่
โดยที่แกนหลัก PyMieSim มีตัวแก้ปัญหาสามตัวที่ปรับให้เหมาะสมสำหรับตัวกระจายประเภทต่างๆ:
อนุภาคทรงกลม
อนุภาคทรงกระบอกอนันต์
อนุภาคทรงกลมแกนเปลือก
ซอฟต์แวร์ยังช่วยให้ผู้ใช้ปรับแต่งคุณสมบัติของแหล่งกำเนิดแสงและตัวตรวจจับได้ ขึ้นอยู่กับความต้องการในการจำลองเฉพาะ แพคเกจเป็นแบบโมดูลาร์และมีอินเทอร์เฟซที่ใช้งานง่ายสำหรับผู้ใช้ในการสร้างแบบจำลองสถานการณ์การกระเจิงที่ซับซ้อนโดยใช้ความพยายามเพียงเล็กน้อย
PyMieSim ถูกแบ่งออกเป็นสองโมดูลย่อยหลัก:
single : มุ่งเน้นไปที่การวิเคราะห์เหตุการณ์การกระเจิงแต่ละรายการ เช่น: - การแจกแจงแบบ Far-field - ฟังก์ชันเฟสการกระเจิง - พารามิเตอร์ Stokes
การทดลอง : ออกแบบมาเพื่อสำรวจว่าพารามิเตอร์การกระเจิง เช่น Qsca, Qext, g และคัปปลิ้ง (กำลัง) ทำงานอย่างไรกับชุดข้อมูลขนาดใหญ่ โดยผสมผสานรูปแบบต่างๆ ในแหล่งที่มา กระจัดกระจาย และตัวตรวจจับ
โมดูลย่อยทั้งสองทำงานร่วมกันได้อย่างราบรื่น ทำให้ PyMieSim สามารถปรับเปลี่ยนได้สำหรับการจำลองการกระเจิงที่หลากหลาย
หากต้องการใช้ PyMieSim ใน Python เพียงติดตั้งแพ็คเกจและเริ่มรวมเข้ากับสคริปต์ของคุณ
PyMieSim รองรับ Windows, Linux, macOS (รวมถึงชิป Apple M1/M2) และสถาปัตยกรรม ARM หากต้องการติดตั้งแพ็คเกจให้ใช้ pip:
pip ติดตั้ง PyMieSim
สำหรับรายละเอียดเพิ่มเติม โปรดไปที่เอกสารประกอบเพื่อดูคำแนะนำที่ครอบคลุมเกี่ยวกับวิธีการใช้แพ็คเกจ
นี่คือตัวอย่างวิธีใช้ PyMieSim สำหรับการจำลอง Mie Scatter อย่างง่าย ตัวอย่างนี้สาธิตวิธีกำหนดค่าแหล่งกำเนิดแสง ตัวกระจาย และตัวตรวจจับ และดึงข้อมูลการกระเจิง:
นำเข้า numpy เป็น np จาก PyMieSim.experiment.scatterer นำเข้า Sphere จาก PyMieSim.experiment.source นำเข้า Gaussian จาก PyMieSim.experiment นำเข้าการตั้งค่าจาก PyMieSim.units นำเข้านาโนเมตร, องศา, วัตต์, AU, RIUsource = Gaussian (ความยาวคลื่น = np.linspace (400, 1,000, 500 ) * นาโนเมตร, โพลาไรซ์ = 0 * องศา, optical_power = 1e-3 * วัตต์, NA = 0.2 * AU) ผู้กระจาย = ทรงกลม (เส้นผ่านศูนย์กลาง = [200] * นาโนเมตร, คุณสมบัติ = [4] * RIU, medium_property = 1 * RIU, แหล่งที่มา = แหล่งที่มา) การทดลอง = การตั้งค่า (ผู้กระจาย = ผู้กระจาย, แหล่งที่มา = แหล่งที่มา) dataframe = การทดลอง.get('Qsca')dataframe.plot_data(x="source:wavelength")
มันสร้างรูปต่อไปนี้ซึ่งเทียบเท่ากับรูปที่พบในวิกิพีเดีย
นี่เป็นเพียงตัวอย่างหนึ่งของการทำงานของ PyMieSim คุณสามารถดูตัวอย่างเพิ่มเติมได้ในส่วนตัวอย่างของเอกสารประกอบ
นี่เป็นตัวอย่างเพิ่มเติมบางส่วนที่แสดงความสามารถของ PyMieSim:
หากคุณต้องการหรือจำเป็นต้องสร้างโปรเจ็กต์ด้วยตนเอง (เช่น สำหรับอุปกรณ์ Apple Silicon) ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งคอมไพเลอร์ C++ (เช่น gcc) และ Fortran รวมถึง Python 3.7+
โคลนคอมไพล์ https://github.com/MartinPdeS/PyMieSim.gitcd PyMieSim git submodule init && อัปเดตโมดูลย่อย git mkdir buildcd สร้าง cmake ../ -G "Unix Makefiles" sudo สร้าง installcd .. หลาม -m pip ติดตั้ง
สำหรับ Windows ให้ใช้ MinGW Makefiles แทน Unix Makefiles เมื่อเรียกใช้ CMake
คุณสามารถทดสอบ 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}
วารสาร = {เลือก ต่อเนื่อง},
title = {PyMieSim: ไลบรารีโอเพ่นซอร์สสำหรับการจำลองการกระเจิง Mie ในระยะไกลที่รวดเร็วและยืดหยุ่น},
ปริมาณ = {2},
จำนวน = {3},
หน้า = {520--534},
ปี = {2023},
ดอย = {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]