.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "gallery/extras/coupling_vs_NA.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_gallery_extras_coupling_vs_NA.py: Sphere: Coupling vs numerical aperture ====================================== .. GENERATED FROM PYTHON SOURCE LINES 7-8 Importing the package dependencies: numpy, PyMieSim .. GENERATED FROM PYTHON SOURCE LINES 8-15 .. code-block:: Python import numpy as np from TypedUnit import ureg from PyOptik import Material from PyMieSim import experiment from PyMieSim import single .. GENERATED FROM PYTHON SOURCE LINES 16-17 Defining the source to be employed. .. GENERATED FROM PYTHON SOURCE LINES 17-24 .. code-block:: Python source = experiment.source.Gaussian( wavelength=500 * ureg.nanometer, polarization=0 * ureg.degree, optical_power=1e-3 * ureg.watt, NA=0.2 * ureg.AU, ) .. GENERATED FROM PYTHON SOURCE LINES 25-26 Defining the ranging parameters for the scatterer distribution .. GENERATED FROM PYTHON SOURCE LINES 26-33 .. code-block:: Python scatterer = experiment.scatterer.Sphere( diameter=500e-9 * ureg.meter, property=Material.BK7, medium_property=1 * ureg.RIU, source=source, ) .. GENERATED FROM PYTHON SOURCE LINES 34-35 Defining the detector to be employed. .. GENERATED FROM PYTHON SOURCE LINES 35-42 .. code-block:: Python detector = experiment.detector.Photodiode( NA=np.linspace(0.1, 1, 150) * ureg.AU, phi_offset=0 * ureg.degree, gamma_offset=[0, 10] * ureg.degree, sampling=2000 * ureg.AU, ) .. GENERATED FROM PYTHON SOURCE LINES 43-44 Defining the experiment setup .. GENERATED FROM PYTHON SOURCE LINES 44-46 .. code-block:: Python setup = experiment.Setup(scatterer=scatterer, source=source, detector=detector) .. GENERATED FROM PYTHON SOURCE LINES 47-48 Measuring the properties .. GENERATED FROM PYTHON SOURCE LINES 48-50 .. code-block:: Python dataframe = setup.get("coupling", drop_unique_level=True) .. GENERATED FROM PYTHON SOURCE LINES 51-52 Plotting the results .. GENERATED FROM PYTHON SOURCE LINES 52-70 .. code-block:: Python dataframe.plot(x="detector:NA") single_source = single.Gaussian( wavelength=950 * ureg.nanometer, polarization=0 * ureg.degree, optical_power=1e-3 * ureg.watt, NA=0.2 * ureg.AU, ) single_scatterer = single.scatterer.Sphere( diameter=500 * ureg.nanometer, property=Material.BK7, medium_property=1 * ureg.RIU, source=single_source, ) print(single_scatterer.Qsca * 1e-3) .. image-sg:: /gallery/extras/images/sphx_glr_coupling_vs_NA_001.png :alt: coupling vs NA :srcset: /gallery/extras/images/sphx_glr_coupling_vs_NA_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none 0.0010531644483825241 dimensionless .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.389 seconds) .. _sphx_glr_download_gallery_extras_coupling_vs_NA.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: coupling_vs_NA.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: coupling_vs_NA.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: coupling_vs_NA.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_