.. 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_phioffset.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_phioffset.py: Cylinder: Goniometer ==================== This example demonstrates how to use a goniometer setup to measure and visualize the coupling efficiency as a function of angular displacement for cylindrical scatterers using PyMieSim. .. GENERATED FROM PYTHON SOURCE LINES 9-10 Importing the package dependencies: numpy, PyMieSim .. GENERATED FROM PYTHON SOURCE LINES 10-19 .. code-block:: Python import numpy as np from TypedUnit import ureg from PyMieSim.experiment.detector import Photodiode from PyMieSim.experiment.scatterer import Cylinder from PyMieSim.experiment.source import Gaussian from PyMieSim.experiment import Setup from PyOptik import Material .. GENERATED FROM PYTHON SOURCE LINES 20-21 Defining the source .. GENERATED FROM PYTHON SOURCE LINES 21-28 .. code-block:: Python source = Gaussian( wavelength=1200 * ureg.nanometer, # 1200 nm polarization=90 * ureg.degree, # Polarization angle in ureg.degrees optical_power=1e-3 * ureg.watt, # 1 milliureg.watt NA=0.2 * ureg.AU, # Numerical Aperture ) .. GENERATED FROM PYTHON SOURCE LINES 29-30 Defining the scatterer distribution .. GENERATED FROM PYTHON SOURCE LINES 30-37 .. code-block:: Python scatterer = Cylinder( diameter=2000 * ureg.nanometer, # 2000 nm property=Material.BK7, # Material of the cylinder medium_property=1 * ureg.RIU, # Refractive index of the surrounding medium source=source, ) .. GENERATED FROM PYTHON SOURCE LINES 38-39 Defining the detector .. GENERATED FROM PYTHON SOURCE LINES 39-48 .. code-block:: Python detector = Photodiode( NA=[0.5, 0.3, 0.1, 0.05] * ureg.AU, # Array of Numerical Apertures for the detector phi_offset=np.linspace(-180, 180, 200) * ureg.degree, # Angular displacement from -180 to 180 ureg.degrees gamma_offset=0 * ureg.degree, # Gamma offset in ureg.degrees sampling=400 * ureg.AU, # Number of sampling points polarization_filter=None, # No polarization filter ) .. GENERATED FROM PYTHON SOURCE LINES 49-50 Setting up the experiment .. GENERATED FROM PYTHON SOURCE LINES 50-52 .. code-block:: Python experiment = Setup(scatterer=scatterer, source=source, detector=detector) .. GENERATED FROM PYTHON SOURCE LINES 53-54 Measuring the coupling efficiency .. GENERATED FROM PYTHON SOURCE LINES 54-56 .. code-block:: Python dataframe = experiment.get("coupling", scale_unit=True) .. GENERATED FROM PYTHON SOURCE LINES 57-59 Plotting the results Visualizing how the coupling efficiency varies with angular displacement. .. GENERATED FROM PYTHON SOURCE LINES 59-60 .. code-block:: Python dataframe.plot(x="detector:phi_offset") .. image-sg:: /gallery/experiment/cylinder/images/sphx_glr_cylinder_coupling_vs_phioffset_001.png :alt: cylinder coupling vs phioffset :srcset: /gallery/experiment/cylinder/images/sphx_glr_cylinder_coupling_vs_phioffset_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.432 seconds) .. _sphx_glr_download_gallery_experiment_cylinder_cylinder_coupling_vs_phioffset.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_phioffset.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: cylinder_coupling_vs_phioffset.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: cylinder_coupling_vs_phioffset.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_