.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "gallery/experiment/cylinder/cylinder_coupling_vs_diameter.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_experiment_cylinder_cylinder_coupling_vs_diameter.py: Cylinder: Coupling vs Diameter ============================== This example demonstrates how to compute and visualize the coupling efficiency as a function of diameter for cylindrical scatterers using PyMieSim. .. GENERATED FROM PYTHON SOURCE LINES 9-10 Importing the package dependencies: numpy, PyMieSim .. GENERATED FROM PYTHON SOURCE LINES 10-17 .. code-block:: Python import numpy as np from PyMieSim.experiment.detector import Photodiode from PyMieSim.experiment.scatterer import Sphere from PyMieSim.experiment.source import Gaussian from PyMieSim.experiment import Setup from PyMieSim.units import nanometer, degree, watt, AU, RIU .. GENERATED FROM PYTHON SOURCE LINES 18-19 Defining the source .. GENERATED FROM PYTHON SOURCE LINES 19-26 .. code-block:: Python source = Gaussian( wavelength=[100, 1200] * nanometer, # 1200 nm polarization=90 * degree, # Polarization angle in degrees optical_power=1e-3 * watt, # 1 milliwatt NA=0.2 * AU # Numerical Aperture ) .. GENERATED FROM PYTHON SOURCE LINES 27-28 Defining the scatterer distribution .. GENERATED FROM PYTHON SOURCE LINES 28-35 .. code-block:: Python scatterer = Sphere( diameter=np.linspace(100, 300, 200) * nanometer, # Diameters ranging from 100 nm to 3000 nm property=[1.4] * RIU, # Material of the cylinder medium_property=1.0 * RIU, # Refractive index of the surrounding medium source=source ) .. GENERATED FROM PYTHON SOURCE LINES 36-37 Defining the detector .. GENERATED FROM PYTHON SOURCE LINES 37-45 .. code-block:: Python detector = Photodiode( NA=[0.1] * AU, # Numerical Apertures for the detector phi_offset=[-180.0] * degree, # Phi offset in degrees gamma_offset=[0.0] * degree, # Gamma offset in degrees sampling=600 * AU, # Number of sampling points polarization_filter=None # No polarization filter ) .. GENERATED FROM PYTHON SOURCE LINES 46-47 Setting up the experiment .. GENERATED FROM PYTHON SOURCE LINES 47-49 .. code-block:: Python experiment = Setup(scatterer=scatterer, source=source, detector=detector) .. GENERATED FROM PYTHON SOURCE LINES 50-51 Measuring the coupling efficiency .. GENERATED FROM PYTHON SOURCE LINES 51-53 .. code-block:: Python dataframe = experiment.get('coupling') .. GENERATED FROM PYTHON SOURCE LINES 54-56 Plotting the results Visualizing how the coupling efficiency varies with the cylinder diameter. .. GENERATED FROM PYTHON SOURCE LINES 56-57 .. code-block:: Python dataframe.plot_data(x="scatterer:diameter") .. image-sg:: /gallery/experiment/cylinder/images/sphx_glr_cylinder_coupling_vs_diameter_001.png :alt: cylinder coupling vs diameter :srcset: /gallery/experiment/cylinder/images/sphx_glr_cylinder_coupling_vs_diameter_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.429 seconds) .. _sphx_glr_download_gallery_experiment_cylinder_cylinder_coupling_vs_diameter.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: cylinder_coupling_vs_diameter.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: cylinder_coupling_vs_diameter.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: cylinder_coupling_vs_diameter.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_