.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "gallery/experiment/cylinder/Qsca_vs_index.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_Qsca_vs_index.py: InfiniteCylinder: Qsca vs Index =============================== This example demonstrates how to compute and visualize the scattering efficiency (Qsca) as a function of refractive index for cylindrical scatterers using PyMieSim, considering multiple wavelengths. .. GENERATED FROM PYTHON SOURCE LINES 7-43 .. image-sg:: /gallery/experiment/cylinder/images/sphx_glr_Qsca_vs_index_001.png :alt: Qsca vs index :srcset: /gallery/experiment/cylinder/images/sphx_glr_Qsca_vs_index_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none Result dimensions and shape: ('measure', 'source:wavelength', 'scatterer:material') (2, 3, 1500) Measure units: {'Qsca': , 'Qext': } /opt/hostedtoolcache/Python/3.11.17/x64/lib/python3.11/site-packages/matplotlib/cbook.py:1719: ComplexWarning: Casting complex values to real discards the imaginary part return math.isfinite(val) /opt/hostedtoolcache/Python/3.11.17/x64/lib/python3.11/site-packages/matplotlib/cbook.py:1355: ComplexWarning: Casting complex values to real discards the imaginary part return np.asarray(x, float) | .. code-block:: Python import numpy as np from PyMieSim import ( Measure, ureg, InfiniteCylinderSet, GaussianSet, PolarizationSet, Experiment, ) polarization_set = PolarizationSet( angles=[30.0] * ureg.degree, ) source = GaussianSet( wavelength=[500, 1000, 1500] * ureg.nanometer, polarization=polarization_set, optical_power=[1e-3] * ureg.watt, numerical_aperture=[0.2], ) scatterer = InfiniteCylinderSet( diameter=[800] * ureg.nanometer, material=np.linspace(1.3, 1.9, 1500), medium=[1.0], ) experiment = Experiment(scatterer_set=scatterer, source_set=source) result = experiment.get(Measure.QSCA, Measure.QEXT) print("Result dimensions and shape:", result.dims, result.shape) print("Measure units:", result.attrs["units"]) result.plot(x="scatterer:material", y="Qsca") .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.483 seconds) .. _sphx_glr_download_gallery_experiment_cylinder_Qsca_vs_index.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: Qsca_vs_index.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: Qsca_vs_index.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: Qsca_vs_index.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_