.. 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: InfiniteCylinder: 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 7-49 .. 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 +-----------------------+-----------------------+ | Sellmeier Materials | Tabulated Materials | +=======================+=======================+ | SF11 | pva | +-----------------------+-----------------------+ | air | gold | +-----------------------+-----------------------+ | test_sellmeier_file | titanium | +-----------------------+-----------------------+ | soda_lime_glass | zinc | +-----------------------+-----------------------+ | crown | paladium | +-----------------------+-----------------------+ | BAK1 | bismuth | +-----------------------+-----------------------+ | ZBLAN | polyetylene | +-----------------------+-----------------------+ | BAF10 | aluminium | +-----------------------+-----------------------+ | pvc | silicon | +-----------------------+-----------------------+ | FK51A | sodium | +-----------------------+-----------------------+ | LASF9 | calcium | +-----------------------+-----------------------+ | polystyren | nickel | +-----------------------+-----------------------+ | SF10 | test_tabulated_file | +-----------------------+-----------------------+ | fused_silica | chromium | +-----------------------+-----------------------+ | germanium | vanadium | +-----------------------+-----------------------+ | lithium_niobate | tantalum | +-----------------------+-----------------------+ | water | magnesium | +-----------------------+-----------------------+ | SF5 | example_tabulated | +-----------------------+-----------------------+ | BK7 | copper | +-----------------------+-----------------------+ | argon | lead | +-----------------------+-----------------------+ | ethanol | iron | +-----------------------+-----------------------+ | propanol | tungsten | +-----------------------+-----------------------+ | ethylene | silver | +-----------------------+-----------------------+ | acetylene | rhodium | +-----------------------+-----------------------+ | cellulose | | +-----------------------+-----------------------+ | methane | | +-----------------------+-----------------------+ | flint | | +-----------------------+-----------------------+ | acetone | | +-----------------------+-----------------------+ | polycarbonate | | +-----------------------+-----------------------+ | glycerol | | +-----------------------+-----------------------+ | ethane | | +-----------------------+-----------------------+ | polystyrene | | +-----------------------+-----------------------+ | example_sellmeier | | +-----------------------+-----------------------+ | methanol | | +-----------------------+-----------------------+
| .. code-block:: Python import numpy as np from PyMieSim.units import ureg from PyMieSim.experiment.detector_set import PhotodiodeSet from PyMieSim.experiment.scatterer_set import InfiniteCylinderSet from PyMieSim.experiment.source_set import GaussianSet from PyMieSim.experiment.polarization_set import PolarizationSet from PyMieSim.experiment import Setup from PyMieSim.material import print_available, SellmeierMaterial print_available() polarization_set = PolarizationSet( angles=[30.0] * ureg.degree, ) source = GaussianSet( wavelength=[1200] * ureg.nanometer, polarization=polarization_set, optical_power=[1e-3] * ureg.watt, numerical_aperture=[0.2], ) scatterer = InfiniteCylinderSet( diameter=[2000] * ureg.nanometer, material=[SellmeierMaterial("BK7")], medium=[1], ) detector = PhotodiodeSet( numerical_aperture=[0.5, 0.3, 0.1, 0.05], phi_offset=np.linspace(-180, 180, 200) * ureg.degree, gamma_offset=[0] * ureg.degree, sampling=[400], polarization_filter=None, ) experiment = Setup(scatterer_set=scatterer, source_set=source, detector_set=detector) dataframe = experiment.get("coupling", scale_unit=True) dataframe.plot(x="detector:phi_offset") .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.375 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 `_