.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "gallery/experiment/cylinder/coupling_vs_wavelength.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_coupling_vs_wavelength.py: InfiniteCylinder: Coupling vs Wavelength ======================================== This example demonstrates how to compute and visualize the coupling efficiency as a function of wavelength for cylindrical scatterers using PyMieSim. .. GENERATED FROM PYTHON SOURCE LINES 7-57 .. image-sg:: /gallery/experiment/cylinder/images/sphx_glr_coupling_vs_wavelength_001.png :alt: coupling vs wavelength :srcset: /gallery/experiment/cylinder/images/sphx_glr_coupling_vs_wavelength_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none Result dimensions and shape: ('source:wavelength', 'scatterer:diameter', 'detector:NA') (300, 5, 2) Measure units: {'coupling': } | .. code-block:: Python import PyOptik from PyMieSim import from_pyoptik import numpy as np from PyMieSim import ( Measure, ureg, CoherentModeSet, InfiniteCylinderSet, GaussianSet, PolarizationSet, Experiment, ) polarization_set = PolarizationSet( angles=[30.0] * ureg.degree, ) source = GaussianSet( wavelength=np.linspace(950, 1050, 300) * ureg.nanometer, polarization=polarization_set, optical_power=[1e-3] * ureg.watt, numerical_aperture=[0.2], ) scatterer = InfiniteCylinderSet( diameter=np.linspace(300, 500, 5) * ureg.nanometer, material=[from_pyoptik(PyOptik.load_material(name="specs/SCHOTT-optical/P-BK7"))], medium=[1], ) detector = CoherentModeSet( mode_number=["LP11"], numerical_aperture=[0.05, 0.01], phi_offset=[-180] * ureg.degree, gamma_offset=[0] * ureg.degree, sampling=[300], rotation=[0] * ureg.degree, ) experiment = Experiment(scatterer_set=scatterer, source_set=source, detector_set=detector) result = experiment.get(Measure.COUPLING) print("Result dimensions and shape:", result.dims, result.shape) print("Measure units:", result.attrs["units"]) result.plot(x="source:wavelength", std="scatterer:diameter") .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 1.617 seconds) .. _sphx_glr_download_gallery_experiment_cylinder_coupling_vs_wavelength.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_wavelength.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: coupling_vs_wavelength.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: coupling_vs_wavelength.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_