.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/plot_bragg_mirror.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_auto_examples_plot_bragg_mirror.py: TiO2/SiO2 Bragg mirror ====================== .. GENERATED FROM PYTHON SOURCE LINES 7-11 Example of a TiO2/SiO2 Bragg mirror with 8.5 periods ---------------------------------------------------- Authors: O. Castany, M.Müller .. GENERATED FROM PYTHON SOURCE LINES 13-20 .. code-block:: Python import elli import elli.plot as elliplot import matplotlib.pyplot as plt import numpy as np np.set_printoptions(suppress=True, precision=3) .. GENERATED FROM PYTHON SOURCE LINES 21-25 Material definition ------------------- We define air as incidence material and glass as exit material. SiO2 and TiO2 are defined by simplified dispersion relations. .. GENERATED FROM PYTHON SOURCE LINES 25-34 .. code-block:: Python air = elli.AIR glass = elli.ConstantRefractiveIndex(1.5).get_mat() n_SiO2 = 1.47 n_TiO2 = 2.23 + 1j * 5.2e-4 SiO2 = elli.ConstantRefractiveIndex(n_SiO2).get_mat() TiO2 = elli.ConstantRefractiveIndex(n_TiO2).get_mat() .. GENERATED FROM PYTHON SOURCE LINES 35-42 Create layers and structure --------------------------- The SiO2 and TiO2 layers are set to the thickness of an quarterwaveplate of the respective material at 1550 nm. The layers are then stacked alternatingly and put into the complete structure with air and the glass substrate. .. GENERATED FROM PYTHON SOURCE LINES 42-58 .. code-block:: Python lbda0 = 1550 d_SiO2 = elli.get_qwp_thickness(SiO2, lbda0) d_TiO2 = elli.get_qwp_thickness(TiO2, lbda0) print("Thickness of the SiO2 QWP: {} nm".format(d_SiO2)) print("Thickness of the TiO2 QWP: {} nm".format(d_TiO2)) L_SiO2 = elli.Layer(SiO2, d_SiO2) L_TiO2 = elli.Layer(TiO2, d_TiO2) # Repeated layers: 8.5 periods layerstack = elli.RepeatedLayers([L_TiO2, L_SiO2], 8, 0, 1) s = elli.Structure(air, [layerstack], glass) .. rst-class:: sphx-glr-script-out .. code-block:: none Thickness of the SiO2 QWP: 263.6054421768708 nm Thickness of the TiO2 QWP: 173.76681614349775 nm .. GENERATED FROM PYTHON SOURCE LINES 59-61 Calculation ----------- .. GENERATED FROM PYTHON SOURCE LINES 61-70 .. code-block:: Python (lbda1, lbda2) = (1100, 2500) lbda_list = np.linspace(lbda1, lbda2, 200) data = s.evaluate(lbda_list, 0) R = data.R T = data.T .. GENERATED FROM PYTHON SOURCE LINES 71-74 Structure Graph --------------- Schema of the variation of the refractive index in z-direction. .. GENERATED FROM PYTHON SOURCE LINES 74-76 .. code-block:: Python elliplot.draw_structure(s) .. image-sg:: /auto_examples/images/sphx_glr_plot_bragg_mirror_001.png :alt: plot bragg mirror :srcset: /auto_examples/images/sphx_glr_plot_bragg_mirror_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 77-79 Reflection and Transmission Graph --------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 79-88 .. code-block:: Python fig = plt.figure() ax = fig.add_subplot(1, 1, 1) ax.plot(lbda_list, T, label="$T$") ax.plot(lbda_list, R, label="$R$") ax.legend(loc="center right") ax.set_xlabel(r"Wavelength $\lambda$ (nm)") ax.set_ylabel(r"Power reflection $R$ or transmission $T$") ax.set_title(r"Bragg mirror: Air/{TiO$_2$/SiO$_2$}x8/TiO$_2$/Glass") plt.show() .. image-sg:: /auto_examples/images/sphx_glr_plot_bragg_mirror_002.png :alt: Bragg mirror: Air/{TiO$_2$/SiO$_2$}x8/TiO$_2$/Glass :srcset: /auto_examples/images/sphx_glr_plot_bragg_mirror_002.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.238 seconds) .. _sphx_glr_download_auto_examples_plot_bragg_mirror.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_bragg_mirror.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_bragg_mirror.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_bragg_mirror.zip `