{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Dispersive materials" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction / Setup\n", "\n", "Run this notebook in your browser using [Binder](https://mybinder.org/v2/gh/flexcompute-readthedocs/tidy3d-docs/readthedocs?labpath=docs%2Fsource%2Fnotebooks%2FDispersion.ipynb).\n", "\n", "Here we show to to model dispersive materials in Tidy3D with an example showing transmission spectrum of a multilayer stack of slabs." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:24:54.792070Z", "iopub.status.busy": "2022-07-21T20:24:54.791543Z", "iopub.status.idle": "2022-07-21T20:24:55.772194Z", "shell.execute_reply": "2022-07-21T20:24:55.771642Z" }, "tags": [] }, "outputs": [], "source": [ "# standard python imports\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "import tidy3d as td\n", "from tidy3d import web" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, let us define some basic parameters." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:24:55.774281Z", "iopub.status.busy": "2022-07-21T20:24:55.774113Z", "iopub.status.idle": "2022-07-21T20:24:55.777540Z", "shell.execute_reply": "2022-07-21T20:24:55.777108Z" }, "tags": [] }, "outputs": [], "source": [ "# Wavelength and frequency range\n", "lambda_range = (0.5, 1.5)\n", "lam0 = np.sum(lambda_range)/2\n", "freq_range = (td.constants.C_0/lambda_range[1], td.constants.C_0/lambda_range[0])\n", "Nfreq = 333\n", "\n", "# frequencies and wavelengths of monitor\n", "monitor_freqs = np.linspace(freq_range[0], freq_range[1], Nfreq)\n", "monitor_lambdas = td.constants.C_0 / monitor_freqs\n", "\n", "# central frequency, frequency pulse width and total running time\n", "freq0 = monitor_freqs[Nfreq // 2]\n", "freqw = 0.3 * (freq_range[1] - freq_range[0])\n", "t_stop = 100 / freq0\n", "\n", "# Thicknesses of slabs\n", "t_slabs = [0.5, 0.2, 0.4, 0.3] # um\n", "\n", "# Grid resolution (cells per um)\n", "res = 150\n", "\n", "# space between slabs and sources and PML\n", "spacing = 1 * lambda_range[-1]\n", "\n", "# simulation size\n", "sim_size = Lx, Ly, Lz = (1.0, 1.0, 4*spacing + sum(t_slabs))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Defining Materials (4 Ways)\n", "\n", "Here, we will illustrate defining materials in four different ways:\n", "\n", "1. Simple, lossless, dispersionless dielectric defined by a real-valued relative permittivity.\n", "2. Lossy material defined by real and imaginary part of the refractive index ($n$) and ($k$) at a given frequency. Values are exact only at that frequency, so this approach is only good for narrow-band simulations.\n", "3. Simple, lossless dispersive material (one-pole fitting) defined by the real part of the refractive index $n$ and the dispersion $\\mathrm{d}n/\\mathrm{d}\\lambda$ at a given frequency. The dispersion must be negative. This is a convenient approach to incorporate weakly dispersive materials in your simulations, as the values can be taken directly from [refractiveindex.info](https://refractiveindex.info/)\n", "4. Dispersive material imported from our pre-defined library of materials.\n", "\n", "More complicated dispersive materials [can also be defined](https://docs.simulation.cloud/en/latest/api.html#dispersive-mediums) through dispersive models like Lorentz, Sellmeier, Debye, or Drude, if the model parameters are known. Finally, arbitrary dispersion data can also be fit, which is a the subject of [this tutorial](https://docs.simulation.cloud/en/latest/notebooks/Fitting.html)." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:24:55.779066Z", "iopub.status.busy": "2022-07-21T20:24:55.778895Z", "iopub.status.idle": "2022-07-21T20:24:55.781480Z", "shell.execute_reply": "2022-07-21T20:24:55.781272Z" }, "tags": [] }, "outputs": [], "source": [ "# simple, lossless, dispersionless material (either epsilon or n)\n", "mat1 = td.Medium(permittivity=4.0)\n", "\n", "# lossy material with n & k values at a specified frequency or wavelength\n", "mat2 = td.Medium.from_nk(n=3.0, k=0.1, freq=freq0)\n", "\n", "# weakly dispersive material defined by dn_dwvl at a given frequency\n", "mat3 = td.Sellmeier.from_dispersion(n=2.0, dn_dwvl=-0.1, freq=freq0)\n", "\n", "# dispersive material from tidy3d library\n", "mat4 = td.material_library['BK7']['Zemax']\n", "\n", "# put all together\n", "mat_slabs = [mat1, mat2, mat3, mat4]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create Simulation\n", "Now we set everything else up (structures, sources, monitors, simulation) to run the example." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we define the multilayer stack structure." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:24:55.782923Z", "iopub.status.busy": "2022-07-21T20:24:55.782798Z", "iopub.status.idle": "2022-07-21T20:24:55.785162Z", "shell.execute_reply": "2022-07-21T20:24:55.784932Z" }, "tags": [] }, "outputs": [], "source": [ "slabs = []\n", "slab_position = -Lz/2 + 2*spacing\n", "for t, mat in zip(t_slabs, mat_slabs):\n", " slab = td.Structure(\n", " geometry=td.Box(\n", " center=(0, 0, slab_position + t/2),\n", " size=(td.inf, td.inf, t),\n", " ),\n", " medium=mat,\n", " )\n", " slabs.append(slab)\n", " slab_position += t" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We must now define the excitation conditions and field monitors. We will excite the slab using a normally incident (along z) planewave, polarized along the x direciton." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:24:55.786559Z", "iopub.status.busy": "2022-07-21T20:24:55.786429Z", "iopub.status.idle": "2022-07-21T20:24:55.788411Z", "shell.execute_reply": "2022-07-21T20:24:55.788184Z" }, "tags": [] }, "outputs": [], "source": [ "# Here we define the planewave source, placed just in advance (towards negative z) of the slab\n", "source = td.PlaneWave(\n", " source_time = td.GaussianPulse(\n", " freq0=freq0,\n", " fwidth=freqw\n", " ),\n", " size=(td.inf, td.inf, 0),\n", " center=(0, 0, -Lz/2+spacing),\n", " direction='+',\n", " pol_angle=0,\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we define the field monitor, placed just past (towards positive z) of the stack." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:24:55.789811Z", "iopub.status.busy": "2022-07-21T20:24:55.789681Z", "iopub.status.idle": "2022-07-21T20:24:55.791664Z", "shell.execute_reply": "2022-07-21T20:24:55.791425Z" }, "tags": [] }, "outputs": [], "source": [ "# We are interested in measuring the transmitted flux, so we set it to be an oversized plane.\n", "monitor = td.FluxMonitor(\n", " center = (0, 0, Lz/2 - spacing),\n", " size = (td.inf, td.inf, 0),\n", " freqs = monitor_freqs,\n", " name='flux',\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, define the boundary conditions to use PMLs along z and the default periodic boundaries along x and y" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:24:55.793121Z", "iopub.status.busy": "2022-07-21T20:24:55.792983Z", "iopub.status.idle": "2022-07-21T20:24:55.795064Z", "shell.execute_reply": "2022-07-21T20:24:55.794838Z" } }, "outputs": [], "source": [ "boundary_spec = td.BoundarySpec.pml(z=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now it is time to define the simulation object." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:24:55.796428Z", "iopub.status.busy": "2022-07-21T20:24:55.796303Z", "iopub.status.idle": "2022-07-21T20:24:55.799526Z", "shell.execute_reply": "2022-07-21T20:24:55.799284Z" }, "tags": [] }, "outputs": [], "source": [ "sim = td.Simulation(\n", " center = (0, 0, 0),\n", " size = sim_size,\n", " grid_spec=td.GridSpec.auto(min_steps_per_wvl=40),\n", " structures = slabs,\n", " sources = [source],\n", " monitors = [monitor],\n", " run_time = t_stop,\n", " boundary_spec = boundary_spec\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plot The Structure\n", "\n", "Let's now plot the permittivity profile to confirm that the structure was defined correctly." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we use the `Simulation.plot()` method to plot the materials only, which assigns a different color to each slab without knowledge of the material properties." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:24:55.800967Z", "iopub.status.busy": "2022-07-21T20:24:55.800848Z", "iopub.status.idle": "2022-07-21T20:24:55.877543Z", "shell.execute_reply": "2022-07-21T20:24:55.877072Z" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
[16:24:55] INFO     Auto meshing using wavelength 0.7500 defined from        grid_spec.py:472\n",
       "                    sources.                                                                 \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:24:55]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m0.7500\u001b[0m defined from \u001b]8;id=435249;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=778514;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#472\u001b\\\u001b[2m472\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m sources. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
<Figure size 432x288 with 1 Axes>\n",
       "
\n" ], "text/plain": [ "\u001b[1m<\u001b[0m\u001b[1;95mFigure\u001b[0m\u001b[39m size 432x288 with \u001b[0m\u001b[1;36m1\u001b[0m\u001b[39m Axes\u001b[0m\u001b[1m>\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJwAAAEYCAYAAACp7p83AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAARwElEQVR4nO3de3Bc5XnH8e/PFhLC+CJFrjG+AcExsakDReHShDaFpoU0AQJhCmSoPUANk0kntEwTEtoUaFMuaUvCQAZcygRqAhQDMRBcsAmQcQkYmbtrjA3FNgZiCVnGBiIj6+kf5118WK9WWkt+j/bs85nZ0bmf5+z+9n3P3o5kZjgXy4isC3C1xQPnovLAuag8cC4qD5yLygPnovLAFZG0WNKcrOvIq5oOnKRLJS1ITzOzE83slsh1HCDJJNVF2NdZktZJek/SzyU1l1n2MEkrJL0f/h6WmidJV0l6J9yukqT+9j9kgYtxZ7nBkTQLuBE4G5gAvA/8pI9l64FFwAKgCbgFWBSmA8wDTgE+A8wGvgKc328RZlb2BkwB7gHagXeA68L0ucD/ANeE6f8EjAVuDcuuA/4OGBGWPxh4HNgCdAB3hukK29gEvAu8CBzaRy1zgdeArcD/AV9PzTsHWAVsBh4CpqXmzQKWAJ3Ab4DvAScA24EPgW3A82HZx4DzwvCIcAzrQn23AmPDvAMAA+YA68MxXVLmfvwz4NlwjBuAS1Pz1odtbQu3Y0qs/yDwr6nxO4Cb+3v8irbxz8DPUuOfDPfB6BLL/gmwEVBRnSeE4SeAeal55wJP9ltDPwWOBJ4PgRgF7A18PvXg9wB/BdQBjeEBWQSMDg/IK8C5YfnbgUvCg5jezp8CK4BxIXyfBiaWqGVUeLBmhPGJwKwwfDKwNqxbF0LyRJg3GngLuCjsdzRwVJh3KbCgaD/pwJ0TtnsQsC/JE+8/iwL37+HYPwN0A5/u4778AvC74fhnkwT/lKJt1ZV5LPYjCf1xwNdJnnijw7zPA11lboX7ehHwnaLtbgOOKLG/vwYWF017ALgoDG8p3I9hvBXYOtjAHUPSWu1yR5AEbn1ROLcDM1PTzgceC8O3AvOByUXbOY4kmEcTWsM+ahkV7rzTgMaieYsJwQ7jI0i6i2nAmcCzfWyzv8A9AnwjNW8GSYtYlwrJ5NT85cAZ/d3pYdkfAdcMNHBhudNIWseOQogquYXjuaBo2kbgCyWW/XvgjqJptxFaZmAHcEhq3vRwDCpXQ3/ncFOAdWbW08f8DanhFmAvku6nYB0wKQx/m6QFWy5ppaRzAMzsl8B1wPXAJknzJY0p3pGZvQf8OXAB8JakX0g6JMyeBvxYUpekLpKuU2HfU4BX+znOvuxf4njqSM5/Ct5ODb9P0hLuQtJRkh6V1C5pSziOlgrruZ/kib3azJZVuC4krVnxfTuG5BSl0mWL548BtllIX1/6C9wGYGqZFwTpjXeQPPunpaZNJXkGYWZvm9lfmtn+JC3fTyQdHOZda2ZHADOBTwF/W3JnZg+Z2RdJutOXSbqzQp3nm9m41K3RzJ4I8w4aQP2lvFnieHpIusNK/Qy4D5hiZmOBG0ieFAOpo+AHJOepEyWdWZgo6VhJ28rcjg2LriTp+gvrHQQ0kPQwxVYCs4teec4O03fZVhheSX/6aYIL53D/ws5zuM+lutRlRcsvAO4lOU+aRhKKQvd0OqH7ITmJ/4AkCJ8FjiJpHUcB/w1cVqKWCSTnaqNIniiXAY+HeV8FXmLnOd1Y4PQwXDiHuzDcuelzuAuAZaS6cj7epZ4HrAEOJGm5FhK6YEp0g+l1S9S/CZgTho8M44Vt7UPSRX2qzGPxByRP6knAsYXhCrvUWSTnwceG+3EBRd1matl6khb9W+F++2YYr0/dd6tCPfuThO2CfmsYQJFTgZ+TvBLtAK4tE7imcBDtJC3L99n5KvVqktZuG0kXNy9MPx54IUzvIDlP2LdEHRPZ+Sq3Kzy46fPFs0le4RZeBd6cmncoyfnLZpIu8OIw/RMhcJuBZ0oEbkQ4hg3hmBYATbsZuK+FB2wrycn3daTOH4HLwz66gKOL1h0DvE7q/BC4CniYfs6ZStRxFsmrzfdIXkQ0p+YtBr6XGj+c5AXdB8AzwOGpeQqPaWe4XT2QWhRWdi6Kmv6kwcXngXNReeBcVB44F1XNf+A+ZswYa2pq2mW6mVF4Cyo9PFjr16/vMLPxQ7KxKlTzgWtqauLKK6/cZXp3dzcdHR0AtLS00NDQMCT7O+uss9b1v1R+eZfqoqr5Fq6U7u5uOjs7aWlJPurs7Oykubl5yFq5WuYtXJFC2AoBa2hooLm5mc7OTrq7u7Mur+p54FKKw1YwVKHzwHrgPtJX2AoGG7rC9mtdzZ/D1dXV0dXVxfbt22lsbKS7u7tsoBobG9myZQv19fWMGDGw52tvb+9H2691Nf/hfWtrq7W1tUXbn6QVZtYabYfDjHepLioPnIvKA+ei8sC5qDxwLioPnIvKA+ei8sC5qDxwLioPnIvKA+ei8sC5qDxwLioPnIsqd4GTtLek5ZKeD9ehuyzrmtxOefwCZjdwnJltk7QXsEzSYjN7MuvCXA4DZ8k3SreF0b3Crba/ZTqM5K5LBZA0UtJzJBf9W2JmTxXNnyepTVJbe3t7JjXWqlwGzsx2mNlhwGTgSEmHFs2fb2atZtY6fnzNXnUhE7kMXIGZdQGPkvxPBjcM5C5wksZLGheGG4Evklxr2A0DuXvRQHIt4FskjSR5Qv2XmT2QcU0uyF3gzOwFkoshu2Eod12qG948cC4qD5yLygPnovLAuag8cC4qD5yLygPnovLAuag8cC4qD5yLygPnovLAuag8cC4qD5yLygPnosrdFzAr1t0Oa+dnXUXN8BbOReWBc1HlqkuVNAW4FZhA8mv7+Wb247IrNYyHg+dFqK7g/Ij7Gn5yFTigB7jIzJ6RNBpYIWmJmf1v1oW5RK66VDN7y8yeCcNbgVXApGyrcmm5ClyapANIfi74VIl5fm2RjOQycJL2Be4GLjSzd4vn+7VFspO7wIVrwt0N3GZm92Rdj/u4XAVOkoD/AFaZ2b9lXY/bVa4CB3wOOBs4TtJz4falrItyO+XqbREzWwYo6zpc3/LWwrlhzgPnovLAuag8cC4qD5yLygPnovLAuag8cC4qD5yLygPnovLAuag8cC4qD5yLygPnovLAuag8cC4qD5yLygPnovLAuahyFzhJN0vaJOmlrGtxu8pd4ICf4v/jftjKXeDM7FdAZ9Z1uNJyF7iB8GuLZKcmA+fXFslOTQbOZccD56LKXeAk3Q78Gpgh6Q1J52Zdk9spV9cWATCzM7OuwfUtdy2cG948cC4qD5yLKnfncJV678W1/PqTJ2ddRs3wFs5F5YFzUXngXFQeOBeVB85F5YFzUXngXFQ1/z5c+7gWbvjynHg7vPa+ePsahryFc1F54FxUHjgXlQfOReWBc1F54FxUHjgXVe4CJ+kESaslrZV0cdb1uI/LVeAkjQSuB04EZgJnSpqZbVUuLbPASXqk+N+DS5o/yM0eCaw1s9fMbDtwB+Bf5x1Gsvxo60DgO5I+a2aXhWmtg9zmJGBDavwN4KjihSTNA+YBTNy3ib/5cN0gdztwt0bb0/CUZZfaBRwPTJB0v6SxsXacvrZIU+OoWLt1ZBs4mVmPmX0DuBtYBvzOILe5EZiSGp8cprlhIsvA3VAYMLOfAnOBhwe5zaeB6ZIOlFQPnAHU9tczhpnMzuHM7Mai8RXAOYPcZo+kbwIPASOBm81s5WC26YZW7r4PZ2YPAg9mXYcrLXeBq1T7PvtwQ+vsrMuoGbl649cNfx44F5UHzkXlgXNReeBcVB44F5UHzkXlgXNReeBcVB44F5UHzkXlgXNReeBcVDKzrGvIVGtrq7W1tUXbn6QVZjbY325ULW/hXFQeOBeVB85F5YFzUeUmcJJOl7RSUq+kmj0pH+5yEzjgJeBU4FdZF+L6lpsf0ZjZKgBJWZfiyshTCzdgkuZJapPU1t7ennU5NaWqWjhJS4H9Ssy6xMwWDXQ7ZjYfmA/JG79DVJ4bgKoKnJn9cdY1uMGpyS7VZSc3gZP0VUlvAMcAv5D0UNY1uV1VVZdajpndC9ybdR2uvNy0cK46eOBcVB44F5UHzkXlgXNReeBcVB44F5UHzkXlgXNReeBcVB44F5UHzkXlgXNReeBcVB44F5UHzkXlgXNReeBcVB44F1VuAifph5JelvSCpHsljdtT+1rdsZrlG5fvqc3nWm4CBywBDjWz2cArwHf31I6uWHYFFz18EbV+9dDdkZvAmdnDZtYTRp8EJu+J/Wzt3soTG57gza1vsqZzzZ7YRa7lJnBFzgEW9zVzMNcWefz1xzEMM2Pxmj534fpQVYGTtFTSSyVuJ6eWuQToAW7raztmNt/MWs2sdfz48RXVsHDVQjBorGtk4aqF3q1WqKp+CN3ftUUkzQW+DBxveyAJO3p38PSbT2MYO2wHG7ZsYNN7m5iw74Sh3lVuVVULV46kE4BvAyeZ2ft7Yh8jR4zkrtPvYkfvDnbYDuZ/Zb6HrUK5CRxwHTAaWCLpOUk37ImdzBw/E8I1D2eNn7UndpFrVdWllmNmB+/Oel09XdzTcU9F69TV1/HbD3/L0neXMnr76N3Zbc3KTeBiuvyUy+m1XhrrG7Mupep44HZDw14NWZdQtWo+cOPqxnFqy6lZl1Ez8vSiwVUBD5yLygPnovLAuag8cC4qD5yLygPnovLAuag8cC4qD5yLygPnovLAuag8cC4qD5yLygPnovLAuahyFThJ/xiuLfKcpIcl7Z91Te7jchU44IdmNtvMDgMeAL6fcT2uSK4CZ2bvpkZHAf6z+GEmd79pkPQD4C+ALcAf9bHMPGAewNSpU+MV51C1XRtD0lJgvxKzLjGzRanlvgvsbWb/UG57ra2t1tbWNsRV9k3SCjNrjbbDYabqWrj+ri+SchvwIFA2cC6uXJ3DSZqeGj0ZeDmrWlxpVdfC9eNKSTOAXmAdcEHG9bgiuQqcmZ2WdQ2uvFx1qW7488C5qDxwLioPnIvKA+ei8sC5qDxwLioPnIvKA+ei8sC5qDxwLioPnIvKA+ei8sC5qHL19aTdsXnzZm688UYAent72b59O/X19YwY8fHnYrl5A9Xb2zvoeqtdzQeup6eHMWPGfDTe3d1NZ2cnzc3NNDQ09DnN7R7vUos0NDTQ3NxMZ2cn3d3dHrYhVvMtXCmF0HV0dADQ0tLiYRsi3sK5qLyFK6HQjba0tAB4lzqEqu6H0ENN0lZg9W6s2gJ07MZ6M8ysZv+rr7dwsHp3fgkvqW1316t0nTzxczgXlQfOReWBg/lVsl4u1PyLBheXt3AuKg+ci6rmAiepWdISSWvC36Y+ltsRLk79qqRtktZKurjEcg2S7gzzn5J0QJh+gqTVZdabK6k97OM5SecN+cEOQzUXOOBi4BEzmw48EsZL+QA4IgzPBmYCZ0qaWbTcucBmMzsYuAa4StJI4HrgxDLrAdxpZoeF202DOqoqUYuBOxm4JQzfApxSZtkjgbVm9pqZbQfuCOv3tb2FwPEDXK8m1WLgJpjZW2H4bWBCH8vtDSwADpd0Spj2BjCpaLlJwAYAM+shuZj1IYVpZdYDOC38X4mFkqZUeiDVKJcfbZW78HR6xMxMUl/vC00DjgFOB34k6cWhrZL7gdvNrFvS+SSt5HFDvI9hJ5eBK3fhaUm/kTTRzN6SNBHY1Mc2NkraCIwDHgMOByYDG4sW3QhMAd6QVAeMJbm28BmpZXZZz8zeSY3eBFzd/5FVv1rsUu8D5oThOcCi4gUkNUlqAJ4GZgB/CKwhCdF9Zbb3NeCXYb3pkg6UVF9qvRD2gpOAVYM4puphZjV1Az5B8up0DbAUaA7TW4GbwvDvAy8CzwOvk5zrvUryvyAALgdOCsN7A3cBa4HlwEFh+peAV8qsdwWwMuzjUeCQrO+bGDf/aMtFVYtdqsuQB85F5YFzUXngXFQeOBeVB85F5YFzUXngKiDpckkXpsZ/IOlbGZZUdfyN3wqEL1feY2a/J2kEyacVRxZ9LurKyOWH93uKmb0u6R1Jh5N8relZD1tlPHCVuwmYS/L1p5uzLaX6eJdaofDtjxeBvYDpZrYj45KqirdwFTKz7ZIeBbo8bJXzwFUovFg4muSbwK5C/rZIBcIvr9aS/OprTdb1VCM/h3NReQvnovLAuag8cC4qD5yLygPnovp/DwR0oDiV0h0AAAAASUVORK5CYII=\n" }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sim.plot(x=0)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we use `Simulation.plot_eps()` to vizualize the permittivity of the stack. However, because the stack contains dispersive materials, we need to specify the `freq` of interest as an argument to the plotting tool. Here we show the permittivity at the lowest and highest frequences in the range of interest. Note that in this case, the real part of the permittivity (being plotted) only changes slightly between the two frequencies on the dispersive material. However, for other materials with more dispersion, the effect can be much more prominent." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:24:55.879067Z", "iopub.status.busy": "2022-07-21T20:24:55.878913Z", "iopub.status.idle": "2022-07-21T20:24:56.174437Z", "shell.execute_reply": "2022-07-21T20:24:56.174136Z" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
<Figure size 864x288 with 4 Axes>\n",
       "
\n" ], "text/plain": [ "\u001b[1m<\u001b[0m\u001b[1;95mFigure\u001b[0m\u001b[39m size 864x288 with \u001b[0m\u001b[1;36m4\u001b[0m\u001b[39m Axes\u001b[0m\u001b[1m>\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n" }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot the permittivity at a few frequencies\n", "freqs_plot = (freq_range[0], freq_range[1])\n", "fig, axes = plt.subplots(1, len(freqs_plot), tight_layout=True, figsize=(12, 4))\n", "for ax, freq_plot in zip(axes, freqs_plot):\n", " sim.plot_eps(x=0, freq=freq_plot, ax=ax)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also take a look at the source to make sure it's defined correctly over our frequency range of interst." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:24:56.176038Z", "iopub.status.busy": "2022-07-21T20:24:56.175912Z", "iopub.status.idle": "2022-07-21T20:24:56.358839Z", "shell.execute_reply": "2022-07-21T20:24:56.358473Z" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
<Figure size 432x288 with 1 Axes>\n",
       "
\n" ], "text/plain": [ "\u001b[1m<\u001b[0m\u001b[1;95mFigure\u001b[0m\u001b[39m size 432x288 with \u001b[0m\u001b[1;36m1\u001b[0m\u001b[39m Axes\u001b[0m\u001b[1m>\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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Z/PmzTV573FTZu7uy9y9zd3bZszY7xkzhuWuu+4qP/75z38+Iu8hIlIr7k4URUMfOEaMVoBaBxyWej432TbY9pq45557ePOb38x73/te7rzzTnXzici4t2bNGhYvXszHPvYxjjvuOL74xS9yyimncMIJJ3DllVeWj7vgggs4+eSTOfbYY1m2bFkNW9xrtMrMlwOXmdktxAURO9x9vZndDfxDqjDiHHqX7B5V27dv55FHHuHKK69kxowZ3HHHHbzyyitoUloRqYZfXbuNTc/lq3rOQ96Q5azLh64rW7VqFTfffDM7d+7ktttu4+GHH8bdOf/883nwwQd529vexo033si0adPYu3cvp5xyCu9///uZPn16Vdu7v6oSoMzsx8CZQKuZtRNX5mUB3P0G4E7gPcBqYA/wJ8m+rWb2ReCR5FRXu/u+ii1GzLPPPou709bWxpQpU8rbFKBEZLybN28ep512Gp/97Ge55557OOmkkwDYvXs3q1at4m1vexvXX389t99+OwBr165l1apVB0eAcvePDLHfgb8cZN+NwI3VaEclXnjhBQAWLVrE1KlTy9vOO++8WjZLRA4Sw8l0RkpzczMQj0FdccUV/Nmf/Vmf/Q888AD33nsvDz30EE1NTZx55pljYvaLcVMkMdJWrVpFGIYsWLCA1tZWpkyZUg5aIiIHg3e/+93ceOON7N69G4B169axadMmduzYwdSpU2lqauK5555jxYoVNW5pTFMdJV544QUWLFhQnkNq8eLFPP/88zVulYhI9Zxzzjk8++yznH766QC0tLTwgx/8gHPPPZcbbriBo48+msWLF3PaaafVuKUxBajECy+8wKJFi8rPjzrqKB544IHaNUhEpArmz5/PU0/1zkL3qU99ik996lOvOy59m03amjVrRqppQ1IXH3G/7OrVqznqqKPK2xYtWsTatWvZs2dPDVsmIlK/FKCAzZs309nZ2WcG3nnz5gFxH62IiIw+BSh6g9CcOb2zLJUeK0CJiNSGAhS9QWju3LnlbaXH7e3tNWmTiEi9U4BCGZSIyFikAEWcJZkZM2fOLG9raWlh8uTJyqBERGpEAYo4S5o5c2b5HqiSOXPmKIMSkXHtzW9+c62bcMAUoIgDVLp7r2Tu3LkKUCIyrv32t7+tdRMOmAIUgweoOXPmqItPRMa1lpYWIJ5v7+1vfztLly7liCOO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\n" }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "text/html": [ "
<Figure size 432x288 with 1 Axes>\n",
       "
\n" ], "text/plain": [ "\u001b[1m<\u001b[0m\u001b[1;95mFigure\u001b[0m\u001b[39m size 432x288 with \u001b[0m\u001b[1;36m1\u001b[0m\u001b[39m Axes\u001b[0m\u001b[1m>\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n" }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Check probe and source\n", "ax1 = sim.sources[0].source_time.plot(times=np.linspace(0, sim.run_time, 1001))\n", "ax1.set_xlim(0, 1e-13)\n", "ax2 = sim.sources[0].source_time.plot_spectrum(times=np.linspace(0, sim.run_time, 1001))\n", "ax2.fill_between(freq_range, [-8e-16, -8e-16], [8e-16, 8e-16], alpha=0.4, color='g', label=\"mesure\")\n", "ax2.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Run the simulation\n", "\n", "We will submit the simulation to run as a new project." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:24:56.360327Z", "iopub.status.busy": "2022-07-21T20:24:56.360213Z", "iopub.status.idle": "2022-07-21T20:25:54.908647Z", "shell.execute_reply": "2022-07-21T20:25:54.908153Z" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
[16:24:56] INFO     Using Tidy3D credentials from stored file                      auth.py:74\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:24:56]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Using Tidy3D credentials from stored file \u001b]8;id=812423;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/auth.py\u001b\\\u001b[2mauth.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=662056;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/auth.py#74\u001b\\\u001b[2m74\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:24:58] INFO     Uploaded task 'dispersion' with task_id                     webapi.py:120\n",
       "                    '2a8d7f01-8ff7-48a6-92ac-148b9c304afc'.                                  \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:24:58]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Uploaded task \u001b[32m'dispersion'\u001b[0m with task_id \u001b]8;id=919260;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=774;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m'2a8d7f01-8ff7-48a6-92ac-148b9c304afc'\u001b[0m. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "6b985344f7474c1c953b002e4b76b50b", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:25:01] INFO     status = queued                                             webapi.py:253\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:25:01]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m status = queued \u001b]8;id=305068;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=639495;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#253\u001b\\\u001b[2m253\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7a61d39714ec46f3a03a17b2f1965cac", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:25:05] INFO     Maximum flex unit cost: 0.23                                webapi.py:244\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:25:05]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Maximum flex unit cost: \u001b[1;36m0.23\u001b[0m \u001b]8;id=373645;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=738149;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#244\u001b\\\u001b[2m244\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:25:09] INFO     status = preprocess                                         webapi.py:265\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:25:09]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m status = preprocess \u001b]8;id=174785;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=949412;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#265\u001b\\\u001b[2m265\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
[16:25:15] INFO     starting up solver                                          webapi.py:269\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:25:15]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m starting up solver \u001b]8;id=26599;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=730978;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#269\u001b\\\u001b[2m269\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:25:27] INFO     running solver                                              webapi.py:275\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:25:27]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m running solver \u001b]8;id=34399;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=494449;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#275\u001b\\\u001b[2m275\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "17d68637c23d486ab94e925abc9e810a", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:25:48] INFO     early shutoff detected, exiting.                            webapi.py:286\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:25:48]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m early shutoff detected, exiting. \u001b]8;id=976143;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=317578;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#286\u001b\\\u001b[2m286\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     status = postprocess                                        webapi.py:292\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m status = postprocess \u001b]8;id=47854;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=699231;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#292\u001b\\\u001b[2m292\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b87a202ad72749acaac913b4b68be0dc", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:25:52] INFO     status = success                                            webapi.py:298\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:25:52]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m status = success \u001b]8;id=780885;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=679869;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#298\u001b\\\u001b[2m298\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
[16:25:53] INFO     downloading file \"output/monitor_data.hdf5\" to              webapi.py:574\n",
       "                    \"data/sim_data.hdf5\"                                                     \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:25:53]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=470265;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=54719;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#574\u001b\\\u001b[2m574\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/sim_data.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "34824e4fb20e4a94bd06261f4a284e76", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:25:54] INFO     loading SimulationData from data/sim_data.hdf5              webapi.py:398\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:25:54]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/sim_data.hdf5 \u001b]8;id=399911;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=404924;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#398\u001b\\\u001b[2m398\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     Auto meshing using wavelength 0.7500 defined from        grid_spec.py:472\n",
       "                    sources.                                                                 \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m0.7500\u001b[0m defined from \u001b]8;id=68943;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=685115;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#472\u001b\\\u001b[2m472\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m sources. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sim_data = web.run(sim, task_name='dispersion', path='data/sim_data.hdf5')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Postprocess and Plot\n", "\n", "Once the simulation has completed, we can download the results and load them into the simulation object." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we compute the transmitted flux and plot the transmission spectrum." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:25:55.292395Z", "iopub.status.busy": "2022-07-21T20:25:55.292300Z", "iopub.status.idle": "2022-07-21T20:25:55.345113Z", "shell.execute_reply": "2022-07-21T20:25:55.344807Z" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
<Figure size 432x288 with 1 Axes>\n",
       "
\n" ], "text/plain": [ "\u001b[1m<\u001b[0m\u001b[1;95mFigure\u001b[0m\u001b[39m size 432x288 with \u001b[0m\u001b[1;36m1\u001b[0m\u001b[39m Axes\u001b[0m\u001b[1m>\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEGCAYAAAB/+QKOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAABGGElEQVR4nO3dd3xUdfb4/9dJA6VDAAkYQglKEQIERUQDiggWsICKDVw1X13FssJHXf3Zdd111VVkVXRR7II1i40iCKJAKFINMRKQIB1CSYCQ5Pz+mJnsECbJJJmZOwnn+XjMg8yde9/3DJA58+6iqhhjjDGlRTgdgDHGmPBkCcIYY4xPliCMMcb4ZAnCGGOMT5YgjDHG+BTldACBEhsbqwkJCU6HYYwxNcrSpUt3qmpzX6/VmgSRkJDAkiVLnA7DGGNqFBHZWNZr1sRkjDHGJ0sQxhhjfLIEYYwxxidLEMYYY3wKaoIQkSEisk5EskTkfh+vvyAiP7sfmSKS6/XaaBH51f0YHcw4jTHGHCtoo5hEJBKYCJwP5ADpIpKmqms956jqPV7njwV6un9uCjwCJAMKLHVfuydY8RpjjDlaMGsQpwNZqrpeVQuAD4Hh5Zw/CvjA/fMFwExV3e1OCjOBIUGM1RhjTCnBnAfRGtjk9TwHOMPXiSLSFmgHfFfOta19XJcKpALEx8dXP2JjjAkDxcXFZGRkkJmZSVZWFiLCySefTHx8PL169SImJiYkcYTLRLmrgY9VtagyF6nqJGASQHJysm1sYYyp0Xbv3s2bb77JK6+8wm+//ebznMaNGzN8+HCuvvpqLrjgAkQkaPEEs4lpM3Cy1/M27mO+XM3/mpcqe60xxtR406dPJyEhgXHjxhEXF8d//vMfFi9ezO7du9mzZw+rVq3ik08+Yfjw4XzxxRcMHTqUM844gxkzZhC0jd9UNSgPXLWT9biajmKAFUBXH+edCmwAxOtYUyAbaOJ+ZANNy7tf79691Rhjapri4mJ9/vnnVUS0V69eumLFigqvOXz4sP7nP//R+Ph4BXTo0KFaXFxcpfsDS7SMz9WgNTGpaqGI3AF8C0QCk1V1jYg87g4ozX3q1cCH7kA91+4WkSeAdPehx1V1d7BiNcYYJxw5coQ77riDSZMmcfnll/P2229Tr169Cq+LiYnhT3/6E9deey2vv/46Bw4cCEpTk3h9LtdoycnJaov1GWNqij179jBy5Ehmz57N/fffz1NPPUVEROjnLovIUlVN9vVauHRSG2PMcWPbtm2kpKSwfv163nzzTcaMGeN0SD5ZgjDGmBAqLCzkqquu4vfff2fmzJmkpKQ4HVKZLEEYY0wI3XfffXz//fe88847YZ0cwBbrC5ri4mJGjx5N9+7d+eWXX5wOxxgTBqZNm8bzzz/P7bffznXXXed0OBWyTuog+fDDDxk1ahQAgwYNYubMmQ5HZIxx0tatW+ncuTOnnHIK8+bNC9ls6IqU10ltNYggmTx5Mu3bt+exxx5j1qxZbNq0qeKLjDG11tixYzl48CBTpkwJm+RQEUsQQXDo0CHmzZvHZZddxsiRIwH46quvHI7KGOOUzz77jI8//phHHnmEU045xelw/GYJIggWLVrE4cOHSUlJ4dRTT+Wkk07ihx9+cDosY4wD9u7dy+23305SUhLjxo1zOpxKsVFMQfD9998jIvTv3x8R4YwzzmDRokVOh2WMccBTTz3F1q1bSUtLIzo62ulwKsVqEEGwaNEiunTpQpMmTQA444wz+PXXX9m921YLMeZ4kp2dzYsvvsjo0aNJTvbZDxzWLEEEwYoVK0hKSip5fsYZrm0w0tPTy7jCGFMbPfDAA0RFRfHkk086HUqVWIIIsF27drF582Z69OhRcqx79+4ArF27tqzLjDG1zE8//cRHH33EuHHjaN36mP3OagRLEAG2YsUKgKMSRGxsLM2aNbMJc8YcJ1SV+++/n5NOOonx48c7HU6VWSd1gK1cuRI4OkEAdO7cmYyMDCdCMsaE2Ny5c5k3bx4TJkygfv36TodTZVaDCLAVK1bQsmVLWrZsedTxU0891WoQxhwHVJVHH32UuLg4br75ZqfDqRZLEAG2YsWKkj4Hb507d2bnzp3s3LnTgaiMMaHiqT088MAD1K1b1+lwqsUSRAAdOXKENWvWHNO8BK4aBMC6detCHZYxJkRqU+0BrA8ioDIzMykoKPCZIDp37gzAL7/8wllnnRXq0IypksLCQt58801WrVrFCSecwHXXXcdpp53mdFhh64cffmDevHm89NJLNb72AEGuQYjIEBFZJyJZInJ/GedcKSJrRWSNiLzvdbxIRH52P9J8XRtufI1g8oiPj6du3brWUW1qDE9tODU1lSlTpvDCCy/Qs2dP/vKXv1BUVOR0eGHpH//4B7Gxsdx0001OhxIQQUsQIhIJTASGAl2AUSLSpdQ5icADwFmq2hW42+vlg6qa5H4MC1acgbRixQqio6N9LsYVGRlJp06drKPa1Ahbt27lwgsvZPfu3Xz22Wfk5uayZcsWbr75Zl544QXGjh1LbdkqIFDWrFnD9OnTGTt2LCeeeKLT4QREMJuYTgeyVHU9gIh8CAwHvGeL3QJMVNU9AKq6PYjxBN3KlSvp0qVLmUv5du7c2WZTm7BXWFjI8OHD2blzJ/Pnz6dXr14ANGvWjFdffZXGjRvz97//nYSEBP7v//7P4WjDxz//+U9OPPFEbr/9dqdDCZhgNjG1Brw3QchxH/PWCegkIgtEZKGIDPF6ra6ILHEfvzSIcQbMihUrfDYveZx66qlkZ2dz6NChEEZlTOW89tprLF68mMmTJ5ckB29/+9vfGDlyJA899JCtDuCWk5PDe++9x0033USzZs2cDidgnB7FFAUkAgOAUcDrItLY/Vpb9y5H1wD/EpEOpS8WkVR3ElmyY8eOEIUMGzZsKJkQ57Fjxw62bNlSboLo3LkzqkpmZqZf91m6dCk5OTnVitWYytizZw8PP/ww5557LldeeaXPc0SEiRMn0qBBA1JTUykuLg5xlOHnpZdeoqioiHvuucfpUAIqmAliM3Cy1/M27mPecoA0VT2iqtlAJq6Egapudv+5HpgL9Cx9A1WdpKrJqprcvHnzwL8DHzxJoEePHsydO7fkuKeD2tccCA/PUFd/+iH+/e9/k5ycTJcuXcjOzq5e0Mb46emnnyY3N5cXXngBESnzvObNm/Pcc8+xYMECpkyZEsIIw09+fj5vvPEGl19+Oe3atXM6nIAKZoJIBxJFpJ2IxABXA6VHI32Oq/aAiMTianJaLyJNRKSO1/GzOLrvwjEfffQR+/btA+CZZ54pOf7jjz8iIvTu3bvMazt16oSIVDiS6cCBAzz44IN06tSJw4cP8/e//z0wwRtTjv379zNp0iSuuuqqcr/oeHiWsH7iiSc4cuRICCIMT++99x579uzhzjvvdDqUgAtaglDVQuAO4FvgF2Cqqq4RkcdFxDMq6Vtgl4isBeYA41V1F9AZWCIiK9zHn1HVsEgQc+fOJTExkSeffJJvv/22pA32u+++o1evXiV7QPhywgkn0K5duwrbbT///HNyc3N54403uOKKK/jkk08oLCwM6PswprS33nqLffv2cffdd/t1vojw6KOPkp2dfdzWIlSVl156iaSkJPr37+90OIGnqrXi0bt3bw2FNm3a6DXXXKM7duzQunXr6s0336wHDhzQmJgYHT9+fIXXX3TRRXraaaeVe84VV1yhrVq10qKiIv3ggw8U0PT09EC9BWOOUVRUpB07dtS+fftW6rri4mLt06ePtm3bVgsKCoIUXfj67rvvFNDJkyc7HUqVAUu0jM9Vpzupa5SDBw+Sk5ND586diY2N5cYbb2TKlCk888wzFBQUcPHFF1dYRufOncnMzCxzotGhQ4f45ptvGDZsGBEREZx99tkAtqe1CarZs2eTlZVV6WYSEeHhhx9m48aNfPzxx0GKLny99NJLxMbGMmrUKKdDCQpLEJXw+++/A5CQkADAQw89RHR0NE8++SRJSUklH+bl6dy5M4cPHy6z43n+/Pnk5eUxbJirFa5169a0adPG5k+YoHr33Xdp2LAhl112WaWvvfDCC0lMTOSll14KQmThKzs7m7S0NFJTU2vFshq+WIKohI0bNwLQtm1bAOLi4vj666+58847+fTTT8sd9eHhvSaTL7NmzSI6OpqUlJSSY926dbPx5iZo8vPz+fTTTxkxYkSVPugiIiIYO3YsCxcuZPHixUGIMDz9+9//RkS47bbbnA4laCxBVMKGDRuA/9UgAM455xxefPFFv4e3+ZMg+vXrR7169UqOdenShYyMDFv/xgTFf//7Xw4cOMC1115b5TLGjBlDw4YNefHFFwMYWfjKy8srGUTSpk0bp8MJGksQlbBhwwaioqKIi4urchmNGzemVatWPmsEu3btYvny5Zx33nlHHe/atSuHDh2y+RAmKN5//31at259VK21sho0aMDo0aP5+OOP2b17dwCjC0/vvvsuubm5tXJoqzdLEJWwadMm2rRpQ2RkZLXKOe200/j555+POT5nzhxUlUGDBh11vEsX1xqH1sxkAu3AgQN8++23jBgxotr/r8eMGUNBQQEfffRRgKILT6rKhAkT6NWrF/369XM6nKCyBFEJO3bsoEWLFtUup3fv3qxZs+aYNZlmzZpFgwYN6NOnz1HHPQlizZo11b63Md5mzJjB4cOHGT58eLXL6tmzJ926dav1cyLmzJnDmjVrGDt2rF/9jjWZJYhK2LlzJ7GxsdUup3fv3hQWFh6zntOsWbMYMGAAUVFHL7LbsGFDWrVq5fcaTsb464svvqBJkyZ+jcCriIgwevRoFi1aVKt3TpwwYQKxsbFcffXVTocSdJYgKiFQCSI5ORlwLcbnsWHDBn777bdjmpc82rVrVzKKyphAKCwsZPr06Vx00UXHfCmpqmuvvZaIiIhaW4vYuHEjaWlp3HLLLbV2aKs3SxCVsGPHjoAkiPj4eFq2bHnU5LfZs2cDlJkgEhISSkZRGRMIP/74I7t37w5I85JHq1atuOCCC3jnnXdq5ai7V199FYBbb73V4UhCwxKEn/Lz88nPzw9IghARzj//fGbMmFGyVPKsWbNo1apVyTDY0tq2bcumTZtq5S+dccbXX39NVFQUgwcPDmi5Y8aMIScnhzlz5gS0XKcdPHiQ119/nUsvvZT4+HinwwkJSxB+2rVrF+Ba5jgQLrjgAnbu3MmyZcsoKChg1qxZnHfeeWV2eiUkJFBYWMgff/wRkPsb8+2339KvXz8aNmwY0HKHDRtG48aNa10z00cffcSuXbu44447nA4lZCxB+Gnnzp0AAalBAAwePJjIyEg++ugj3n//fXbu3Mk111xT5vmeyXnWzGQCYdu2bSxfvpwLLrgg4GXXrVuXq666ik8//ZT9+/cHvHwneIa2du3alQEDBjgdTshYgvBToBNEixYtuOKKK3j55ZcZN24c3bt3Z8iQIWWebwnCBNLMmTMBAt685DF69Gjy8/NrzQJ+CxcuZNmyZdxxxx21fmirN0sQfvI0MTVt2jRgZT777LPExcVRXFzMK6+8Uu5/PE+bp41kMoHw7bffEhsb63PP6UDo27cviYmJtaaZacKECTRq1IjrrrvO6VBCyhKEn/bu3Qu4lsoIlPj4eLKysti+fXuFMzLr1q1Ly5YtS1aUNaaqVJWZM2dy/vnnExERnI8Az5yI77//vsYvEbNlyxamTZvGjTfeSP369Z0OJ6QsQfjJkyAC3aEnIn6PQY+Li2PLli0Bvb85/mRkZLBt2zbOPffcoN7n+uuvR0R45513gnqfYJs0aRKFhYX8+c9/djqUkLME4ae9e/cSGRl51CqroRYXF2ejmEy1zZ07FyDona3x8fEMHDiQt99+G9fGZTVPQUEBr776KkOHDiUxMdHpcELOEoSf9u7dS8OGDR3toGrVqlWtSBCeuR/GGXPnzqV169Z06NAh6PcaPXo0v/32GwsWLAj6vYLhs88+Y+vWrcfV0FZvQU0QIjJERNaJSJaI3F/GOVeKyFoRWSMi73sdHy0iv7ofo4MZpz/27t1Lo0aNHI0hLi6Obdu2UVhY6Ggc1TFu3DiioqIYPnw4R44ccTqc446qMnfuXAYMGBCSLzuXX3459erVq7Gd1RMmTKBDhw7ljjCszYKWIEQkEpgIDAW6AKNEpEupcxKBB4CzVLUrcLf7eFPgEeAM4HTgERFpEqxY/REuCUJV2bZtm6NxVNWnn37Kc889xymnnEJaWhr/+Mc/nA7puJORkcH27dtDNpa/fv36jBgxgqlTp3Lw4MGQ3DNQli9fzoIFC7j99tuD1pkf7oL5rk8HslR1vaoWAB8CpRd9uQWYqKp7AFR1u/v4BcBMVd3tfm0m4GgK37dvX1gkCKDGNjP985//pEOHDqxevZohQ4YwceJEq0WEmKf/YeDAgSG75+jRo9m3bx+ff/55yO4ZCC+//DInnngiN954o9OhOCaYCaI1sMnreY77mLdOQCcRWSAiC0VkSCWuRURSRWSJiCzZsWNHAEM/VrjUIIAaOZJp9erV/PTTT4wdO5bIyEhuv/12tmzZwjfffON0aMeVuXPn0qZNG9q3bx+ye6akpNC2bVveeuutkN2zunbt2sX777/P9ddfH9Ch7TWN0/WmKCARGACMAl4Xkcb+Xqyqk1Q1WVWTA7VGUlk8ndROatWqFVAzaxBffPEFAFdeeSXgmsFbr149vv76ayfDqrS1a9eSmprKDTfccMx+HuEu1P0PHhEREVx//fXMmjWLzZs3h+y+1fHKK69w6NAhxo4d63QojgpmgtgMnOz1vI37mLccIE1Vj6hqNpCJK2H4c21IhUMNokWLFkRERNTIBJGWlsbpp59ekuRiYmI477zz+Oabb2rMEMgNGzbQv39/3n//fb744gtOP/10li1b5nRYfgt1/4O3G264geLiYt59992Q37uyDh06xIQJE7jwwgvp2rWr0+E4KpgJIh1IFJF2IhIDXA2klTrnc1y1B0QkFleT03rgW2CwiDRxd04Pdh9zhKqGRYKIioqiZcuWNS5B7N27l/T09GNGggwePJjs7Owasb6UqjJq1CiKi4v5+eefyczMJDY2lpEjR5KXl+d0eH4J1fwHXxITE+nXrx9TpkwJ+y8E7777Ltu3b2fcuHFOh+K4oCUIVS0E7sD1wf4LMFVV14jI4yIyzH3at8AuEVkLzAHGq+ouVd0NPIEryaQDj7uPOeLQoUMUFRXRoEEDp0IoURMnyy1YsABVJSUl5ajjZ555JgCLFy92IqxKmT17NgsXLuTZZ5+lY8eOtGzZknfffZf169fz2muvOR2eX5zof/A2ZswYfvnlF5YsWeLI/f1RXFzMc889R69evY6rVVvLpKq14tG7d28Nlu3btyugEyZMCNo9/HXJJZdojx49AlZebm6u3nXXXfrAAw9oXl5ewMr1dt9992l0dPQx5RcUFGjdunX1nnvuCcp9A2nIkCHasmVLPXTo0FHHzz33XD3ppJM0Pz/focj8U1xcrC1atNBrr73WsRhyc3O1bt26evvttzsWQ0XS0tIU0Pfee8/pUEIGWKJlfK463UldI3iaEJxcZsMj0Osx3Xbbbbz44ov87W9/Y/z48QEr19vChQvp1asXJ5544lHHo6Oj6dWrV9jXIDZt2sQ333zDbbfdRp06dY567cEHH2Tr1q1MnTrVoej8k5mZyfbt24+pxYVSo0aNuPzyy3nvvffCck6EqvLUU0+RkJDAyJEjnQ4nLFSYIETkHRFp5PW8rYjMDm5Y4eXAgQMAYbGSY6tWrdi+fXtA5g9kZmbywQcf8NBDD3H77bfz6quvkpOTE4Ao/6e4uJhly5bRu3dvn68nJyezfPnysF5+47PPPgNg1KhRx7w2cOBAOnToEPYzhefPnw/A2Wef7Wgcqamp5ObmhmVC/e6771i0aBH33Xcf0dHRTocTFvypQfwALBKRC0XkFlyT1v4V1KjCjCdBhEsNAmDr1q3VLuvNN98kMjKSP//5z/zlL3+huLg44GPVf/vtN/bv319mgujevTv5+flhvST0J598Qrdu3ejUqdMxr4kIN9xwA3PmzAnrvTrmz59P8+bNOeWUUxyN45xzzuGUU04Jy36bp556iri4OMaMGeN0KGGjwgShqq8BNwNfAI8D56jqf4MdWDjxNDGFQw0ikLOpp0+fTkpKCq1ataJ9+/b069ePtLTSA82qZ+nSpQBlbkzTrVs3AFatWhXQ+wbKzp07mT9/PpdddlmZ59xwww0AfPDBB6EKq9Lmz5/P2Wef7fhuaCJCamoqP/30U1j9m//444/MmTOHcePGUbduXafDCRv+NDFdD0wGbgDeAr4SkR5BjiushFMTU6ASxObNm1m9ejVDhw4tOXb++eezZMkS9uzZU62yvS1dupSYmJgyx5N7jofTh4W3OXPmoKpH/T2VlpCQQO/evUsmA4abnJwcsrOzHW9e8rjhhhuIiYnhlVdecTqUEo899hixsbGkpqY6HUpY8aeJ6Qqgv6p+oKoPALcC4d3gGmDh1kkN1U8QP/74I3D0mPhBgwahqsyZM6daZXtbtmwZ3bt3L7NNt379+rRv3z6sE0S9evVITk4u97xLL72UhQsXhuUyKOHS/+ARGxvLqFGjePvtt8nNzXU6HL7//ntmzJjB/fffHxa/4+HEnyamS/V/i+ihqotxLcR33AinGkTz5s2JjIys9gdReno6MTExdO/eveTYGWecQf369Zk1a1Z1wwRco0LK66D26Ny5M5mZmQG5Z6DNmTOHs88+u8JOy+HDXetQ/ve/4df6On/+fOrXr0+PHuFT8b/zzjvJy8tj8uTJjsahqjz44IPExcUdlzvGVcSfJqbJpR/AqyGILWyEUyd1REQEJ510UrVrEIsXLyYpKYmYmJiSY9HR0aSkpDB7dmAGqWVnZ5Obm1thgujYsSNZWVlhN8N269atZGRk+LXyabdu3UhISGD69OkhiKxy5s+fT79+/fze2jYUevXqRf/+/Xn55ZcpKipyLI6vv/6aBQsW8PDDD3PCCSc4Fke48qeJ6Uuvx2ygIXAgmEGFm3BqYoLqz6YuKipi6dKlnH76sRXBfv36kZmZWbIHd3WsWLECoMJvromJieTl5YVd84ynGc6fphkRYciQIcyZM4eCgoJgh+a33bt3s3r1as455xynQznGXXfdRXZ2tmO1rqKiIh544AHat2/Pn/70J0diCHf+NDF94vV4D7gSKL9BtpY5cOAAderUCZux0dVNEBkZGRw4cIA+ffoc81pSUhLwvw/36li1ahUiUjJSqSyevX6zsrKqfc9AWrx4MdHR0fTs2dOv8wcPHsyBAwdYuHBhkCPzn2erz3Dpf/B26aWX0r59e/72t785Unt8/fXXWblyJc8880zY/G6Hm6rMpE4EWgQ6kHCWl5cXNrUHqH6C8KyF4ytBeD4Mf/755yqX77Fy5Uo6dux4zAzq0jp27AjAr7/+Wu17BtLixYvp0aOH38Mezz33XCIjI5kxY0aQI/PfvHnziImJ8VlbdFpUVBT33XcfixcvDli/l792797Ngw8+yIABAxgxYkRI712T+NMHsV9E9nn+BP4L3Bf80MLHgQMHwqKD2iMuLo5du3Zx+PDhKl2/Zs0a6tSpU/LN3dtJJ51EixYtWL58eXXDZOXKlZx22mkVnhcfH090dHRYJYiioiKWLFlSqQ/WRo0a0bdv37BKEPPnz6dPnz5hO7Z/9OjRtG7dmieffDKk933kkUfIzc3lxRdfdHxuSDjzp4mpgao29Pqzk6p+EorgwsWBAwfCrgYBVd9Zbu3atZxyyik+Oy1FhJ49e1a7BpGfn09WVtZRo6TKEhUVRfv27cOqiSkjI4P9+/dzxhlnVOq6gQMHsmzZMvbv3x+kyPyXl5fH0qVLw7J5yaNOnTqMHz+eefPmlSxHHmyrVq3i3//+N7fddptf/z+PZ2UmCBHpVd4jlEE6LS8vL+xqEFD1uRBr166lS5cuZb6elJTEmjVrqtXZumbNGlTVrxoEuJqZwqkG4alBVTQCq7SUlBSKiopK2v6dtGjRIgoLC8Oyg9pbamoqbdq0Yfz48UFfk0tVufPOO2ncuDGPP/54UO9VG5RXg3iunMc/gx9a+AjXGkRVEkReXh4bNmwoN0H07NmTI0eOsGbNmirH6Jn45u83tMTExLAa6rpy5UpiYmJ8rr9UnjPPPJOoqCi+//77IEXmv/nz5yMi9OvXz+lQynXCCSfw9NNPs2TJkqAvV/LJJ58wd+5cnnrqKZo2bRrUe9UG5SWIV1R1IHCTqg4s9Tg3VAGGg3CrQbRu3RqgSvv7ZmRkoKrlbqXoGclUnWamlStXcuKJJ/q9OU1iYiL5+flhsxnSqlWr6Ny5c6VHt3hmXYdDgpg3bx49evRwfCdEf1x77bX07NmTBx54IGhLge/bt497772XHj16cMsttwTlHrVNeQnifvefH4cikHAWbp3UTZs2JSYmpkofpmvXrgUotwbRsWNH6tWrV62O6lWrVtGtWzciIvwbKOcZyRQu/RCrVq2qcvt0SkoK6enpjm5FeuTIERYuXBjW/Q/eIiIieOGFF9i0aRMPP/xwwMs/cuQII0aM4I8//mDixIlERkYG/B61UXm/vbtEZAbQTkTSSj9CFWA4CLdhriJCXFxclWoQa9euJTo6mg4dOpR5TmRkJN27d69yDUJVWbFihd/9DxBeCWL37t1s3ry5UvF7S0lJobCwkJ9++inAkflv2bJl5Ofn15gEAa6/t9TUVJ5//nkWLVoUsHJVldTUVGbOnMnrr7/OWWedFbCya7vyEsRFwMPATnz3Q1RIRIaIyDoRyRKR+328PkZEdojIz+7HzV6vFXkddzQhhVsNAlzNTFWpQWRkZNCxY8cKm048I5mq0mm4detWdu3aValv4CeffDIRERFhsadCZftPSjvrrLOIiIhwtJkp3Bbo89ezzz5L69atufHGGwNWA3vsscd46623ePTRR22vh0oqM0GoaoGqLgT6qer3pR8VFSwikcBEYCjQBRglIr7aNT5S1ST34w2v4we9jg+r5PsKGFUNu05qqPpkuXXr1vm1aUxSUhL79++v0kY+VfmAjY6OJi4uLiwSxMqVKwGqXINo2LAhvXr1cjxBJCYmctJJJzkWQ1U0bNiQyZMnk5GRwY033ljtQQuTJ0/mscce48YbbwxK01Vt5888iB1VLPt0IEtV16tqAfAhMLyKZTnm8OHDFBcXh12CaN26daWbmAoLC8nKyvIrQXhmVFelH6KqH7Bt27YNiwSxatUqmjZtSqtWrapcRkpKCosWLXJk7+Xi4mJ++OGHGld78Bg0aBD/+Mc/mDZtGk888USVy/n0009JTU1l8ODBvPbaazYhrgqqstSGv1oDm7ye57iPlXaFiKwUkY9F5GSv43VFZImILBSRS4MYZ7nCaTc5b3FxcRw4cKBSE7Kys7M5cuQIp556aoXnduvWjcjIyCr1Q6xatYq4uDiaNWtWqevCKUF07969Wh8oKSkpFBQUBLQt3V9r165l9+7dNTZBANx7773ccMMNPPLII1Vaq+nll19mxIgR9OnTh2nTptlaS1UUzAThj/8CCaraHdde194bEbVV1WTgGuBfInJMr6qIpLqTyJIdO6pa0SmfJ0FUtJ5QqFVlLsS6desA/KpB1K1bl86dO1e5BlGV5pm2bduSk5Pj6PLPxcXFrFq1qsrNSx6e7T2daGby9D+E+wS58ogIb7zxBtdeey1//etfufvuuzl06FCF1+Xm5nLTTTcxduxYhg0bxuzZs2nYsGEIIq6dyptJPUFEXirr4UfZmwHvGkEb97ESqrpLVT0LCr0B9PZ6bbP7z/XAXOCYJTVVdZKqJqtqcvPmzf0IqfLy8/OB8Fnq26MqcyEqkyCAKi25UVhYyNq1a6vUwdu2bVsKCwsdnQuxYcMG8vLyqp0gGjduTI8ePRxLEHFxcbRr1y7k9w6k6Oho3n77be666y5eeuklkpKSmDFjhs+BE/n5+bzxxht07dqVKVOm8Ne//pVPPvkk7L7Y1TTl7SCyxP3nWbg6mT9yPx8JrPWj7HQgUUTa4UoMV+OqDZQQkVaq6llQaBjwi/t4EyBfVQ+LSKw7hn/4cc+Aq201iNjYWL9nkCYlJfHOO++wfft2WrTwbwHfzMxMCgoKqvQBm5CQAMDGjRs5+eSTyz85SDz9J4FYoyclJYXXXnuNw4cPU6dOnWqX5w9VZd68eSU1mJouIiKCf/3rXwwdOpRbb72VCy64gPj4eIYOHUpcXBxFRUWsWbOG2bNnk5ubS69evUhLS6v0EinGtzIThKpOARCR23DtSV3ofv4qML+iglW1UETuAL4FIoHJqrpGRB4HlqhqGnCniAwDCoHdwBj35Z2B10SkGFct5xlV9ScpBVy41iCqkiAyMjL8rj3A0Ut/Dx482K9rqvMB27ZtW8D1Lb5///6Vvj4Q/JlI6K+UlBRefPFF0tPTQ/Z+1q1bx+bNmznvvPNCcr9QueCCC1i7di2ffvop7733HlOnTmXPnj2ICB06dODiiy8mNTWV/v3714rEGC782YOwCa5d5Ha7n9d3H6uQqn4FfFXq2MNePz8APODjuh+B6tXxAyRcaxD169enYcOGlW5iuuSSS/w+37MT3PLly/1OEKtWrSIyMtKvjvDS4uPjARztqM7IyKBNmzY0aNCg2mV5Oom///77kCUIz3axtS1BgGvNpmuvvZZrr70WgIKCAoqLi8N2KfPawJ9O6meA5SLylohMAZYBTwc3rPARrjUIcPVD5OTk+HVubm4u27dvr1QNomnTprRt27ZS/RArV67k1FNPrVKTyoknnkjz5s0dTRD+zhPxR2xsLN26dQtpP8SsWbNo166d32tg1WQxMTGWHILMn3kQbwJnAJ8BnwJnepqfjgfhth+1t8oMC61sB7VHz549Wbp0qd/nV3cEkJNDXVWVjIyMKtV+ypKSksKPP/7IkSNHAlZmWQoLC5kzZw6DBg0K+r3M8cGfHeUEGAT0UNUvgBgRCb/9C4PEU4MItyYmCE2CSE5O5tdff2Xv3r0Vnrt37142btxYrQ5eJxPEtm3b2LdvX8BqEOBKEJ6Ne4Jt6dKl7N27t1Y2Lxln+NPE9G/gTGCU+/l+XEtoHBfCuQYRHx/Pzp07/VqzJiMjo2TntspITk4G8OsDbvXq1UDVl6gAV4L4/fffHdkXIiMjAyCgNQjPXIRQNDN5+h/OPfe4Wo3fBJE/CeIMVb0dOASgqnuAmKBGFUbCvQYBsGnTpgrOdNUgOnToUOkZpZ7hgkuWLKngzMAMEW3bti0HDx4kWBMfy1PVWlZ5WrZsSefOnZkzZ07AyizLrFmzSEpKIlhzgszxx58EccS98J4CiEhzILj7AoaRvLw8oqOjw3KqvidB+NMkU9XO19jYWNq1a+dXglixYgWNGjWq1hwG77kQobZu3TpOOOEE2rRpE9ByBw0axPz586u1hWtF8vPzWbBggTUvmYDyJ0G8hKuDuoWIPAX8APwtqFGFkfz8/LCsPYD/w0KLior8XqTPl+TkZNLT0ys8b+HChSQnJ1drHHplkl6geeaJ+LvJkb/OO+888vPzWbhwYUDL9fbDDz9QUFBgHdQmoPwZxfQe8H+4ksIW4FJVnRrswMJFuG0W5C0uLo7IyMgKP0w3btzI4cOHq5UgNmzYUG6zz969e1m1alW1x/t7T5YLtUAOcfU2YMAAIiIimDVrVsDL9pg9ezbR0dE1eoE+E378GcX0jqpmqOpEVX1ZVX8RkXdCEVw4yMvLC9saRFRUFG3atKkwQVS389WzA5dnEThfFi5cSHFxcbV362rcuDENGzYMeQ3i0KFDZGdnB7SD2qNRo0b06dOnpBM5GL799lvOPPPMsP0yY2omf+rSR+1u7+6POG4WOsnPzw/rX7oOHTrw22+/lXtOdTtf+/Tpw4knnlhuR+uCBQuIiIigb9++VbqHNyeGumZlZaGqQalBgKuZadGiRezbty/gZefk5LBixQouuuiigJdtjm/lreb6gIjsB7qLyD73Yz+wHThu9qQO5xoEQKdOncjMzCz3nHXr1tG0aVNiY2OrdI+YmBjOOuss5s6dW+Y5P/zwA0lJSQFZosKJBOFJosGoQYCro7qoqIh58+YFvOyvvnKtZnPxxRcHvGxzfCtvy9G/qWoD4FlVbeh+NFDVZqp6zP7StVW41yA6derE7t272bVrV5nnBKJtfeDAgaxevdpnP8SRI0dYtGhRwDaDdyJBeJrhOnXqFJTyzzzzTOrWrRuUZqbp06eTkJBA586dA162Ob7508R0zKxpEQleY2qYCfcaRGJiIkC5tYhAJIgBAwYA+KxFLFiwgPz8/JJzqqtt27bs3bvXr9nbgbJu3TratGkTtC8DdevW5eyzzw54R/XBgweZPXs2F198sa1iagKuvCamuiLSDIgVkSYi0tT9SMD31qG1Uk2oQUDZCWLv3r1s2bKl2gkiOTmZxo0b8+WXXx7z2vTp04mJieH888+v1j08nBjqmpmZGbT+B49BgwaxevXqgG6INGvWLPLz8615yQRFeTWI/4dr06BTca3gutT9+AJ4OfihhYdwr0G0a9eOyMhIfv31V5+ve7YMTUpKqtZ9oqOjueSSS/jiiy+OmvClqnz22WcMGDAgIP0PEPoEoaqsW7cuaM1LHhdeeCGAzyRbVZ988glNmjSx5TVMUJTXB/GiqrYDxqlqO69HD1U9bhJEuNcgoqOjad++fUkna2nLli0DoFevXtW+11VXXUVubi7//e9/S4798MMPrF+/nuuuu67a5Xt4EsTvv/8esDLLs3PnTnJzc4Neg+jatStt27Zl+vTpASmvoKCAL774gmHDhoXlTH9T85XXxOT5SrJZRC4v/QhRfI4L54lyHl27di1ZB6m0ZcuW0aZNG7+3DC3PkCFDiI+P56WXXipZTO9f//oXDRs25PLLA/dfokWLFtSpUydkNQhPcg12DUJEuOSSS5g5cyYHDx6sdnlz5swhNzeXESNGBCA6Y45VXhNTivvPS3w8josGzyNHjlBYWBjWTUzgWlAvMzPT5xj7pUuXBqT2ABAZGcn48eOZN28eH374IbNnz+bTTz/lnnvuCWgSjYiIID4+PmQJwtN/E+waBLiGono6lqtr6tSpNGjQIGB9P8aUVt6e1I+4/7wxdOGEl3Be6tubJwEsX76clJSUkuMHDhxg3bp1jBo1qqxLK+3WW2/lvffe45prrgFcezffe++9ASvfI5QJYt26dcTExJQ0bQXTwIEDadSoER9//HG1OpYPHjzItGnTGDFiRJV27zPGH/4stdFYRO4UkedF5CXPw5/CRWSIiKwTkSwROWbuhIiMEZEdIvKz+3Gz12ujReRX92N05d5WYITzUt/ePEtyl96zIT09HVUteT0QoqKi+Prrr/nrX//KuHHjmDVrVsA6p72Fci5EZmYmHTt2JDIyMuj3iomJ4bLLLuPzzz/n8OHDVS7n888/Z//+/dxwww0BjM6Yo5VZg/DyFbAQWEUllvl2L8kxETgfyAHSRSRNVdeWOvUjVb2j1LVNgUeAZFzLjC91X7vH3/sHQk2pQbRs2ZLWrVsfkyBmzpxJVFRUyaY1gdK4cWOeeuqpgJZZWtu2bdm6dSuHDh0K+r7DmZmZQe9/8HbllVfy1ltvMXPmzCrXIt5++23i4+MD/m9rjDd/JsrVVdW/qOqbqjrF8/DjutOBLFVdr6oFwIfAcD/jugCYqaq73UlhJjDEz2sDpqbUIMC1XtJPP/101LEZM2bQt2/foHzDD7bKbIZUHdVdCr0qzjvvPJo2bcq7775bpes3btzIjBkzuP766wO+NLkx3vz53/WOiNwiIq28Jss19eO61oD3b3cOvifYXSEiK0XkYxHx7DTj17UikioiS0RkSTB2IKspNQhwfehkZ2eXLNy3a9culi1bVmM7MEM1F2Ljxo0UFBSEtAYRExPDddddx2effVbuEilleeWVVwBITU0NdGjGHMWfBFEAPAv8xP8my1W8vZh//gskqGp3XLUEf2omJVR1kqomq2pyMLZZ9CSImlCDGDLEVcH6/PPPAdcCbqrK4MGDHYyq6kKVIIKxzag/brrpJgoKCnjnncqtnH/w4EFef/11Lr300pINo4wJFn8SxL1AR1VN8Jos196P6zYD3ntPtnEfK6Gqu1TV01P3Bv9bRrzCa0PB08RUE2oQHTt2JDk5mbfeeovi4mJeffVVOnbsyOmnH7OUVo3Qpk0bIiIigj5ZzjPENZQ1CHDt23366afz2muvUVzs/w6+U6ZMYffu3YwdOzaI0Rnj4k+CyALyq1B2OpAoIu1EJAa4mlLLhItIK6+nw4Bf3D9/Cwx2rwHVBBjsPhZSNakGAXDXXXexevVqBg4cyI8//sjdd99dY9uoo6OjiYuLC0kNokmTJlVeCr067r77bjIyMkhL82/1/EOHDvHUU0/Rt2/fo4YzGxMs/nx65AE/i8hrlRnmqqqFwB24Pth/Aaaq6hoReVxEhrlPu1NE1ojICuBOYIz72t3AE7iSTDrwuPtYSNWkGgTANddcw8iRI5k3bx4XXXQR/+///T+nQ6qWUMyF8IxgcmIl1JEjR9K+fXuefvrpkpnp5Xn99dfJycnhySeftJVbTUj4M8z1c/ej0lT1K1zDZL2PPez18wPAA2VcOxmYXJX7BkpNq0FEREQwdepUdu7cSbNmzWr8h0jbtm1ZuHBhUO+xbt06Bg4cGNR7lCUqKor777+f1NRUPv74Y0aOHFnmudu3b+fRRx9lwIABtjCfCZkKaxClhramAcv9HOZa49W0GoRHbGxsjU8O4EoQmzZtoqioKCjl5+XlkZOTE/IOam833ngjSUlJ3HPPPezfv7/M8+666y4OHDjAxIkTa8W/rakZ/JlJPVdEGrqHti4DXheR54MfmvPy8vIQEVvKwCFt27alsLCQLVu2BKV8zxLpoe6g9hYVFcUrr7zCH3/8wS233OKzw3rChAl8+OGHPPTQQ3Tp0sWBKM3xyp8+iEaqug+4HHhbVc8ABgU3rPDgWerbvrE5I9hDXUO5SF95+vbtyzPPPMNHH33EHXfcUbIEh6ry8ssvc9ddd3HppZfy17/+1dE4zfHHnz6IKPdooyuBB4McT1ipCUt912beCSJQ+11788yB6NixY8DLrqzx48ezbds2nn/+eWbMmEH//v1ZsWIFP//8M0OHDuX9998PyVpRxnjzpwbxOK6RSFmqmi4i7QHf25fVMvn5+TWmg7o2SkhIACA7Ozso5WdmZhIfHx8W/8YiwnPPPcf06dNp3749X3/9NfXq1WPSpEl8+eWXnHDCCU6HaI5DFdYgVHUaMM3r+XrgimAGFS6sBuGsE088kZNOOqlk+ZBAC8U2o5V10UUXcdFFFzkdhjGAHwlCRJoDtwAJ3uer6p+CF1Z4sBqE8zp06BCUBKGqZGZmBnSrVGNqG3/6IL4A5gOzgOCMNwxTVoNwXocOHQKy+1pp27dvZ+/evWFXgzAmnPiTIE5U1fuCHkkYys/Pp1WrVhWfaIKmQ4cOvP322wHfFyJcRjAZE8786aSeLiIXBj2SMGQ1COd16NABCHxHtWcEk9UgjCmbPwniLlxJ4qCI7BOR/SKyL9iBhYO8vDzrg3CYJ0EEuh8iMzOTOnXq2JLZxpTDn1FMNW87sgDxTJQzzglWgsjIyAjZPtTG1FT+9EHgXnI7EShpBFbVecEKKlxYDcJ5sbGx1K9fP+AJYvXq1TV2rwxjQsWftZhuBubhmiz3mPvPR4MblvOKioo4fPiw1SAcJiIBH+p64MABsrOz6datW8DKNKY28rcPog+wUVUHAj2B3GAGFQ48K7laDcJ5gU4Qa9euBbAEYUwF/EkQh1T1EICI1FHVDKDWjw2sqUt910YdOnQgOzs7YMt+r1mzBoCuXbsGpDxjait/EkSOiDTGtWnQTBH5AgjuNl9hoKZtFlSbdejQgYKCAnJycgJS3urVq6lbty7t2/uztboxxy9/RjFd5v7xURGZAzQCvglqVGHAahDh49RTTwVccxc8K7xWx+rVq+nSpYuNYDKmAuXWIEQkUkQyPM9V9XtVTVPVAn8KF5EhIrJORLJE5P5yzrtCRFREkt3PE9zzLn52P1719w0FiqcGYQnCeZ07dwb+13dQXatXr7b+B2P8UG4NQlWL3B/w8ar6e2UKFpFIYCJwPpADpItImqquLXVeA1wd4YtKFfGbqiZV5p6BZJ3U4aN58+Y0a9YsIAli9+7d/PHHH5YgjPGDP/MgmgBrRGQxkOc5qKrDKrjudFx7SKwHEJEPgeFA6d/yJ4C/A+P9DToUrAYRPkSELl268Msvv1S7LOugNsZ//iSI/6+KZbcGNnk9zwHO8D5BRHoBJ6vqlyJSOkG0E5HlwD7gIVWdX/oGIpIKpAIBXzLBahDhpXPnzkybNg1VrdYWsJ4EYTUIYyrmzyimC919DyUPoNqL94lIBPA8cK+Pl7cA8araE/gL8L6INCx9kqpOUtVkVU1u3rx5dUM6itUgwkuXLl3Ys2cP27dvr1Y5q1evpkGDBpx88skBisyY2sufBHG+j2ND/bhuM+D9W9jGfcyjAdANmCsiG4C+QJqIJKvqYVXdBaCqS4HfgJAuu2k1iPDSpUsXgGo3My1fvpzTTjutWrUQY44XZSYIEblNRFYBp4jISq9HNrDSj7LTgUQRaSciMcDVQJrnRVXdq6qxqpqgqgnAQmCYqi4RkebuTm7ce2AnAuur/C6rwGoQ4SUQI5kKCwtZvnw5ffr0CVRYxtRq5fVBvA98DfwN8B6iul9Vd1dUsKoWisgduNZuigQmq+oaEXkcWKKqaeVcfg7wuIgcAYqBW/25ZyB5EoRtFh8eWrduTYMGDapVg1i7di0HDx60BGGMn8pMEKq6F9gLjKpq4ar6FfBVqWMPl3HuAK+fPwE+qep9AyE/P58TTjiBiAh/WuFMsHlGMlWnBpGeng5gCcIYP9mnXxlsqe/w06VLF1avXl3l69PT02nUqBEdO3YMYFTG1F6WIMpgmwWFn6SkJLZv386WLVuqdH16ejq9e/e2WqExfrLflDJYDSL89OrVC4Bly5ZV+tpDhw6xcuVKa14yphIsQZTBahDhp0ePHohIlRLEypUrKSwstARhTCVYgiiD1SDCT4MGDejUqVOVEoR1UBtTeZYgymA1iPCUnJzM4sWLUdVKXbd48WJatGhhM6iNqQRLEGXIy8uzBBGGzjzzTP744w9+/71Siwszb948zjrrLJtBbUwlWIIoQ35+vjUxhaF+/foB8NNPP/l9zYYNG9iwYQMDBgwIUlTG1E6WIMpgNYjwdNppp1GvXj0WLFjg9zXff/89gCUIYyrJEkQZrAYRnqKiojjzzDOZO3eu39fMmTOHZs2a2RLfxlSSJQgfVNU6qcPYoEGDWL16NVu3bq3w3OLiYr7++mvOP/98myBnTCXZb4wPBw8eRFWtBhGmzj/ftQL97NmzKzx3yZIlbN++nYsuuijYYRlT61iC8MGzF4TVIMJTUlISsbGxfPXVVxWe++WXXxIREcGQIUNCEJkxtYslCB88S31bDSI8RUREMGzYMKZPn87hw4fLPE9VmTp1Kv379yc2NjaEERpTO1iC8MFqEOHviiuuYN++fcyaNavMc5YtW0ZGRgbXXXddCCMzpvawBOGD1SDC33nnnUfTpk2ZMmVKmedMmTKFmJgYRowYEcLIjKk9LEH4YDWI8FenTh3GjBnDZ5995nP57z179jB58mSuvPJKmjRp4kCExtR8liB8sBpEzXDrrbdSVFTEc889d8xrEydOJC8vj3HjxjkQmTG1gyUIH6wGUTMkJiYyevRoJkyYQFZWVsnxDRs28PTTT3PppZfSo0cPByM0pmYLaoIQkSEisk5EskTk/nLOu0JEVESSvY494L5unYhcEMw4S7MaRM3xxBNPUK9ePS677DK2bNnCzp07ueyyy4iIiODFF190OjxjarSoYBUsIpHAROB8IAdIF5E0VV1b6rwGwF3AIq9jXYCrga5AHDBLRDqpalGw4vVmNYiao02bNkydOpWLL76YhIQERITi4mLS0tKIj493OjxjarSgJQjgdCBLVdcDiMiHwHBgbanzngD+Doz3OjYc+FBVDwPZIpLlLs//JTyrwVODsARRMwwaNIiVK1cyadIkiouLuemmm+jatavTYRlT4wUzQbQGNnk9zwHO8D5BRHoBJ6vqlyIyvtS1C0td27r0DUQkFUgFAvpt0VODsCammqNTp07885//dDoMY2oVxzqpRSQCeB64t6plqOokVU1W1eTmzZsHLLa8vDxiYmKIigpm/jTGmPAWzE/AzYD3/o5t3Mc8GgDdgLnuXb5OAtJEZJgf1waVLfVtjDHBrUGkA4ki0k5EYnB1Oqd5XlTVvaoaq6oJqpqAq0lpmKoucZ93tYjUEZF2QCKwOIixHsU2CzLGmCDWIFS1UETuAL4FIoHJqrpGRB4HlqhqWjnXrhGRqbg6tAuB20M1gglcCcJqEMaY411QG9lV9Svgq1LHHi7j3AGlnj8FPBW04Mpx4MAB6tev78StjTEmbNhMah/27Nlj6/cYY457liB8sARhjDGWIHzKzc2lcePGTodhjDGOsgThg9UgjDHGEsQxDh06xKFDhyxBGGOOe5YgStmzZw+AJQhjzHHPEkQpubm5gCUIY4yxBFGK1SCMMcbFEkQpngRho5iMMcc7SxClWBOTMca4WIIoxZqYjDHGxRJEKdbEZIwxLpYgStmzZw/169cnOjra6VCMMcZRliBKyc3NteYlY4zBEsQxtm/fTrNmzZwOwxhjHGcJopStW7fSqlUrp8MwxhjHWYIoxRKEMca4WILwUlxczLZt2zjppJOcDsUYYxwX1AQhIkNEZJ2IZInI/T5ev1VEVonIzyLyg4h0cR9PEJGD7uM/i8irwYzTY9euXRQWFlqCMMYYgrgntYhEAhOB84EcIF1E0lR1rddp76vqq+7zhwHPA0Pcr/2mqknBis+XrVu3AliCMMYYgluDOB3IUtX1qloAfAgM9z5BVfd5Pa0HaBDjqdAff/wBWIIwxhgIboJoDWzyep7jPnYUEbldRH4D/gHc6fVSOxFZLiLfi8jZvm4gIqkiskREluzYsaPaAa9fv95143btql2WMcbUdI53UqvqRFXtANwHPOQ+vAWIV9WewF+A90WkoY9rJ6lqsqomN2/evNqxZGVlUbduXeLi4qpdljHG1HTBTBCbgZO9nrdxHyvLh8ClAKp6WFV3uX9eCvwGdApGkIWFhaxatYpt27aRlZVFx44diYhwPG8aY4zjgvlJmA4kikg7EYkBrgbSvE8QkUSvpxcBv7qPN3d3ciMi7YFEYH0wgty6dSvdu3dn2rRp/Prrr3Ts2DEYtzHGmBonaKOYVLVQRO4AvgUigcmqukZEHgeWqGoacIeIDAKOAHuA0e7LzwEeF5EjQDFwq6ruDkacrVu3plmzZsybN4/MzEyuuOKKYNzGGGNqnKAlCABV/Qr4qtSxh71+vquM6z4BPglmbB4iQp8+fZg2bRoAgwYNCsVtjTEm7FljO3DJJZcAEBkZSd++fR2OxhhjwkNQaxA1xZ/+9Ceys7Pp168fderUcTocY4wJC5YggLp16/Lss886HYYxxoQVa2IyxhjjkyUIY4wxPlmCMMYY45MlCGOMMT5ZgjDGGOOTJQhjjDE+WYIwxhjjkyUIY4wxPomqo5u4BYyI7AA2Oh1HFcQCO50OIsTsPR8f7D3XDG1V1eeGOrUmQdRUIrJEVZOdjiOU7D0fH+w913zWxGSMMcYnSxDGGGN8sgThvElOB+AAe8/HB3vPNZz1QRhjjPHJahDGGGN8sgRhjDHGJ0sQISIiQ0RknYhkicj9ZZxzpYisFZE1IvJ+qGMMtIres4jEi8gcEVkuIitF5EIn4gwUEZksIttFZHUZr4uIvOT++1gpIr1CHWOg+fGer3W/11Ui8qOI9Ah1jIFW0Xv2Oq+PiBSKyIhQxRZwqmqPID+ASOA3oD0QA6wAupQ6JxFYDjRxP2/hdNwheM+TgNvcP3cBNjgddzXf8zlAL2B1Ga9fCHwNCNAXWOR0zCF4z/28/k8PPR7es/ucSOA74CtghNMxV/VhNYjQOB3IUtX1qloAfAgML3XOLcBEVd0DoKrbQxxjoPnznhVo6P65EfBHCOMLOFWdB+wu55ThwNvqshBoLCKtQhNdcFT0nlX1R8//aWAh0CYkgQWRH//OAGOBT4Aa/XtsCSI0WgObvJ7nuI956wR0EpEFIrJQRIaELLrg8Oc9PwpcJyI5uL5pjQ1NaI7x5++kNrsJVw2qVhOR1sBlwCtOx1JdliDCRxSuZqYBwCjgdRFp7GRAITAKeEtV2+BqfnlHROz/ZC0kIgNxJYj7nI4lBP4F3KeqxU4HUl1RTgdwnNgMnOz1vI37mLccXO2zR4BsEcnElTDSQxNiwPnznm8ChgCo6k8iUhfXYmc1ulpeDn/+TmodEekOvAEMVdVdTscTAsnAhyICrv/PF4pIoap+7mhUVWDf1kIjHUgUkXYiEgNcDaSVOudzXLUHRCQWV5PT+hDGGGj+vOffgfMARKQzUBfYEdIoQysNuME9mqkvsFdVtzgdVDCJSDzwKXC9qmY6HU8oqGo7VU1Q1QTgY+DPNTE5gNUgQkJVC0XkDuBbXKMbJqvqGhF5HFiiqmnu1waLyFqgCBhfk79t+fme78XVlHYPrg7rMeoeAlITicgHuJJ8rLtf5REgGkBVX8XVz3IhkAXkAzc6E2ng+PGeHwaaAf92f6Mu1Bq+2qkf77nWsKU2jDHG+GRNTMYYY3yyBGGMMcYnSxDGGGN8sgRhjDHGJ0sQxhhjfLIEYYwfRGSuiAR0eKaINBaRP3s9HyAi0/289l8ick6A4vhQRBIDUZapXSxBGOOcxsCfKzqpNBFpBvR1LxoXCK8A/xegskwtYgnC1FgiMl5E7nT//IKIfOf++VwRec/98ysissS9x8Zj7mNDRGSaVzkl39xFZLCI/CQiy0RkmojU93Ffn+eIyAYRecx9fJWInOo+3lxEZrpjeENENrpnyz8DdBCRn0XkWXfx9UXkYxHJEJH3xD27rJQrgG+84tngLg8RSRaRue6fHxWRKSIy333Py0XkH+7YvhGRaHcR84FBImITZ81RLEGYmmw+cLb752RcH67R7mOeb9cPumfudgdS3OsCzQLOEJF67nOuwrV2TizwEDBIVXsBS4C/eN/Qj3N2uo+/AoxzH3sE+E5Vu+JaeiHeffx+4DdVTVLV8e5jPYG7ce2P0R44y8f7PgtY6sffD0AH4FxgGPAuMEdVTwMOAhcBuBeVywJq/GY+JrAsQZiabCnQW0QaAoeBn3AlirNxJQ+AK0VkGa7NmLri2rSoENc38Evc35ovAr7AtYlPF2CBiPwMjAbalrpnRed86hVbgvvn/rj2w0BVvwH2ULbFqprj/tD+2asMb63wf82qr90LQK7CteSJp+axqlTZ24E4P8s0xwmrUpoaS1WPiEg2MAb4EVgJDAQ6Ar+ISDtc3+L7qOoeEXkL14KA4PrAvgPXxi9LVHW/uzlnpqqOKue2FZ1z2P1nEVX7/Trs9XNZZRzkf+8DoJD/fdmrW+rcw+CqJYjIEa+1ropLlV3XXa4xJawGYWq6+biSwDz3z7cCy90fhA2BPGCviLTEteWlx/e4to28Bfe3e1w7np0lIh0BRKSeiHQqdT9/ziltAXCl+/zBQBP38f1Ag8q9XQB+wZUEPTYAvd0/X1GF8sC1enC5eyyb448lCFPTzcfV5PKTqm4DDrmPoaorcDUtZQDv4/qgxv1aETAdV9KY7j62A1dt5AMRWYmryepU75v5c44Pj+FaqXc1MBLYCux3r9a7QERWe3VS++NL3EvDe5X/oogswVXrqBR38jyoqlsre62p3Ww1V2OCTETqAEXuJdDPBF5R1aRqlvkDcLGq5gYgvnuAfar6n+qWZWoX64MwJvjigani2k61AFezVnXd6y43NwBl5QLvBKAcU8tYDcIYY4xP1gdhjDHGJ0sQxhhjfLIEYYwxxidLEMYYY3yyBGGMMcan/x+0kOmJ9FHUrAAAAABJRU5ErkJggg==\n" }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Retrieve the power flux through the monitor plane.\n", "transmission = sim_data['flux']\n", "plt.plot(monitor_lambdas, transmission, color='k')\n", "plt.xlabel('wavelength (um)')\n", "plt.ylabel('transmitted flux')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In Tidy3D, results are normalized by default. In some cases, and largely depending on the required accuracy, a normalizing run may still be needed. Here, we show how to do such a normalizing run by simulating an empty simulation with the exact same source and monitor but none of the structures." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:25:55.346977Z", "iopub.status.busy": "2022-07-21T20:25:55.346829Z", "iopub.status.idle": "2022-07-21T20:26:30.748679Z", "shell.execute_reply": "2022-07-21T20:26:30.748291Z" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
[16:25:55] INFO     Auto meshing using wavelength 0.7500 defined from        grid_spec.py:472\n",
       "                    sources.                                                                 \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:25:55]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m0.7500\u001b[0m defined from \u001b]8;id=51525;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=301716;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#472\u001b\\\u001b[2m472\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m sources. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:25:56] INFO     Uploaded task 'docs_dispersion_norm' with task_id           webapi.py:120\n",
       "                    '6c5814ac-6084-48f8-926b-87ae041ee264'.                                  \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:25:56]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Uploaded task \u001b[32m'docs_dispersion_norm'\u001b[0m with task_id \u001b]8;id=324236;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=502884;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m'6c5814ac-6084-48f8-926b-87ae041ee264'\u001b[0m. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "d74adba472de4dbb9adb15e8887f33f4", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:25:58] INFO     status = queued                                             webapi.py:253\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:25:58]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m status = queued \u001b]8;id=421612;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=127604;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#253\u001b\\\u001b[2m253\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ae410281962e479890990705e31fe8d4", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:26:03] INFO     Maximum flex unit cost: 0.20                                webapi.py:244\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:26:03]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Maximum flex unit cost: \u001b[1;36m0.20\u001b[0m \u001b]8;id=24801;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=182036;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#244\u001b\\\u001b[2m244\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:26:06] INFO     status = preprocess                                         webapi.py:265\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:26:06]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m status = preprocess \u001b]8;id=312034;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=644080;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#265\u001b\\\u001b[2m265\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
[16:26:15] INFO     starting up solver                                          webapi.py:269\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:26:15]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m starting up solver \u001b]8;id=720361;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=468489;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#269\u001b\\\u001b[2m269\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:26:22] INFO     running solver                                              webapi.py:275\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:26:22]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m running solver \u001b]8;id=345821;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=768799;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#275\u001b\\\u001b[2m275\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "68df34a8844e480e8771277131f028de", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:26:24] INFO     early shutoff detected, exiting.                            webapi.py:286\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:26:24]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m early shutoff detected, exiting. \u001b]8;id=892305;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=353803;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#286\u001b\\\u001b[2m286\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     status = postprocess                                        webapi.py:292\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m status = postprocess \u001b]8;id=552628;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=199694;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#292\u001b\\\u001b[2m292\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "39fd371e8a024f9d8da675e673dc29b6", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:26:28] INFO     status = success                                            webapi.py:298\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:26:28]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m status = success \u001b]8;id=981710;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=651979;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#298\u001b\\\u001b[2m298\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
[16:26:29] INFO     downloading file \"output/monitor_data.hdf5\" to              webapi.py:574\n",
       "                    \"data/sim_data.hdf5\"                                                     \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:26:29]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=611437;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=617490;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#574\u001b\\\u001b[2m574\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/sim_data.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b1e3bb5952114ed29c0be3accf10b0f7", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:26:30] INFO     loading SimulationData from data/sim_data.hdf5              webapi.py:398\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:26:30]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/sim_data.hdf5 \u001b]8;id=107671;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=400290;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#398\u001b\\\u001b[2m398\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     Auto meshing using wavelength 0.7500 defined from        grid_spec.py:472\n",
       "                    sources.                                                                 \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m0.7500\u001b[0m defined from \u001b]8;id=136107;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=579164;file:///home/shashwat/flexcompute/repositories/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#472\u001b\\\u001b[2m472\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m sources. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sim_norm = sim.copy(update={'structures':[]})\n", "\n", "sim_data_norm = web.run(sim_norm, task_name='docs_dispersion_norm', path='data/sim_data.hdf5')\n", "transmission_norm = sim_data_norm['flux']" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:26:31.010714Z", "iopub.status.busy": "2022-07-21T20:26:31.010523Z", "iopub.status.idle": "2022-07-21T20:26:31.080311Z", "shell.execute_reply": "2022-07-21T20:26:31.079986Z" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
<Figure size 432x288 with 1 Axes>\n",
       "
\n" ], "text/plain": [ "\u001b[1m<\u001b[0m\u001b[1;95mFigure\u001b[0m\u001b[39m size 432x288 with \u001b[0m\u001b[1;36m1\u001b[0m\u001b[39m Axes\u001b[0m\u001b[1m>\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n" }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(monitor_lambdas, transmission, label='with structure')\n", "plt.plot(monitor_lambdas, transmission_norm, label='no structure')\n", "plt.plot(monitor_lambdas, transmission / transmission_norm, 'k--', label='normalized')\n", "plt.legend()\n", "plt.xlabel('wavelength (um)')\n", "plt.ylabel('fraction of transmitted power (normalized)')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see that since the flux monitor already takes the source power into account, the normalizing run has no visible effect on the results." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analytical Comparison\n", "\n", "We will use a transfer matrix method (TMM) [code](https://github.com/sbyrnes321/tmm) to compare tidy3d transmission to a semi-analytical result." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:26:31.082273Z", "iopub.status.busy": "2022-07-21T20:26:31.082115Z", "iopub.status.idle": "2022-07-21T20:26:31.084312Z", "shell.execute_reply": "2022-07-21T20:26:31.084051Z" }, "tags": [] }, "outputs": [], "source": [ "# import TMM package\n", "import tmm" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:26:31.085788Z", "iopub.status.busy": "2022-07-21T20:26:31.085663Z", "iopub.status.idle": "2022-07-21T20:26:31.135119Z", "shell.execute_reply": "2022-07-21T20:26:31.134755Z" } }, "outputs": [], "source": [ "# prepare list of thicknesses including air boundaries\n", "d_list = [np.inf] + t_slabs + [np.inf]\n", "\n", "# convert the complex permittivities at each frequency to refractive indices\n", "n_list1 = np.sqrt(mat1.eps_model(monitor_freqs))\n", "n_list2 = np.sqrt(mat2.eps_model(monitor_freqs))\n", "n_list3 = np.sqrt(mat3.eps_model(monitor_freqs))\n", "n_list4 = np.sqrt(mat4.eps_model(monitor_freqs))\n", "\n", "# loop through wavelength and record TMM computed transmission\n", "transmission_tmm = [] \n", "for i, lam in enumerate(monitor_lambdas):\n", " \n", " # create list of refractive index at this wavelength including outer material (air)\n", " n_list = [1, n_list1[i], n_list2[i], n_list3[i], n_list4[i], 1]\n", "\n", " # get transmission at normal incidence\n", " T = tmm.coh_tmm('s', n_list, d_list, 0, lam)['T']\n", " transmission_tmm.append(T)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2022-07-21T20:26:31.136907Z", "iopub.status.busy": "2022-07-21T20:26:31.136742Z", "iopub.status.idle": "2022-07-21T20:26:31.214586Z", "shell.execute_reply": "2022-07-21T20:26:31.214291Z" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
<Figure size 432x288 with 1 Axes>\n",
       "
\n" ], "text/plain": [ "\u001b[1m<\u001b[0m\u001b[1;95mFigure\u001b[0m\u001b[39m size 432x288 with \u001b[0m\u001b[1;36m1\u001b[0m\u001b[39m Axes\u001b[0m\u001b[1m>\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n" }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.plot(monitor_lambdas, transmission_tmm, label='TMM')\n", "plt.plot(monitor_lambdas, transmission / transmission_norm, 'k--', label='Tidy3D')\n", "plt.xlabel('wavelength ($\\mu m$)')\n", "plt.ylabel('Transmitted')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "0931d55584eb4b138e49501c545a1e51": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "17d68637c23d486ab94e925abc9e810a": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_5a990cf9aa5348a2a78a59a75c0dfe3d", "msg_id": "", "outputs": [ { "data": { "text/html": "
% done (field decay = 1.43e-06) ━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━  28% 0:00:52\n
\n", "text/plain": "% done (field decay = 1.43e-06) \u001b[38;2;249;38;114m━━━━━━━━━━━\u001b[0m\u001b[38;5;237m╺\u001b[0m\u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 28%\u001b[0m \u001b[36m0:00:52\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "34824e4fb20e4a94bd06261f4a284e76": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_576bd4bcc4a749848d56f68329791ec3", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/25.0 kB?-:--:--\n
\n", "text/plain": "\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/25.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "39fd371e8a024f9d8da675e673dc29b6": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_b1906cf2458d4104b8ea6e3a6d06892f", "msg_id": "", "outputs": [ { "data": { "text/html": "
🏃  Finishing 'docs_dispersion_norm'...\n
\n", "text/plain": "\u001b[32m🏃 \u001b[0m \u001b[1;32mFinishing 'docs_dispersion_norm'...\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "3dfd2e297dae4634b13e9da838d0afe0": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "576bd4bcc4a749848d56f68329791ec3": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "58dd92a48f2a438ab9efb0543a2fa603": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5a990cf9aa5348a2a78a59a75c0dfe3d": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5d52d4dcd6be40948320708070a3d4bc": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "68df34a8844e480e8771277131f028de": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_3dfd2e297dae4634b13e9da838d0afe0", "msg_id": "", "outputs": [ { "data": { "text/html": "
% done (field decay = 1.88e-06) ━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  16% -:--:--\n
\n", "text/plain": "% done (field decay = 1.88e-06) \u001b[38;2;249;38;114m━━━━━━\u001b[0m\u001b[38;5;237m╺\u001b[0m\u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 16%\u001b[0m \u001b[36m-:--:--\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "6b985344f7474c1c953b002e4b76b50b": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_9eeacee2b3274cf1b71648a2556a2c87", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/19.7 kB?-:--:--\n
\n", "text/plain": "\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/19.7 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "7a61d39714ec46f3a03a17b2f1965cac": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_5d52d4dcd6be40948320708070a3d4bc", "msg_id": "", "outputs": [ { "data": { "text/html": "
🚶  Starting 'dispersion'...\n
\n", "text/plain": "\u001b[32m🚶 \u001b[0m \u001b[1;32mStarting 'dispersion'...\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "950931dfa40d4366be0b18ed8f1d3252": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9eeacee2b3274cf1b71648a2556a2c87": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "ae410281962e479890990705e31fe8d4": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_df8bebae58de427387701f6dbe7b1cbc", "msg_id": "", "outputs": [ { "data": { "text/html": "
🚶  Starting 'docs_dispersion_norm'...\n
\n", "text/plain": "\u001b[32m🚶 \u001b[0m \u001b[1;32mStarting 'docs_dispersion_norm'...\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "b1906cf2458d4104b8ea6e3a6d06892f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b1e3bb5952114ed29c0be3accf10b0f7": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_0931d55584eb4b138e49501c545a1e51", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/23.6 kB?-:--:--\n
\n", "text/plain": "\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/23.6 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "b87a202ad72749acaac913b4b68be0dc": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_950931dfa40d4366be0b18ed8f1d3252", "msg_id": "", "outputs": [ { "data": { "text/html": "
🚶  Finishing 'dispersion'...\n
\n", "text/plain": "\u001b[32m🚶 \u001b[0m \u001b[1;32mFinishing 'dispersion'...\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "d74adba472de4dbb9adb15e8887f33f4": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_58dd92a48f2a438ab9efb0543a2fa603", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/15.9 kB?-:--:--\n
\n", "text/plain": "\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/15.9 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "df8bebae58de427387701f6dbe7b1cbc": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 4 }