{ "cells": [ { "cell_type": "markdown", "id": "ae497630", "metadata": {}, "source": [ "# Gradient metasurface reflector" ] }, { "cell_type": "markdown", "id": "f0b7cf70", "metadata": {}, "source": [ "Electromagnetic metamaterials and metasurfaces are artificially engineered structures made of subwavelength resonating unit cells. By utilizing various design principles, they have enabled fascinating electromagnetic phenomena and capabilities such as negative refraction, cloaking, high-NA focusing, and so on. \n", "\n", "This notebook demonstrates a near-infrared metasurface reflector consisting of plasmonic antennas. First, we model the unit cell and extract the relationship between a geometric parameter and the corresponding complex reflection coefficient. Then, a super cell consisting of ten antennas is designed to exhibit a linear reflection phase such that the incident light can be diffracted to a particular angle efficiently. By a similar procedure, other beam shaping devices and metalenses can be designed according to different phase profiles. \n", "\n", "This example is based on the landmark work [Sun, S.; Yang, K.-Y.; Wang, C.-M.; Juan, T.-K.; Chen, W.T.; Liao, C.Y.; He, Q.; Xiao, S.; Kung, W.-T.; Guo, G.-Y.; et al. High-Efficiency Broadband Anomalous Reflection by Gradient Meta-Surfaces. Nano Lett. 2012, 12, 6223\u20136229](https://pubs.acs.org/doi/abs/10.1021/nl3032668).\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 1, "id": "9cdbacb8", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:36:46.042832Z", "iopub.status.busy": "2023-03-28T01:36:46.042414Z", "iopub.status.idle": "2023-03-28T01:36:47.226610Z", "shell.execute_reply": "2023-03-28T01:36:47.224793Z" } }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "import tidy3d as td\n", "import tidy3d.web as web\n" ] }, { "cell_type": "markdown", "id": "d2281a3f", "metadata": {}, "source": [ "## Unit Cell Simulation " ] }, { "cell_type": "markdown", "id": "76f5caab", "metadata": {}, "source": [ "### Simulation Setup " ] }, { "cell_type": "markdown", "id": "2736c0b1", "metadata": {}, "source": [ "In the first part of the notebook, we simulate a unit cell that consists of a rectangular gold antenna, a dielectric spacer, and a gold film on glass substrate. The thickness of the gold film is $d_3$=130 nm. The thickness of the spacer is $d_2$ = 50 nm. The thickness and width of the antenna are $d_1$=30 nm and $w$=90 nm. The only parameter we can vary is the length of the antenna $L$. The periodicities in x and y directions are $L_x$=120 nm and $L_y$=300 nm, respectively.\n", "\n", "First, define the simulation frequency and wavelength ranges." ] }, { "cell_type": "code", "execution_count": 2, "id": "fdde66c1", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:36:47.232920Z", "iopub.status.busy": "2023-03-28T01:36:47.232276Z", "iopub.status.idle": "2023-03-28T01:36:47.259255Z", "shell.execute_reply": "2023-03-28T01:36:47.258635Z" } }, "outputs": [], "source": [ "lda0 = 0.85 # central wavelength\n", "freq0 = td.C_0 / lda0 # central frequency\n" ] }, { "cell_type": "markdown", "id": "76c9939e", "metadata": {}, "source": [ "Define geometric parameters." ] }, { "cell_type": "code", "execution_count": 3, "id": "21eecc0a", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:36:47.261247Z", "iopub.status.busy": "2023-03-28T01:36:47.261100Z", "iopub.status.idle": "2023-03-28T01:36:47.278432Z", "shell.execute_reply": "2023-03-28T01:36:47.277910Z" } }, "outputs": [], "source": [ "Lx = 0.12 # unit cell size in x direction\n", "Ly = 0.3 # unit cell size in y direction\n", "d1 = 0.03 # antenna thickness\n", "d2 = 0.05 # spacer thickness\n", "d3 = 0.13 # gold layer thickness\n", "w = 0.09 # antenna width\n", "inf_eff = 1e2 # effective infinity\n" ] }, { "cell_type": "markdown", "id": "7683ef7c", "metadata": {}, "source": [ "Three materials will be defined in this model: gold for the antennas and the back plate, magnesium fluoride for the spacer, and silica for the substrate. Magnesium fluoride and silica will be modeled as lossless and non-dispersive dielectrics while gold will be modeled as a dispersive medium. \n", "\n", "More specifically, magnesium fluoride has a permittivity of 1.892 and silica has a permittivity of 2.25. For gold, we use one option from the Tidy3D's built-in [Material Library](../material_library.html). More specifically, we use the evaporated gold data from [Olmon et al](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.86.235147). There are other options for gold, as well as other common materials, in the [Material Library](../material_library.html?highlight=material%20library)." ] }, { "cell_type": "code", "execution_count": 4, "id": "bc841987", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:36:47.280729Z", "iopub.status.busy": "2023-03-28T01:36:47.280564Z", "iopub.status.idle": "2023-03-28T01:36:47.297932Z", "shell.execute_reply": "2023-03-28T01:36:47.297395Z" } }, "outputs": [], "source": [ "# define MgF2 material for the spacer layer\n", "mgf2 = td.Medium(permittivity=1.892)\n", "\n", "# using material library gold refractive index\n", "au = td.material_library[\"Au\"][\"Olmon2012evaporated\"]\n", "\n", "# define SiO2 material for the substrate\n", "sio2 = td.Medium(permittivity=2.25)\n" ] }, { "cell_type": "markdown", "id": "c8fc4946", "metadata": {}, "source": [ "Construct the substrate, gold film, spacer, and antenna structures. " ] }, { "cell_type": "code", "execution_count": 5, "id": "3a0ec4b0", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:36:47.300294Z", "iopub.status.busy": "2023-03-28T01:36:47.300158Z", "iopub.status.idle": "2023-03-28T01:36:47.319151Z", "shell.execute_reply": "2023-03-28T01:36:47.318619Z" } }, "outputs": [], "source": [ "# define SiO2 substrate\n", "sub = td.Structure(\n", " geometry=td.Box.from_bounds(\n", " rmin=(-inf_eff, -inf_eff, -inf_eff), rmax=(inf_eff, inf_eff, -d3)\n", " ),\n", " medium=sio2,\n", ")\n", "\n", "# define gold layer\n", "gold_layer = td.Structure(\n", " geometry=td.Box.from_bounds(\n", " rmin=(-inf_eff, -inf_eff, -d3), rmax=(inf_eff, inf_eff, 0)\n", " ),\n", " medium=au,\n", ")\n", "\n", "# define MgF2 spacer layer\n", "spacer = td.Structure(\n", " geometry=td.Box.from_bounds(\n", " rmin=(-inf_eff, -inf_eff, 0), rmax=(inf_eff, inf_eff, d2)\n", " ),\n", " medium=mgf2,\n", ")\n" ] }, { "cell_type": "markdown", "id": "499e1fd9", "metadata": {}, "source": [ "Define a linearly polarized [PlaneWave](../_autosummary/tidy3d.PlaneWave.html) as the excitation source. The polarization is chosen to be in the y direction. Also define a [DiffractionMonitor](../_autosummary/tidy3d.DiffractionMonitor.html) on the reflection side to extract the complex reflection coefficient." ] }, { "cell_type": "code", "execution_count": 6, "id": "2e992653", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:36:47.321477Z", "iopub.status.busy": "2023-03-28T01:36:47.321306Z", "iopub.status.idle": "2023-03-28T01:36:47.339187Z", "shell.execute_reply": "2023-03-28T01:36:47.338654Z" } }, "outputs": [], "source": [ "fwidth = freq0 / 10 # width of the gaussian pulse\n", "\n", "# define a plane wave excitation source\n", "plane_wave = td.PlaneWave(\n", " source_time=td.GaussianPulse(freq0=freq0, fwidth=fwidth),\n", " size=(td.inf, td.inf, 0),\n", " center=(0, 0, 0.3 * lda0),\n", " direction=\"-\",\n", " pol_angle=np.pi / 2, # polarization is set to y direction\n", ")\n", "\n", "# define a diffraction monitor to calculate the reflection coefficient\n", "monitor_r = td.DiffractionMonitor(\n", " center=[0, 0, 0.6 * lda0], size=[td.inf, td.inf, 0], freqs=[freq0], name=\"R\"\n", ")\n" ] }, { "cell_type": "markdown", "id": "8a4fc1d4", "metadata": {}, "source": [ "To perform a parameter sweep over antenna length, it is convenient to define a function that builds the simulation with a given antenna length $L$. Later, this function will be called repeatedly to construct a simulation batch for parameter sweep." ] }, { "cell_type": "code", "execution_count": 7, "id": "b5dd0601", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:36:47.341534Z", "iopub.status.busy": "2023-03-28T01:36:47.341398Z", "iopub.status.idle": "2023-03-28T01:36:47.361451Z", "shell.execute_reply": "2023-03-28T01:36:47.360899Z" } }, "outputs": [], "source": [ "Lz = 1.5 * lda0 # simulation domain size in z direction\n", "sim_size = [Lx, Ly, Lz]\n", "\n", "run_time = 3e-13 # simulation run time\n", "\n", "boundary_spec = td.BoundarySpec(\n", " x=td.Boundary.periodic(),\n", " y=td.Boundary.periodic(),\n", " z=td.Boundary(minus=td.PML(), plus=td.PML()),\n", ")\n", "\n", "# define a function to build simulation given antenna length L\n", "def make_sim(L):\n", " # define the gold antenna\n", " antenna = td.Structure(\n", " geometry=td.Box.from_bounds(\n", " rmin=(-w / 2, -L / 2, d2), rmax=(w / 2, L / 2, d2 + d1)\n", " ),\n", " medium=au,\n", " )\n", " unit_cell = [sub, gold_layer, spacer, antenna]\n", "\n", " # set up simulation\n", " sim = td.Simulation(\n", " size=sim_size,\n", " grid_spec=td.GridSpec.auto(min_steps_per_wvl=20, wavelength=lda0),\n", " structures=unit_cell,\n", " sources=[plane_wave],\n", " monitors=[monitor_r],\n", " run_time=run_time,\n", " boundary_spec=boundary_spec, # pml is applied to z direction. x and y directions are periodic\n", " )\n", " return sim\n" ] }, { "cell_type": "markdown", "id": "a757a540", "metadata": {}, "source": [ "To ensure the simulation setup is correct, let's test a specific case where the antenna length is 150 nm and visualize the simulation. From the plot, the geometry, source, and monitor all seem to be correctly defined. " ] }, { "cell_type": "code", "execution_count": 8, "id": "ff6989af", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:36:47.363799Z", "iopub.status.busy": "2023-03-28T01:36:47.363662Z", "iopub.status.idle": "2023-03-28T01:36:47.668451Z", "shell.execute_reply": "2023-03-28T01:36:47.667955Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# test a case where the antenna length is 150 nm\n", "sim = make_sim(0.15)\n", "# visualize the simulation\n", "sim.plot(x=0)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "dd8a0057", "metadata": {}, "source": [ "Now we are ready to perform the parameter sweep. In this particular case, we investigate antenna length from 40 nm to 280 nm. This is broken down into 14 simulations. A simulation batch is constructed by calling the `make_sim` function with different antenna lengths. " ] }, { "cell_type": "code", "execution_count": 9, "id": "f6bce9b1", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:36:47.670532Z", "iopub.status.busy": "2023-03-28T01:36:47.670354Z", "iopub.status.idle": "2023-03-28T01:36:47.753871Z", "shell.execute_reply": "2023-03-28T01:36:47.753352Z" } }, "outputs": [], "source": [ "Ls = np.linspace(0.04, 0.28, 14) # antenna lengths for parameter sweep\n", "\n", "sims = {f\"L={L:.2f}\": make_sim(L) for L in Ls} # construct simulation batch\n" ] }, { "cell_type": "markdown", "id": "53ad88b1", "metadata": {}, "source": [ "Submit the simulation batch to the server." ] }, { "cell_type": "code", "execution_count": 10, "id": "ab77c5c3", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:36:47.756124Z", "iopub.status.busy": "2023-03-28T01:36:47.755946Z", "iopub.status.idle": "2023-03-28T01:39:47.868645Z", "shell.execute_reply": "2023-03-28T01:39:47.868063Z" }, "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
[16:50:24] Created task 'L=0.04' with task_id 'fdve-6b8feeaf-84f5-412b-89a5-d8c2b7c536f2v1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:24]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.04'\u001b[0m with task_id \u001b[32m'fdve-6b8feeaf-84f5-412b-89a5-d8c2b7c536f2v1'\u001b[0m. \u001b]8;id=3812;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=500255;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "2d8945d35b6d4ac9b113ca00cba7fbd8", "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:50:26] Created task 'L=0.06' with task_id 'fdve-570d842e-b24e-416a-8a92-6d715913b6a8v1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:26]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.06'\u001b[0m with task_id \u001b[32m'fdve-570d842e-b24e-416a-8a92-6d715913b6a8v1'\u001b[0m. \u001b]8;id=185760;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=841710;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "898b1e1fa9634b65a0277dd9e7e72afc", "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:50:26] Created task 'L=0.08' with task_id 'fdve-8baf1a42-4b77-47f4-83dc-ac72f3aede35v1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:26]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.08'\u001b[0m with task_id \u001b[32m'fdve-8baf1a42-4b77-47f4-83dc-ac72f3aede35v1'\u001b[0m. \u001b]8;id=25196;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=443114;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "c4c8c6d47a9c49fc8615fa57e1c1d60d", "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:50:27] Created task 'L=0.10' with task_id 'fdve-dd09ca23-ccc8-4179-baf2-1ab9ec0c5b21v1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:27]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.10'\u001b[0m with task_id \u001b[32m'fdve-dd09ca23-ccc8-4179-baf2-1ab9ec0c5b21v1'\u001b[0m. \u001b]8;id=751374;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=939984;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "bc7ee19f20514e308ab3dbe8fcd69a82", "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:50:28] Created task 'L=0.11' with task_id 'fdve-fd654388-a9b2-4ce5-9aa9-5ddeeca68180v1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:28]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.11'\u001b[0m with task_id \u001b[32m'fdve-fd654388-a9b2-4ce5-9aa9-5ddeeca68180v1'\u001b[0m. \u001b]8;id=158428;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=203189;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "8b3740b9cbc34f1f908464a4204c259e", "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:50:29] Created task 'L=0.13' with task_id 'fdve-49eaa0bb-663f-4724-82df-e4c82436ababv1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:29]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.13'\u001b[0m with task_id \u001b[32m'fdve-49eaa0bb-663f-4724-82df-e4c82436ababv1'\u001b[0m. \u001b]8;id=273364;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=714477;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "0dbd880ead594375836804fb834d002b", "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:50:30] Created task 'L=0.15' with task_id 'fdve-6799143b-95db-4871-bcde-9dd7582d4002v1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:30]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.15'\u001b[0m with task_id \u001b[32m'fdve-6799143b-95db-4871-bcde-9dd7582d4002v1'\u001b[0m. \u001b]8;id=207811;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=932642;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "a0b3ca38ec384e57821f8010973d3313", "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:50:31] Created task 'L=0.17' with task_id 'fdve-5275e5b4-55de-48fd-bdcc-ce7982663cd6v1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:31]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.17'\u001b[0m with task_id \u001b[32m'fdve-5275e5b4-55de-48fd-bdcc-ce7982663cd6v1'\u001b[0m. \u001b]8;id=8981;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=265761;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "25074744e1e94c03a1582c04fcc57724", "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:50:31] Created task 'L=0.19' with task_id 'fdve-1ad75a79-d6e9-49e0-872e-476dd6e1e706v1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:31]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.19'\u001b[0m with task_id \u001b[32m'fdve-1ad75a79-d6e9-49e0-872e-476dd6e1e706v1'\u001b[0m. \u001b]8;id=148462;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=894059;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "641eb922a7e14c27998ec33fb4d709a8", "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:50:32] Created task 'L=0.21' with task_id 'fdve-331e733f-ed16-4f49-a3dd-03e545b6efd4v1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:32]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.21'\u001b[0m with task_id \u001b[32m'fdve-331e733f-ed16-4f49-a3dd-03e545b6efd4v1'\u001b[0m. \u001b]8;id=386601;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=899277;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "fd90c842a3694187989d0d255d4218cf", "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:50:33] Created task 'L=0.22' with task_id 'fdve-cd50c3a5-aba3-4949-8626-164c34dbb928v1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:33]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.22'\u001b[0m with task_id \u001b[32m'fdve-cd50c3a5-aba3-4949-8626-164c34dbb928v1'\u001b[0m. \u001b]8;id=555664;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=483955;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "d1c07ad596af4d9d9807017df7215f34", "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:50:34] Created task 'L=0.24' with task_id 'fdve-87df9dff-5dad-4108-b299-713ce9194a38v1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:34]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.24'\u001b[0m with task_id \u001b[32m'fdve-87df9dff-5dad-4108-b299-713ce9194a38v1'\u001b[0m. \u001b]8;id=277256;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=193679;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "cb6bfdf7baac41b4aa29964cde48c257", "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:50:35] Created task 'L=0.26' with task_id 'fdve-c19a980b-d24b-4c3b-b6b5-3d1146846b28v1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:35]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.26'\u001b[0m with task_id \u001b[32m'fdve-c19a980b-d24b-4c3b-b6b5-3d1146846b28v1'\u001b[0m. \u001b]8;id=233450;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=390877;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "97c4a7750a0d4b13bced5f5c1893823a", "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:50:36] Created task 'L=0.28' with task_id 'fdve-b3f0cc85-3496-4269-9d8e-b424955ac810v1'.          webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:36]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'\u001b[0m\u001b[32mL\u001b[0m\u001b[32m=\u001b[0m\u001b[32m0\u001b[0m\u001b[32m.28'\u001b[0m with task_id \u001b[32m'fdve-b3f0cc85-3496-4269-9d8e-b424955ac810v1'\u001b[0m. \u001b]8;id=263131;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=668819;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "d63d196431ad4d809297e5362b65b1ed", "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:50:43] Started working on Batch.                                                               container.py:402\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:50:43]\u001b[0m\u001b[2;36m \u001b[0mStarted working on Batch. \u001b]8;id=368929;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\container.py\u001b\\\u001b[2mcontainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=603864;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\container.py#402\u001b\\\u001b[2m402\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "739efc54c3494a8a8a2788ae20d2e115", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:51:10] Batch complete.                                                                         container.py:436\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:10]\u001b[0m\u001b[2;36m \u001b[0mBatch complete. \u001b]8;id=894778;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\container.py\u001b\\\u001b[2mcontainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=4245;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\container.py#436\u001b\\\u001b[2m436\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" } ], "source": [ "# submit simulation batch to the server\n", "batch = web.Batch(simulations=sims, verbose=True)\n", "batch_results = batch.run(path_dir=\"data\")\n" ] }, { "cell_type": "markdown", "id": "7d99785f", "metadata": {}, "source": [ "### Result Analysis " ] }, { "cell_type": "markdown", "id": "ed45c1ae", "metadata": {}, "source": [ "After the simulations are complete, we are ready to extract the reflection coefficients. The reflection coefficient is simply the amplitude of the zero-th diffraction order. " ] }, { "cell_type": "code", "execution_count": 11, "id": "cc934a6d", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:39:48.450130Z", "iopub.status.busy": "2023-03-28T01:39:48.449996Z", "iopub.status.idle": "2023-03-28T01:39:55.149823Z", "shell.execute_reply": "2023-03-28T01:39:55.148151Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "577febe5038c4c6988bc006c065ff853", "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:51:12] loading SimulationData from data\\fdve-6b8feeaf-84f5-412b-89a5-d8c2b7c536f2v1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:12]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93m6b8feeaf-84f5-412b-89a5-d8c2b7c536f2\u001b[0mv1.hdf5 \u001b]8;id=168678;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=134754;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b7a1718f0c5c4ebbb9757c07fc2d248e", "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:51:13] loading SimulationData from data\\fdve-570d842e-b24e-416a-8a92-6d715913b6a8v1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:13]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93m570d842e-b24e-416a-8a92-6d715913b6a8\u001b[0mv1.hdf5 \u001b]8;id=847718;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=249753;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "fb29d6346f7547f4923bdcb8389d8b73", "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:51:14] loading SimulationData from data\\fdve-8baf1a42-4b77-47f4-83dc-ac72f3aede35v1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:14]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93m8baf1a42-4b77-47f4-83dc-ac72f3aede35\u001b[0mv1.hdf5 \u001b]8;id=567159;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=473383;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "1ad9a2f878fd484287984d27c8861d73", "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:51:15] loading SimulationData from data\\fdve-dd09ca23-ccc8-4179-baf2-1ab9ec0c5b21v1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:15]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93mdd09ca23-ccc8-4179-baf2-1ab9ec0c5b21\u001b[0mv1.hdf5 \u001b]8;id=338011;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=875707;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "588175bfb86140c79280a59650ee4210", "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:51:16] loading SimulationData from data\\fdve-fd654388-a9b2-4ce5-9aa9-5ddeeca68180v1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:16]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93mfd654388-a9b2-4ce5-9aa9-5ddeeca68180\u001b[0mv1.hdf5 \u001b]8;id=984299;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=384384;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "8e76886b2dcf4c118779915c94734d7b", "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:51:16] loading SimulationData from data\\fdve-49eaa0bb-663f-4724-82df-e4c82436ababv1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:16]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93m49eaa0bb-663f-4724-82df-e4c82436abab\u001b[0mv1.hdf5 \u001b]8;id=942437;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=618829;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b6cb29f80f774b7db80f7bb68287d4a4", "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:51:17] loading SimulationData from data\\fdve-6799143b-95db-4871-bcde-9dd7582d4002v1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:17]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93m6799143b-95db-4871-bcde-9dd7582d4002\u001b[0mv1.hdf5 \u001b]8;id=721342;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=651101;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "a6eaba6d3a1a41ad807618721e687b49", "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:51:18] loading SimulationData from data\\fdve-5275e5b4-55de-48fd-bdcc-ce7982663cd6v1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:18]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93m5275e5b4-55de-48fd-bdcc-ce7982663cd6\u001b[0mv1.hdf5 \u001b]8;id=809301;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=464227;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "1334d73bcf834fabb5745e05617e5094", "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:51:19] loading SimulationData from data\\fdve-1ad75a79-d6e9-49e0-872e-476dd6e1e706v1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:19]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93m1ad75a79-d6e9-49e0-872e-476dd6e1e706\u001b[0mv1.hdf5 \u001b]8;id=719037;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=115637;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "9c5d275ff9e84f77a1d31b9ddf08fba9", "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:51:20] loading SimulationData from data\\fdve-331e733f-ed16-4f49-a3dd-03e545b6efd4v1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:20]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93m331e733f-ed16-4f49-a3dd-03e545b6efd4\u001b[0mv1.hdf5 \u001b]8;id=733694;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=609566;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "844d405799a6453880a186fc81215659", "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:51:21] loading SimulationData from data\\fdve-cd50c3a5-aba3-4949-8626-164c34dbb928v1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:21]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93mcd50c3a5-aba3-4949-8626-164c34dbb928\u001b[0mv1.hdf5 \u001b]8;id=600829;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=978459;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "52365e820d46446e9d87bee4f85ad381", "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:51:22] loading SimulationData from data\\fdve-87df9dff-5dad-4108-b299-713ce9194a38v1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:22]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93m87df9dff-5dad-4108-b299-713ce9194a38\u001b[0mv1.hdf5 \u001b]8;id=537212;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=375062;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "97b50408c3d24f08a9e2b72058dae313", "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:51:23] loading SimulationData from data\\fdve-c19a980b-d24b-4c3b-b6b5-3d1146846b28v1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:23]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93mc19a980b-d24b-4c3b-b6b5-3d1146846b28\u001b[0mv1.hdf5 \u001b]8;id=261205;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=280937;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b934eb7fa9ba417b9e2808f272064a22", "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:51:24] loading SimulationData from data\\fdve-b3f0cc85-3496-4269-9d8e-b424955ac810v1.hdf5          webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:24]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data\\fdve-\u001b[93mb3f0cc85-3496-4269-9d8e-b424955ac810\u001b[0mv1.hdf5 \u001b]8;id=626994;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=918683;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# extract the reflection coefficient at each antenna length\n", "r = np.zeros(len(Ls), dtype=\"complex\")\n", "for i, L in enumerate(Ls):\n", " sim_data = batch_results[f\"L={L:.2f}\"]\n", " r[i] = np.array(sim_data[\"R\"].amps.sel(f=freq0, polarization=\"s\"))[0][0]\n" ] }, { "cell_type": "markdown", "id": "f2c6046f", "metadata": {}, "source": [ "To visualize the results, we plot the phase of the reflection coefficient and the reflectivity as a function of antenna length. Since the absolute value of the phase does not carry physical significance, we define 0 phase as the phase when the antenna is 40 nm long. The reflectivity decreases slightly when the antenna is 100 nm to 200 nm long but overall the reflectivity is above 80%." ] }, { "cell_type": "code", "execution_count": 12, "id": "5479ab80", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:39:55.241787Z", "iopub.status.busy": "2023-03-28T01:39:55.241647Z", "iopub.status.idle": "2023-03-28T01:39:55.514992Z", "shell.execute_reply": "2023-03-28T01:39:55.514459Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAHECAYAAAAzhhtwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACR1ElEQVR4nOzdeViU5f4G8HtmYNhX2REQEUVAAXHJJa3kuGDmdsrK0rDsZGopp1Naapml1a9jesy05WjmUpaapZYtuCTusikiKqKA7MgyLDLAzPv7AxjjiMboDO8wc3+ui+uSd955uYdoZr7zPM/3kQiCIICIiIiIiIjaTCp2ACIiIiIioo6GhRQREREREZGWWEgRERERERFpiYUUERERERGRllhIERERERERaYmFFBERERERkZZYSBEREREREWmJhRQREREREZGWzMQOYAjUajXy8vJgZ2cHiUQidhwiIpMhCAIqKyvh5eUFqZSf7TXj6xIRkXja+trEQgpAXl4efHx8xI5BRGSycnJy0LlzZ7FjGAy+LhERie+vXptYSAGws7MD0PjLsre3FzkNEZHpUCgU8PHx0TwPUyO+LhERiaetr00spADNtAl7e3u+YBERiYDT11ri6xIRkfj+6rWJE9KJiIiIiIi0xEKKiIiIiIhISyykiIiIiIiItMRCioiIiIiISEsspIiIiIiIiLTEQoqIiIiIiEhLLKSIiIiIiIi0xEKKiIiIiIhISyykiIiIiIiItMRCioiIiIiISEsspIiIiIiIiLTEQoqIiEzemjVr0KVLF1haWmLAgAE4efLkbc+tr6/H22+/jYCAAFhaWiIsLAz79u1rcY5KpcKiRYvg7+8PKysrBAQEYOnSpRAEQd8PhYiI2gkLKSIiuicdvTjYtm0bYmNj8eabbyIxMRFhYWEYOXIkioqKWj1/4cKF+PTTT7F69WqkpaXhhRdewIQJE5CUlKQ55/3338fatWvx8ccf4/z583j//ffxwQcfYPXq1e3ymNRqATV1De3ys4iITJVE6OivgDqgUCjg4OCAiooK2Nvbix2HiMigFVTUIjmnDEnZ5UjKLkedSo1dswbf1bUM4fl3wIAB6NevHz7++GMAgFqtho+PD+bMmYP58+ffcr6XlxfeeOMNzJo1S3Ns0qRJsLKywubNmwEADz/8MNzd3fHf//73tufcyb3+Xr4+mY3/xF3CwjHBiO7lAYlEovU1iIhMVVufg83aMRMREXUwtfUqpOZWNBZNTcVTfkVti3MkEqBK2QBbi473klJXV4eEhAQsWLBAc0wqlSIqKgrHjh1r9T5KpRKWlpYtjllZWSE+Pl7z/aBBg/DZZ5/h4sWL6N69O1JSUhAfH48VK1bo54H8iSAI+OZkNvIrajFrayIGd+uEJY+EoJubnd5/NhGRKel4r3pERKQXgiAgu7SmaaSpDEk55UjLU6BB3XLiglQC9PCwR7iPIyJ8HdHH1xHW5jKRUt+bkpISqFQquLu7tzju7u6O9PT0Vu8zcuRIrFixAkOHDkVAQADi4uKwc+dOqFQqzTnz58+HQqFAUFAQZDIZVCoV3n33XUyZMqXVayqVSiiVSs33CoXirh+TRCLBtn8MxNqDl7H20GUcybiOUSsPY/oQf7w0PLBDFrxERIaIz6ZERCZKUVuPMzkVmqIpOaccpdV1t5znYmuBCN/GoinCxwm9OzvAxoTfjK9atQozZsxAUFAQJBIJAgICEBMTg/Xr12vO+fbbb7FlyxZs3boVISEhSE5Oxty5c+Hl5YVp06bdcs3ly5djyZIlOstoaS7DvL91x6Q+nfH2njT8fr4Qn/2RiV1JuXhjTE88EubF6X5ERPeIa6RgGHP0iYj0SaUWkFFU1Vg0NU3Tu1RUhf99BZDLpAjxtkeEjxPCfR0R4eOIzk5WenvTLfbzb11dHaytrbF9+3aMHz9ec3zatGkoLy/HDz/8cNv71tbW4vr16/Dy8sL8+fOxZ88enDt3DgDg4+OD+fPnt1hH9c4772Dz5s2tjnS1NiLl4+Ojs9/LgfQiLNl9Dlev1wAA+vs74+1xIQjy4GseEdH/4hopIiITdr1KieScck3RlJJTgSrlrV3cOjtZIcLXCRFN0/SCvexhYdYxp+ndDblcjsjISMTFxWkKKbVajbi4OMyePfuO97W0tIS3tzfq6+uxY8cOPPbYY5rbampqIJW2bIwrk8mgVqtbvZaFhQUsLCzu7cHcwYNBbhgY0An/jb+C1fsv4eSVUoz5TzymDvTDvL91h72lud5+NhGRsWIhRUTUwdWr1LhQUInEptGmxOwyZDWNPPyZtVyGsM5NU/R8nRDu4whXO/29ee8oYmNjMW3aNPTt2xf9+/fHypUrUV1djZiYGADA1KlT4e3tjeXLlwMATpw4gdzcXISHhyM3NxdvvfUW1Go1Xn31Vc01x44di3fffRe+vr4ICQlBUlISVqxYgenTp4vyGIHG6X6zHuyG8RHeeGdPGn5OLcCGI1exOyUP80f3xMQIb0ilnO5HRNRWLKSIiDqYospaJGbd7KJ35lo5autvHeno5mbbNNLkhAhfR3R3t4OMb5RvMXnyZBQXF2Px4sUoKChAeHg49u3bp2lAkZ2d3WJ0qba2FgsXLkRmZiZsbW0RHR2NTZs2wdHRUXPO6tWrsWjRIrz44osoKiqCl5cX/vGPf2Dx4sXt/fBu4e1ohbVPReLwpWK8+eM5ZBZX45XvUvD1yWy8PS4EIV4OYkckIuoQuEYK4s/RJyK6nboGNdLyFUjMamwIkZhVhtzyG7ecZ29phnBfJ/T502iTg5XhT9fi82/r2uv3UtegxvojV/CfuEuoqVNBKgGmDPDDKyN6wMHa8P9+iIj0gWukiIg6oPyKG42jTU2d9M7mVqCuoeVok0QC9HC300zR6+PriK4utpyWRVqTm0nxwrAAjA/3xrs/ncfulDxsOp6FvWfz8dqoHng00od/V0REt8FCiohIJLX1KpzLq9BM00vMKkeBovaW85yszTUFU4RvY/txOzYHIB3ycLDE6ici8GR/X7z5YyouFlbhtR1nsfVkDpaOC0Hvzo5iRyQiMjgspIiI2olaLeB8gQJ/XCzB4UvFOH21DHWqlqNNMqkEQR52TRvdOiHC1wldOllzzx9qFwMDOmHvS/dj49GrWPn7JaTklGPcmiN4vJ8P/jUyCM42crEjEhEZDBZSRER6VFRZi8NNhVN8RglKqlpueOtiK28abWpsCNG7swOs5XxqJvGYy6R47v6ueCTcC+/9lI6dSbn4+mQOfk4twCsjeuCJ/r5sWkJEBBZSREQ6VVuvwqmrpTh8qQR/XCxGekFli9ut5TIM7NoJ9we64P7urujqYsPRJjJIbnaWWDE5HE8M8MWiXalIL6jEwl2p+OZUNt4eF4o+vk5iRyQiEhULKSKieyAIAi4WVuHwpWL8cakEJzKvQ/mn5hASCRDq5YD7A10wtLsr+vg6QW4mvcMViQxLvy7O2DNnCLacyMaHv15Aaq4CEz85ikcjO+O10UFwseVeZERkmlhIERFp6XqVEvEZJTh8qXHKXqFC2eJ2d3sLDA10xf3dXTE4oBM68Y0mdXBmMimmDeqCMb098cG+dHx7+hq+S7iGAxeK8cPswfB2tBI7IhERAEBRW481BzIwItgdkX7Oev1ZLKSIiP5CXYMaCVll+ONSMQ5fKkZqrqLF7ZbmUgzw76QZdQp0s+V0PTJKLrYW+ODvYXiivy/+tf0MMoqq8OLmBGz7x0BYmsvEjkdEJqxBpcbXp3Lw0W8XUVpdh+OZpdj14iC9vh6zkCIiakVOaQ3izhfij0slOJ55HTV1qha39/S0x9BAF9wf6Iq+XZz4JpJMSoSvEzY80w9jP45HyrUKLNl9Dssn9hY7FhGZqIMXivDu3vO4VFQFAOjqaoOXh3fT+89lIUVE1KS2XoWfU/Ox7VQOjmeWtrjNxVaO+wNdcX+gC4YEusDNzlKklESGwcfZGv95PALTNpzE1ydzEO7jiMn9fMWORUQm5GJhJd7Zex5/XCwGADham2NeVHc8OcAX5jL9r0dmIUVEJi81twLbTuVgV3IuKmsbADQ2ibjPvxOG9XDF0EBXBHnYQcqWz0QtDO3uin/+rTs+/PUiFv1wDj097bl5LxHpXUmVEh/9dhFfn8yGWgDMZRJMG9gFcx4KhIN1+21Yz0KKiExSRU09diXnYtupHKTl31zz5O1ohcf6+uDvfTtzAT1RG7z4QDck51Tg9/OFmLk5EbvnDOHGvUSkF7X1Knx59CrW7M9ApbLxg89RIR6YPzoIXVxs2j2PqD14ly9fjn79+sHOzg5ubm4YP348Lly40OKcBx54ABKJpMXXCy+80OKc7OxsjBkzBtbW1nBzc8O//vUvNDQ0tOdDIaIOQK0WcDSjBC9/k4R+y37Hmz+eQ1q+AnKZFGPDvLD52QE4/OqDeDkqkEUUURtJpRKsmByGLp2skVt+Ay99nQSVWhA7FhEZEUEQsPdMPv720SG893M6KpUNCPW2xzfP34d1T0eKUkQBIo9IHTp0CLNmzUK/fv3Q0NCA119/HSNGjEBaWhpsbG7+QmbMmIG3335b8721tbXm3yqVCmPGjIGHhweOHj2K/Px8TJ06Febm5li2bFm7Ph4iMkz5FTewvaldc3ZpjeZ4kIcdJvfzwfhwbzjxE3Siu2ZvaY5Pn+6L8WuOID6jBP/+9QJeHRUkdiwiMgLJOeVYuicNCVllABq3GHl1ZBAmRHiLPuVe1EJq3759Lb7/8ssv4ebmhoSEBAwdOlRz3NraGh4eHq1e49dff0VaWhp+//13uLu7Izw8HEuXLsVrr72Gt956C3I53xwRmaK6BjX2pxdi26kcHLpYjOYPyO0szPBIuBcm9/NBL28Htikn0pEeHnZ4/++98dLXSfjk4GWE+ThiZEjrr91ERH8lr/wGPtiXjl3JeQAAK3MZ/jGsK54f2hXWcsNYnWQYKZpUVFQAAJydW26etWXLFmzevBkeHh4YO3YsFi1apBmVOnbsGHr16gV3d3fN+SNHjsTMmTNx7tw5RERE3PJzlEollMqbG2gqFIpbziGijimjqBLbTuVgZ2IurlfXaY7393fG5L4+iO7lCSs5W5UT6cMjYV5Izi7H+iNX8M9vU9Btti0CXG3FjkVEHUi1sgHrDl3GZ39kQtmgBgBM6tMZ/xrZAx4OhtUx12AKKbVajblz52Lw4MEIDQ3VHH/yySfh5+cHLy8vnDlzBq+99houXLiAnTt3AgAKCgpaFFEANN8XFBS0+rOWL1+OJUuW6OmREFF7q1Y2YM+ZPGw7lYPE7HLNcVc7C/w9sjMe6+sDf5HmTxOZmgXRQUjNq8DJK6V4YVMCds0aDBsLg3m7QUQGSqUWsCPhGv7v1wsormwc8Ojv74xFY4LRq7ODyOlaZzDPbLNmzUJqairi4+NbHH/++ec1/+7Vqxc8PT0xfPhwXL58GQEBAXf1sxYsWIDY2FjN9wqFAj4+PncXnIhEIQgCErPL8e2pHOw5k4fqpg1zZVIJHuzhhsn9fPBgD1eYtcM+EkR0k7lMio+fjMDY1fG4VFSFV7efwcdPRnAaLRHd1tGMEizdex7nm7ro+nWyxoLRPTEyxN2gnzsMopCaPXs29uzZgz/++AOdO3e+47kDBgwAAGRkZCAgIAAeHh44efJki3MKCwsB4LbrqiwsLGBhYaGD5ETU3gRBwA/JeVhzIEOzgzkA+LvY4LG+PpjUxxtu9oY19E9katzsLPHJlD6Y/Olx7D2bj4h4Rzx3f1exYxGRgcksrsKyn9Lx+/nG9+52lmZ4eXggnh7oBwszw5+GL2ohJQgC5syZg++//x4HDx6Ev7//X94nOTkZAODp6QkAGDhwIN59910UFRXBzc0NAPDbb7/B3t4ewcHBestORO0vo6gSC3el4nhmKQDA0lyK6F6emNzXB/39nQ36UysiUxPp54xFDwfjzR/PYfnP6QjxcsDAgE5ixyIiA1BeU4dVcZew6VgWGtQCZFIJnhrgi5ejuneofehELaRmzZqFrVu34ocffoCdnZ1mTZODgwOsrKxw+fJlbN26FdHR0ejUqRPOnDmDefPmYejQoejduzcAYMSIEQgODsbTTz+NDz74AAUFBVi4cCFmzZrFUSciI1FT14DV+zPwxeFM1KsEWJhJMfvBbpg2uAvsLdtvB3Mi0s7UgX5IzinH90m5mPN142a9ng7co43IVKnUAjYdu4qPfr+Eihv1AICHgtzwenRPdHPreI1pJIIgiLZr3u0+Pd6wYQOeeeYZ5OTk4KmnnkJqaiqqq6vh4+ODCRMmYOHChbC3t9ecn5WVhZkzZ+LgwYOwsbHBtGnT8N5778HMrG11okKhgIODAyoqKlpcl4jE9+u5AizZnYbc8hsAGp9wlzwSAh9n67+4J3UEfP5tnTH9Xm7UqTBx7VGcz1cgwtcR3zx/X4eYskNEupVeoMBrO84iJaccQONejm+M6Yn7A13FDdaKtj4Hi1pIGQpjesEiMhY5pTVYsvscfj9fBADwdrTCm2OD8bdgw154Strh82/rjO33knW9GmNXx0NR24Cn7vPFO+N7iR2JiNqJskGFj/dnYO3By2hQC7CzMMNro4PwRH9fyETeUPd22vocbBDNJoiImikbVPji8BWs3n8JtfVqmEklmDG0K+Y81M1gNuAjIu34dbLBqscjMH3jKWw+no1wHyf8PfLOzaWIqOM7fbUUr+04g8vF1QCAEcHuWDo+FO5G0hSK70qIyGAcySjBoh9Skdn0hHtfV2csHReKQHc7kZMR0b16MMgNLw8PxMrfL+GN788iyMMOod6GuTcMEd2bytp6fLDvAjYdzwLQuK/j24+EYFSoh1HNKmEhRUSiK1LU4p295/FjSh4AwMVWjoVjgjEu3MuonnCJTN1LDwUiJaccBy4U44XNCdgzZwgcrTtOhy4i+mtx5wuxcFcq8itqAQCT+/rg9eiecLA2vuZQLKSISDQNKjU2H8/Cv3+9iEplAyQS4On7/PDPET3gYGV8T7hEpk4qlWDl5AiM/Tge2aU1ePmbZKx/pp/BrpMgorYrqVJiye407G76UNTX2RrvTeyFQd1cRE6mPyykiEgUSdllWLgrFefyGncxD+vsgHfG90KvzpzqQ2TMHKzNse6pSExcewSHLhZj1e8XETuih9ixiOguCYKAnYm5WLo3DeU19ZBKgBn3d8XcqO6wkht3h04WUkTUrspr6vD+vgv45lQ2BAGwtzTDq6MMu3sPEelWsJc9lk/shXnbUvCf/Rno3dkRUcHuYsciIi3llNbg9e/P4vClEgBAsKc93p/U22Q+FGUhRUTtQq0WsD3xGt77OR2l1XUAgEl9OmNBdBBcbLl5NpGpmRDRGcnZ5dh4LAvzvk3G7tlD0MXFRuxYRNQGKrWAL49exYe/XMCNehUszKSYG9Udz93vD3OZVOx47YaFFBHpXXqBAgu/T8XprDIAQHd3WywdF4oBXTuJnIyIxPTGmGCk5imQkFWGf2xKwPezBnGbAyID978b6w7wd8Z7k3rD3wQ/COGzFRHpTZWyAat+v4j1R65CpRZgZS7D3KhATB9iWp9YEVHr5GZSfDKlD8b8Jx4XCisxf8dZrHo8nN06iQzQLRvrWprh9eiemNzXB1ITnZrPQoqIdE4QBPycWoC3d6ehQNHY/nRUiAcWjw2Gl6OVyOmIyJC421tizZMRePKLE/gxJQ8Rvo6IGewvdiwi+pP/3Vh3ZIg73h5nPBvr3i0WUkSkU+U1dXj5m2QculgMoLH96ZJHQvBgkJvIyYjIUA3o2gmvR/fE0j1peHfveYR6O6BfF2exYxGZvNttrDu6l6fIyQwDCyki0pnymjpM+eIEzuUpIJdJ8cIDAXjxgQBYmht3+1MiunfTB3dBck45dqfk4cUtidg7ZwjcTPzTbiIxmdLGuneLhRQR6cSfiygXWzk2PzcAQR72Ysciog5CIpHg/Um9cLGgEhcKK/HilkRsnXEf5GZcT0nUnv53Y12/TtZYPsG4N9a9W3x2IqJ79uciqpONHFtn3Mciioi0Zi03w7qnI2FnYYbTWWVY9tN5sSMRmZR9qfmIWnEIu1PyIJNK8I9hXbHv5aEsom6DhRQR3ZPymjo89d+bRdTXz9+H7u52Ysciog7K38UGH00OBwB8efQqfmz6VJyI9EetFvDRbxfxwuZElNfUI9jTHj/MGowFo3vCSs7p+bfDQoqI7lpzEZWayyKKiHQnKtgdsx4MAACs/P0iBEEQORGR8apWNuDFLYlYFXcJAPDsEH/8MHswQr0dRE5m+FhIEdFdqaipb1FEbZ3BIoqIdOeFYQGwMJMis7gaZ65ViB2HyChdK6vBpLVHse9cAeQyKT74e28sejiYez22EX9LRKS11oqoHh4soohId+wszTEyxAMAsDPxmshpiIzPySulGPfxEaQXVMLF1gJfPz8Aj/X1ETtWh8JCioi00lxEnc2tgDOLKCLSo4l9vAEAP6bkoa5BLXIaIuPxzclsTPniOK5X1yHU2x4/zh6MSD/u3aYtFlJE1GYVN+rx9Po/F1EDWEQRkd4M6eYCF1sLlNXUazb5JqK716BS460fz2H+zrOoVwkY09sT3/1jELwcrcSO1iGxkCKiNqm4UY+n/3sCZ67dLKLY4pyI9MlMJsX4cC8AnN5HdK/Ka+owbcNJfHn0KgDglRHd8fETEezKdw9YSBHRX/pzEeVkbY4t3GyXiNrJxD6dAQBx54tQUVMvchqijulSYSXGrTmCIxnXYS2X4dOnIzH7oUBIJBKxo3VoLKSI6I4qbtRj6p+KqK0z7kNPTxZRRNQ+gr3sEeRhhzqVGnvOck8pIm3tTy/EhE+OIut6DTo7WWHni4M0jVzo3rCQIqLbqrhRj6nrTyKFRRQRiai56cTOxFyRkxB1HIIgYN2hy3h242lUKRvQ398ZP8wazBklOsRCiohapahtKqJyypum87GIIiJxjAv3hlQCJGSVIet6tdhxiAxebb0K87Yl472f0yEIwJMDfLH52QHoZGshdjSjwkKKiG6hqK3H0/9tWUQFe7GIIiJxuNtbYnA3FwAclSL6K4WKWkz+9Bh2JedBJpVg6bgQLJvQC3Izvu3XNf5GiaiFPxdRjiyiiMhATGpqOvF9Ui4EQRA5DZFhSs4px9jV8Ui5VgFHa3Nsmt4fTw/sInYso8VCiog0FLX1mNqiiBrAIoqIDMKIEHfYyGXILq1BQlaZ2HGIDM6upFw89ukxFFUqEehmix9mDcagppFc0g8WUkQEoLGImrb+JJL/VESFeDmIHYuICABgLTfDqFBPAMAOTu8j0lCpBbz3czrmbktGXYMaUT3dsPPFQfDrZCN2NKPHQoqIUNlURCVlNxZRm59lEUVEhmdSU/e+PWfyUFuvEjkNkfgqa+sx46vTWHfoMgDgxQcC8NnTfWFnaS5yMtPAQorIxFU2dedLyi6Hg1VjERXqzSKKiAzPfV07wcvBEpW1DdifXiR2HCJRXS2pxoRPjmJ/ehEszKRY9Xg4Xh0VBKmUm+y2FxZSRCbszyNRDlaN0/lYRJEpWrNmDbp06QJLS0sMGDAAJ0+evO259fX1ePvttxEQEABLS0uEhYVh3759t5yXm5uLp556Cp06dYKVlRV69eqF06dP6/NhGD2pVIJxEc17Sl0TOQ2ReI5klGDcmiPIKKqCu70Fvv3HQIwL9xY7lslhIUVkopqLqEQWUWTitm3bhtjYWLz55ptITExEWFgYRo4ciaKi1kc8Fi5ciE8//RSrV69GWloaXnjhBUyYMAFJSUmac8rKyjB48GCYm5vj559/RlpaGv7973/DycmpvR6W0ZrYVEgdvFCM61VKkdMQtS9BELDx6FVMXX8SFTfqEe7jiN2zhyDMx1HsaCZJIrCHKBQKBRwcHFBRUQF7e3YoI+NXpWzAtPUnkZBVxiKKRGUIz78DBgxAv3798PHHHwMA1Go1fHx8MGfOHMyfP/+W8728vPDGG29g1qxZmmOTJk2ClZUVNm/eDACYP38+jhw5gsOHD99VJkP4vRiyRz6Ox5lrFXhrbDCeGewvdhyidtGgUmPRD+fw9clsAI0fKiyb2AuW5jKRkxmftj4Hc0SKyMSwiCK6qa6uDgkJCYiKitIck0qliIqKwrFjx1q9j1KphKWlZYtjVlZWiI+P13z/448/om/fvnj00Ufh5uaGiIgIfP755/p5ECZoQvP0viR27yPTIAgC3vyxsYiSSIDXo4Pw78fCWESJjIUUkQkRBAHPf3UaCVllsLc0YxFFJq+kpAQqlQru7u4tjru7u6OgoKDV+4wcORIrVqzApUuXoFar8dtvv2Hnzp3Iz8/XnJOZmYm1a9ciMDAQv/zyC2bOnImXXnoJGzdubPWaSqUSCoWixRfd3tgwL5hJJThzrQIZRZVixyHSu88PZ2LLicYias2TffD80ABIJGwqITYWUkQm5IfkPBy9fB3Wchm2PHcfiyiiu7Bq1SoEBgYiKCgIcrkcs2fPRkxMDKTSmy+parUaffr0wbJlyxAREYHnn38eM2bMwLp161q95vLly+Hg4KD58vHxaa+H0yG52FrggR6uAICd3FOKjNzPZ/Ox7Kd0AMDCMcGI7uUpciJqxkKKyETU1DXgvZ8bn4hnPdgNvTqziCJycXGBTCZDYWFhi+OFhYXw8PBo9T6urq7YtWsXqqurkZWVhfT0dNja2qJr166aczw9PREcHNzifj179kR2dnar11ywYAEqKio0Xzk5Off4yIzfhIjOAIDvk3KhVpv8cm8yUknZZZi7LRkAMG2gH6YP7iJqHmqJhRSRiVh38DIKFLXo7GSFZ4dwcTYRAMjlckRGRiIuLk5zTK1WIy4uDgMHDrzjfS0tLeHt7Y2Ghgbs2LED48aN09w2ePBgXLhwocX5Fy9ehJ+fX6vXsrCwgL29fYsvurPhPd1gZ2mG/IpaHM+8LnYcIp3LKa3BcxtPQ9mgxkNBblj0cDCn8xkYFlJEJuBaWQ0+/SMTAPBGdE8uTiX6k9jYWHz++efYuHEjzp8/j5kzZ6K6uhoxMTEAgKlTp2LBggWa80+cOIGdO3ciMzMThw8fxqhRo6BWq/Hqq69qzpk3bx6OHz+OZcuWISMjA1u3bsVnn33WotMf3RtLcxke7u0FgE0nyPhU1NTjmQ0ncb26DiFe9lj9RATMZHzbbmj4X4TIBLz3czqUDWoM8HfGqNDWpysRmarJkyfjww8/xOLFixEeHo7k5GTs27dP04AiOzu7RSOJ2tpaLFy4EMHBwZgwYQK8vb0RHx8PR0dHzTn9+vXD999/j6+//hqhoaFYunQpVq5ciSlTprT3wzNqE/s0du/7+Ww+auoaRE5DpBt1DWq8sDkBl4ur4elgifXP9IONhZnYsagV3EcK3K+DjNvJK6V47NNjkEqA3XOGIMSLa6PIcPD5t3X8vbSNIAgY+n8HkFN6Aysnh2N8U1t0oo5KEAT887sU7EzMhY1chu0zB6GnJ58D2hv3kSIiqNUC3t5zDgAwuZ8viygiMioSiQQTm5pOcHofGYPV+zOwMzEXMqkEa6b0YRFl4FhIERmx7QnXkJqrgJ2FGf45orvYcYiIdK55c974S8UoUtSKnIbo7u1KysWK3y4CAN4eF4IHeriJnIj+CgspIiNVWVuPD35pbHf+clQgXGwtRE5ERKR7XVxsEOnnBLXQuFceUUd0IvM6Xt1+BgDwj6FdMWVA6x0+ybCwkCIyUh8fyEBJVR26uthg6sAuYschItKb5qYTOxKviZyESHuXi6vw/KYE1KnUGB3qgddGBYkdidqIhRSREbpaUo0N8VcBAG+M6Qm5Gf9XJyLj9XAvL8hlUqQXVCItTyF2HKI2u16lRMyGU6i4UY9wH0d8NDkcUin3iuoo+O6KyAi9+9N51KnUGNrdFQ8FcY41ERk3B2tzDO/Z+Fz3fRJHpahjqK1X4flNCcgurYGPsxW+mNaX+zx2MCykiIzMkYwS/JZWCJlUgkVjenIXdCIyCRP7NHbv25WchwaVWuQ0RHemVje2OU/IKoO9pRk2PNOPa5k7IBZSREakQaXG27vTAABP3+eHQHc7kRMREbWPYd1d4WRtjuJKJeIzSsSOQ3RH//frBew9kw9zmQSfPt0X3dz4et0RsZAiMiJfn8zGhcJKOFqbY25UoNhxiIjajdxMikfCvAAA33NPKTJgX5/MxtqDlwEAyyf2xsCATiInorvFQorISFTU1Gv2n4j9W3c4WstFTkRE1L6ap/f9cq4AlbX1IqchutXhS8VYuCsVAPDS8ED8PbKzyInoXrCQIjISK+MuoqymHt3dbfFkf1+x4xARtbvenR3Q1dUGtfVq/JxaIHYcohYuFFTixc2JUKkFTIjwxjzOHOnwWEgRGYGMokp8dSwLALD44RCYyfi/NhGZHolEgklNo1LfJ3J6HxmOIkUtYjacRKWyAf39nfHepF5sBmUERH23tXz5cvTr1w92dnZwc3PD+PHjceHChRbn1NbWYtasWejUqRNsbW0xadIkFBYWtjgnOzsbY8aMgbW1Ndzc3PCvf/0LDQ0N7flQiES1dM95qNQConq6Y0igi9hxiIhEMz6icXPeY5nXca2sRuQ0REBNXQOe3XgaeRW16Opig8+ejoSFGducGwNRC6lDhw5h1qxZOH78OH777TfU19djxIgRqK6u1pwzb9487N69G9999x0OHTqEvLw8TJw4UXO7SqXCmDFjUFdXh6NHj2Ljxo348ssvsXjxYjEeElG7O5BehEMXi2Euk2DhmJ5ixyEiEpW3oxXu6+oMAPghOU/kNGTqVGoBL32djLO5FXC2kWNDTD+uYTYiEkEQBG3vVF9fj4KCAtTU1MDV1RXOzs46CVNcXAw3NzccOnQIQ4cORUVFBVxdXbF161b8/e9/BwCkp6ejZ8+eOHbsGO677z78/PPPePjhh5GXlwd3d3cAwLp16/Daa6+huLgYcvlf/7EqFAo4ODigoqIC9vb2OnksRO2hrkGNUSv/QGZJNf4xtCsWRLOQoo6Fz7+t4+/l3nx7Ogevbj+DAFcb/B47jFOoSDRLdp/DhiNXITeT4usZAxDpp5v3zKRfbX0ObvOIVGVlJdauXYthw4bB3t4eXbp0Qc+ePeHq6go/Pz/MmDEDp06duqfQFRUVAKApzBISElBfX4+oqCjNOUFBQfD19cWxY8cAAMeOHUOvXr00RRQAjBw5EgqFAufOnWv15yiVSigUihZfRB3RV8euIrOkGi62csx+qJvYcYiIDMLoUA9YmktxubgaZ65ViB2HTNSXR65gw5GrAIAVj4WxiDJCbSqkVqxYgS5dumDDhg2IiorCrl27kJycjIsXL+LYsWN488030dDQgBEjRmDUqFG4dOmS1kHUajXmzp2LwYMHIzQ0FABQUFAAuVwOR0fHFue6u7ujoKBAc86fi6jm25tva83y5cvh4OCg+fLx8dE6L5HYrlcpsSqu8f+1f43sATtLc5ETEREZBjtLc4wI9gAA7Ey8JnIaMkW/pxXi7T1pAIBXR/XAw729RE5E+mDWlpNOnTqFP/74AyEhIa3e3r9/f0yfPh3r1q3Dhg0bcPjwYQQGatfScdasWUhNTUV8fLxW97sbCxYsQGxsrOZ7hULBYoo6nH//dhGVtQ0I8bLH3yP590tE9GcT+3jjx5Q87D6TjzfGBENuxm6m1D7OXqvAnK+ToBaAx/v5YOawALEjkZ60qZD6+uuv23QxCwsLvPDCC1qHmD17Nvbs2YM//vgDnTvf3JjMw8MDdXV1KC8vbzEqVVhYCA8PD805J0+ebHG95q5+zee0ltPCwkLrnESG4ny+At+czAYAvDk2BDIp5/8TEf3ZkG4ucLWzQHGlEocuFuNvwe5/fSeie5RbfgPTN57CjXoV7g90wdLxoVyjZ8Tu+uOZjIwM/PLLL7hx4wYA4C56VkAQBMyePRvff/899u/fD39//xa3R0ZGwtzcHHFxcZpjFy5cQHZ2NgYOHAgAGDhwIM6ePYuioiLNOb/99hvs7e0RHBx8Nw+NyKAJgoC3d6dBLQBjenuivz/nXBMR/S8zmRTjwhqnU3F6H7WHytp6PPvlKRRXKtHD3Q5rpvSBOfd1NGpa/9e9fv06oqKi0L17d0RHRyM/Px8A8Oyzz+Kf//ynVteaNWsWNm/ejK1bt8LOzg4FBQUoKCjQFGcODg549tlnERsbiwMHDiAhIQExMTEYOHAg7rvvPgDAiBEjEBwcjKeffhopKSn45ZdfsHDhQsyaNYujTmSUfjlXgGOZ12FhJsWC0UFixyEiMlgTmzbnjTtfhIqaepHTkDETBAFzv0lGekElXO0ssD6mH+y5dtnoaV1IzZs3D2ZmZsjOzoa1tbXm+OTJk7Fv3z6trrV27VpUVFTggQcegKenp+Zr27ZtmnM++ugjPPzww5g0aRKGDh0KDw8P7Ny5U3O7TCbDnj17IJPJMHDgQDz11FOYOnUq3n77bW0fGpHBq61X4d2fzgMAnh/aFZ2drP/iHkREpivYyx5BHnaoU6mx5yz3lCL9iTtfhLj0IsjNpFg/rR+8Ha3EjkTtoE1rpP7s119/xS+//NJiLRMABAYGIisrS6trtWU6oKWlJdasWYM1a9bc9hw/Pz/89NNPWv1soo5o/ZEryCm9AQ97S8x8gItXiYj+ysQ+3lj2Uzq+T8zFlAF+YschI1SvUmNZ04eczw7xR6/ODiInovai9YhUdXV1i5GoZqWlpZxKR6RHRYpafLw/AwDw2ugesJZr/TkIEZHJGRfuDakEOJ1Vhqzr1WLHISO09UQ2Mkuq0clGjhf5IadJ0bqQuv/++/HVV19pvpdIJFCr1fjggw/w4IMP6jQcEd30wS8XUFOnQoSvI8aFeYsdh4ioQ3C3t8SQQFcAwM7EXJHTkLGpuFGPlb9fBADM/Vt37uloYrT+SPuDDz7A8OHDcfr0adTV1eHVV1/FuXPnUFpaiiNHjugjI5HJS8kpx/aExq5Tb44NgZTtzomI2mxihDf+uFiM75NyMTcqkO2oSWc+OZCBspp6dHOzxRP9uKejqdF6RCo0NBQXL17E4MGDMW7cOFRXV2PixIlISkpCQACHM4l0TRAEze7oEyO8Ee7jKG4gIqIOZkSIO2zkMmSX1iAhq0zsOGQkckprsOHIVQDAG9E9YcZW5ybnrhZZODg4YOHChbrOQkSt+DElDwlZZbCWy/DqKLY7JyLSlrXcDKN7eWJ7wjXsSMxF3y7cf4/u3Xv70lGnUmNINxc80MNV7DgkgrsqnQ8fPoynnnoKgwYNQm5u43zjTZs2IT4+XqfhiEzdjToV3vs5HQDw4gMB8HCwFDkREVHHNDGicW3p3jN5qK1XiZyGOrqErDLsPZMPiQR4Pbonp4uaKK0LqR07dmDkyJGwsrJCYmIilEolAKCiogLLli3TeUAiU7bu0GXkV9TC29EKz93fVew4REQd1n1dO8HLwRKK2gbsTy8SOw51YIIg4J29jVPuH4v0QbCXvciJSCxaF1LvvPMO1q1bh88//xzm5jc7kwwePBiJiYk6DUdkyvLKb+DTPy4DAN4Y0xOW5jKRExERdVxSqQTjm0aldiZeEzkNdWR7zuQjKbsc1nIZ/jmiu9hxSERaF1IXLlzA0KFDbznu4OCA8vJyXWQiIgDv/ZyO2no1+vs7Y3Soh9hxiIg6vIl9GgupgxeKcb1KKXIa6ohq61V4f1/jlPt/DA2Amz2n3JsyrQspDw8PZGRk3HI8Pj4eXbty6hGRLpy+WoofU/IgkQCLHw7m3GsiIh3o5maH3p0d0KAWsDslT+w41AFtPHoV18puwN3eAjOG+osdh0SmdSE1Y8YMvPzyyzhx4gQkEgny8vKwZcsWvPLKK5g5c6Y+MhKZFLVawJLdjXOvH+/ng1BvB5ETEREZj+amEzuTuDkvaed6lRIf728cTPjXyCBYy++q+TUZEa3/AubPnw+1Wo3hw4ejpqYGQ4cOhYWFBV555RXMmTNHHxmJTMqOxGs4m1sBOwsz/HNED7HjEBEZlbFhXnhn73mcuVaBjKJKdHOzEzsSdRCr4i6hUtmAEC97TUFOpk2rESmVSoXDhw9j1qxZKC0tRWpqKo4fP47i4mIsXbpUXxmJTEaVsgEf/HIBADBneDe42FqInIiIyLh0srXQ7PmzM5GjUtQ2GUVV2HIiG0BjAyiplFPuSctCSiaTYcSIESgrK4NcLkdwcDD69+8PW1tbfeUjMinr46+guFIJfxcbPDOIc6+JiPRhYp/OAIBdSblQqwWR01BH8N7P56FSC4jq6Y5BAS5ixyEDofUaqdDQUGRmZuojC5FJU6sFfHs6BwAwNyoQcrO72i+biIj+wkNBbrCzNENeRS2OX7kudhwycEczSvD7+SKYSSVYEB0kdhwyIHe1j9Qrr7yCPXv2ID8/HwqFosUXEd2dU1dLca3sBuwszDAyhO3OiYj0xdJchod7ewHg9D66M5VawDt7zwMApgzwRYArZ2HRTVoXUtHR0UhJScEjjzyCzp07w8nJCU5OTnB0dISTk5M+MhKZhB1NG0SO6e3JzXeJiPRsUtOeUj+fzceNOpXIachQ7Uy8hrR8BewszfByFDffpZa07tp34MABfeQgMmk36lT46WwBgJtz94mISH8i/Zzg62yN7NIaHLpYhFGhnmJHIgNTU9eAD39tagD1UDc428hFTkSGRutCatiwYfrIQWTSfk0rQJWyAT7OVujrx5FdIiJ9k0gkGNzNBdkns3HmWgULKbrFZ39kolChhI+zFaYN6iJ2HDJAWhdSZ86cafW4RCKBpaUlfH19YWHBls1E2mieoz8xojNbqhIRtZNQb3sAQGoe13hTS4WKWnx6qLG52mujgmBhxin3dCutC6nw8HBIJLd/o2dubo7Jkyfj008/haWl5T2FIzIFhYpaHL5UDACY2Icb/BERtZdQLwcAwLncCgiCcMf3N2Ra/v3rBdyoV6GPryPG9OJoJbVO62YT33//PQIDA/HZZ58hOTkZycnJ+Oyzz9CjRw9s3boV//3vf7F//34sXLhQH3mJjM4PyblQC0BfPyf4dbIROw4Rkcno4WEHmVSC69V1KFDUih2HDERangLfJTQ2gFr4cDALbLotrUek3n33XaxatQojR47UHOvVqxc6d+6MRYsW4eTJk7CxscE///lPfPjhhzoNS2RsBEHAjoSmaX1sMkFE1K4szWUIdLNFekElUnMV8HSwEjsSiUwQBLz7UxoEAXi4tyf6+HLdMt2e1iNSZ8+ehZ+f3y3H/fz8cPbsWQCN0//y8/PvPR2RkUvLV+BCYSXkZlKM6c2pA0RE7S3Uu3F6X2puhchJyBAcuFCEIxnXIZdJ8doobr5Ld6Z1IRUUFIT33nsPdXV1mmP19fV47733EBTU+AeXm5sLd3d33aUkMlLNo1F/C3aHg5W5yGmIiExPqFdjw4lzeSykTF2DSo1lP6UDAGIGd4GPs7XIicjQaT21b82aNZrNeHv37g2gcZRKpVJhz549AIDMzEy8+OKLuk1KZGTqVWr8mNJYSE1ikwkiIlHcHJFi5z5T9/WpHGQUVcHZRo4XH+wmdhzqALQupAYNGoQrV65gy5YtuHjxIgDg0UcfxZNPPgk7OzsAwNNPP63blERG6PClYpRU1cHFVo77A13FjkNEZJJ6etpDIgEKFLUorlTC1Y5buJgiRW09Pvqt8X3t3KhAzhKhNtG6kAIAOzs7vPDCC7rOQmRSdjTtHfVImDfMZVrPsiUiIh2wsTBDVxcbXC6uxrm8CjzQw03sSCSCTw5cRml1Hbq62uCJ/r5ix6EO4q7evW3atAlDhgyBl5cXsrKyAAAfffQRfvjhB52GIzJWFTX1+C2tEAAwKZLT+oiIxNQ8ve8cN+Y1STmlNVh/5AoA4PXRPfnhJrWZ1n8pa9euRWxsLEaPHo2ysjKoVCoAgJOTE1auXKnrfERGae/ZfNQ1qBHkYYdgT3ux4xARmbTmjXnZuc80ffDLBdQ1qDEooBOG9+SIJLWd1oXU6tWr8fnnn+ONN96AmdnNmYF9+/bVtD8nojvbmdi40d/EPt7c6I+ISGQh3o0faKWyc5/JScouw+6UPEgkwBtjevI1mbSidSF15coVRERE3HLcwsIC1dXVOglFZMyyrlfjdFYZpBJgXDin9REZgjVr1qBLly6wtLTEgAEDcPLkydueW19fj7fffhsBAQGwtLREWFgY9u3bd9vz33vvPUgkEsydO1cPyUkXQppGpHJKb6Cipl7kNNReBEHAO3vPAwAm9ems+TsgaiutCyl/f38kJyffcnzfvn3o2bOnLjIRGbWdTU0mhgS6wt3eUuQ0RLRt2zbExsbizTffRGJiIsLCwjBy5EgUFRW1ev7ChQvx6aefYvXq1UhLS8MLL7yACRMmICkp6ZZzT506hU8//VSzXQgZJgcrc/g27RnE/aRMx8+pBUjIKoOVuQyvjOghdhzqgLQupGJjYzFr1ixs27YNgiDg5MmTePfdd7FgwQK8+uqr+shIZDTUagE7kxqn9XHvKCLDsGLFCsyYMQMxMTEIDg7GunXrYG1tjfXr17d6/qZNm/D6668jOjoaXbt2xcyZMxEdHY1///vfLc6rqqrClClT8Pnnn8PJyak9Hgrdg1BO7zMpygYVlv/cOBr1/NCu8HDgB5ukPa0Lqeeeew7vv/8+Fi5ciJqaGjz55JNYu3YtVq1ahccff1wfGYmMxumsMuSU3oCthRlGBHuIHYfI5NXV1SEhIQFRUVGaY1KpFFFRUTh27Fir91EqlbC0bPmmy8rKCvHx8S2OzZo1C2PGjGlxbTJcIV7cmNeUfHU0CzmlN+BmZ4F/DOsqdhzqoO5qH6kpU6ZgypQpqKmpQVVVFdzc2OGEqC2am0xE9/KAlVwmchoiKikpgUqlgru7e4vj7u7uSE9Pb/U+I0eOxIoVKzB06FAEBAQgLi4OO3fu1HSxBYBvvvkGiYmJOHXqVJtyKJVKKJVKzfcKBd/Mt7fmFugckTJ+ZdV1WL3/EgDglRE9YC2/q7fDRHe3j1Qza2trFlFEbVRbr8LeM/kAgIl9Oouchoju1qpVqxAYGIigoCDI5XLMnj0bMTExkEobX1JzcnLw8ssvY8uWLbeMXN3O8uXL4eDgoPny8fHR50OgVoR4NU7tu1JSjSplg8hpSJ9WxV2CorYBQR52mBTJ12O6e20qwSMiItrcDjIxMfGeAhEZq1/TClGpbIC3oxX6d3EWOw4RAXBxcYFMJkNhYWGL44WFhfDwaH36raurK3bt2oXa2lpcv34dXl5emD9/Prp2bZwelJCQgKKiIvTp00dzH5VKhT/++AMff/wxlEolZLKWI9ILFixAbGys5nuFQsFiqp252FrA08ES+RW1OJ+vQD8+TxulzOIqbD6eBQBYOCYYMinbndPda1MhNX78eM2/a2tr8cknnyA4OBgDBw4EABw/fhznzp3Diy++qJeQRMageVrfpD7ekPKJm8ggyOVyREZGIi4uTvNap1arERcXh9mzZ9/xvpaWlvD29kZ9fT127NiBxx57DAAwfPjwW/ZVjImJQVBQEF577bVbiiigcQsRCwsL3TwoumshXg7Ir6hFam4FCykjtfzndDSoBTwU5IYhgS5ix6EOrk2F1Jtvvqn593PPPYeXXnoJS5cuveWcnJwc3aYjMhJFlbX442IxAGACp/URGZTY2FhMmzYNffv2Rf/+/bFy5UpUV1cjJiYGADB16lR4e3tj+fLlAIATJ04gNzcX4eHhyM3NxVtvvQW1Wq3pXGtnZ4fQ0NAWP8PGxgadOnW65TgZllBve/x+vpANJ4zU8czr+C2tEDKpBK9HB4kdh4yA1qvrvvvuO5w+ffqW40899RT69u1723axRKbsx+Q8qAWgj68j/F1sxI5DRH8yefJkFBcXY/HixSgoKEB4eDj27dunaUCRnZ2tWf8ENM7MWLhwITIzM2Fra4vo6Ghs2rQJjo6OIj0C0pXQps593EvK+KjVAt7ZmwYAeKK/D7q52YmciIyB1oWUlZUVjhw5gsDAwBbHjxw50uZFtUSmZntC47Q+NpkgMkyzZ8++7VS+gwcPtvh+2LBhSEtL0+r6/3sNMkzNnfsuFVWhtl4FS3N2VzUWP6TkIjVXATsLM8yN6i52HDISWhdSc+fOxcyZM5GYmIj+/fsDaJzmsH79eixatEjnAYk6urQ8BdILKiGXSTG2t5fYcYiI6Dbc7S3gYitHSVUd0gsqEe7jKHYk0pEtx7MBNG6+62LL9YikG1oXUs2diVatWoXNmzcDAHr27IkNGzZoFtoS0U3NTSaigt3gYG0uchoi45GZmanplEekCxKJBCFeDjh0sRipuRUspIxETmkNTmeVQSIBHu3LbpikO3e1A9ljjz3GoomoDRpUauxKzgMATIzgtD4iXerWrRuGDRuGZ599Fn//+985vZx0ItTbHocuFnOdlBH5MaXxdfg+/07wcODzBOlOmzbkFQRB3zmIjNLhSyUoqVLC2UaOYT1cxY5DZFQSExPRu3dvxMbGwsPDA//4xz9w8uRJsWNRB9fccIKd+4yDIAj4ITkXADA+gtPrSbfaVEiFhITgm2++QV1d3R3Pu3TpEmbOnIn33ntPJ+GIOrodTdP6HgnzgrmsTf+7EVEbhYeHY9WqVcjLy8P69euRn5+PIUOGIDQ0FCtWrEBxcbHYEakDam44caGgEnUNapHT0L1KL6jExcIqyGVSjAr1FDsOGZk2vbNbvXo1PvzwQ3h4eGDy5Mn4v//7P2zZsgU7duzAF198gdjYWPTv3x/h4eGwt7fHzJkz9Z2byOBV3KjHr2mFAIC/R3JaH5G+mJmZYeLEifjuu+/w/vvvIyMjA6+88gp8fHwwdepU5Ofnix2ROpDOTlawtzRDnUqNS0WVYsehe7SraTTqwSBXOFhxnTLpVpvWSA0fPhynT59GfHw8tm3bhi1btiArKws3btyAi4sLIiIiMHXqVEyZMgVOTk76zkzUIfx8Nh91DWp0d7dFiJe92HGIjNbp06exfv16fPPNN7CxscErr7yCZ599FteuXcOSJUswbtw4TvmjNpNIJAj1dsDRy9dxLleBkKapftTxqNUCdjetUx4X7i1yGjJGWjWbGDJkCIYMGaKvLERGpXla38Q+nSGRSEROQ2R8VqxYgQ0bNuDChQuIjo7GV199hejoaM3muf7+/vjyyy/RpUsXcYNSh9NcSKXmVeAxsMtbR3XqainyKmphZ2GGh4LcxI5DRuiuuvYR0Z1lXa/GqatlkEqA8fwUjEgv1q5di+nTp+OZZ56Bp2frax/c3Nzw3//+t52TUUfXPIsgNZed+zqyH5q69Y0K9eDmyqQXLKSI9OD7pMY52YO7ubDVKpGe/Pbbb/D19dWMQDUTBAE5OTnw9fWFXC7HtGnTREpIHVVzw4m0fAVUagEyKWcVdDR1DWr8dLZxfSSn9ZG+sI0YkY4JgoCdiY2F1KQ+bDJBpC8BAQEoKSm55XhpaSn8/f1FSETGwr+TDWzkMtTWq5FZXCV2HLoLf1wsRnlNPVztLDAwoJPYcchIsZAi0rGErDJkl9bARi7DiBB3seMQGa3b7XFYVVXFzXnpnkilEgQ3T+/jxrwdUnO3vrG9vTiiSHoj6tS+P/74A//3f/+HhIQE5Ofn4/vvv8f48eM1tz/zzDPYuHFji/uMHDkS+/bt03xfWlqKOXPmYPfu3ZBKpZg0aRJWrVoFW1vb9noYRC00N5kY3csT1nLOniXStdjYWACN3dUWL14Ma2trzW0qlQonTpxAeHi4SOnIWIR4OeDU1TKk5iowIULsNKSNKmUDfj/fuP0IN+Elfbqrd3mXL1/Ghg0bcPnyZaxatQpubm74+eef4evri5CQkDZfp7q6GmFhYZg+fTomTpzY6jmjRo3Chg0bNN9bWFi0uH3KlCnIz8/Hb7/9hvr6esTExOD555/H1q1b7+ahEd2T2noV9pxpnJM9sQ/nZBPpQ1JSEoDGEamzZ89CLpdrbpPL5QgLC8Mrr7wiVjwyEs3rpNhwouP59VwBauvV8HexQS9vtq8n/dG6kDp06BBGjx6NwYMH448//sC7774LNzc3pKSk4L///S+2b9/e5muNHj0ao0ePvuM5FhYW8PDwaPW28+fPY9++fTh16hT69u0LoHHz4OjoaHz44Yfw8uKnENS+fj9fiMraBng7WuE+f87JJtKHAwcOAABiYmKwatUq2NtznzbSvVDvxr+rtDwF1GoBUk4P6zB2afaO8uL2I6RXWq+Rmj9/Pt555x389ttvLT4FfOihh3D8+HGdhgOAgwcPws3NDT169MDMmTNx/fp1zW3Hjh2Do6OjpogCgKioKEilUpw4cULnWYj+SnOTiQkR3nzRJdKzDRs2sIgivenmagsLMykqlQ3ILq0ROw61UXGlEkcyGpvQsFsf6ZvWI1Jnz55tddqcm5tbq92T7sWoUaMwceJE+Pv74/Lly3j99dcxevRoHDt2DDKZDAUFBXBza7nBmpmZGZydnVFQUHDb6yqVSiiVSs33CoVCp7nJNBVXKnHoYjEAYAKn9RHpxcSJE/Hll1/C3t7+tlPCm+3cubOdUpExMpNJEeRpj5SccqTmVaCLi43YkagN9p7Jg0otIKyzA/z534z0TOtCytHREfn5+be0lk1KSoK3t27fPD7++OOaf/fq1Qu9e/dGQEAADh48iOHDh9/1dZcvX44lS5boIiKRxg/JuVCpBYT7OCLAlc1OiPTBwcFBM1XH3t6e03ZIr0K9mgqpXAUe7s3lAh1B8ya8j3A0itqB1oXU448/jtdeew3fffcdJBIJ1Go1jhw5gldeeQVTp07VR0aNrl27wsXFBRkZGRg+fDg8PDxQVFTU4pyGhgaUlpbedl0VACxYsEDT9QloHJHy8fHRW24yDTf3juKTN5G+/Ln50JdffileEDIJzQ0nzrEFeoeQdb0aSdnlkEqAsb09xY5DJkDrNVLLli1DUFAQfHx8UFVVheDgYAwdOhSDBg3CwoUL9ZFR49q1a7h+/To8PRv/5xg4cCDKy8uRkJCgOWf//v1Qq9UYMGDAba9jYWEBe3v7Fl9E9+J8vgJp+QqYyyQYG8ZPLYnawzvvvIMrV66IHYOMWKjXzc59t9u3jAzHj01NJgYFuMDNnnvJkf5pXUjJ5XJ8/vnnyMzMxJ49e7B582akp6dj06ZNkMlkWl2rqqoKycnJSE5OBgBcuXIFycnJyM7ORlVVFf71r3/h+PHjuHr1KuLi4jBu3Dh069YNI0eOBAD07NkTo0aNwowZM3Dy5EkcOXIEs2fPxuOPP86OfdSudjbtHTU8yB2O1vK/OJuIdOG7775Dt27dMGjQIHzyySc6X6dL1N3DFmZSCcpq6pFXUSt2HLoDQRA0m/COC+d7QGofWhdSzXx8fBAdHY1JkyahuroaZWVlWl/j9OnTiIiIQERE4053sbGxiIiIwOLFiyGTyXDmzBk88sgj6N69O5599llERkbi8OHDLfaS2rJlC4KCgjB8+HBER0djyJAh+Oyzz+72YRFprUGl1rRa5d5RRO0nJSUFZ86cwQMPPKDZ8mLMmDHYunUramrYZY3unYWZDN3d7QBwPylDdy5PgcvF1ZCbSTEq9PbLO4h0Ses1UnPnzkWvXr3w7LPPQqVSYdiwYTh69Cisra2xZ88ePPDAA22+1gMPPHDHofJffvnlL6/h7OzMzXdJVPEZJSiuVMLJ2hwP9HD76zsQkc6EhIRg2bJlWLZsGY4cOYKtW7di7ty5eOGFF9iRlXQi1NseafkKnMutwMgQvkE3VD80jUZF9XSDnaW5yGnIVGg9IrV9+3aEhYUBAHbv3o3MzEykp6dj3rx5eOONN3QekMjQNTeZGBfuDbnZXQ/yEtE9srGxgZWVFeRyOerr68WOQ0aiueFEah4Lc0OlUgv4MaV5E17ODKH2o/W7vpKSEk1HvJ9++gmPPfYYunfvjunTp+Ps2bM6D0hkyBS19fjlXOOeZZzWR9T+rly5gnfffRchISHo27cvkpKSsGTJkjvuJUikjZA/NZwgw3TiynUUKpSwtzTDAz1cxY5DJkTrqX3u7u5IS0uDp6cn9u3bh7Vr1wIAampqtG42QdTR/Xw2H8oGNbq52aJX06eWRNQ+7rvvPpw6dQq9e/dGTEwMnnjiCZ3vZ0jU09MOUglQVKlEkaKW3eAMUHO3vuhenrAw43tRaj9aF1IxMTF47LHH4OnpCYlEgqioKADAiRMnEBQUpPOARIZsR9O0vol9vLkxKFE7Gz58ONavX4/g4GCxo5ARs5abIcDVFpeKqnAuT8FCysAoG1T46Ww+AOARduujdqZ1IfXWW28hNDQUOTk5ePTRRzUd9GQyGebPn6/zgESGKqe0BievlEIiASZE8FNwovb27rvvih2BTESotwMuFVUhNbcCDwaxqZAhOXihGIraBnjYW2KAfyex45CJ0bqQAoC///3vtxybNm3aPYch6kiam0wMDnCBp4OVyGmITENsbCyWLl0KGxsbxMbG3vHcFStWtFMqMnYhXvb4PikXqXlcJ2Vomrv1jQ3zhEzKmSHUvu6qkKqursahQ4eQnZ2Nurq6Fre99NJLOglGZMgEQcDOpMZNeNlkgqj9JCUlaTryJSUliZyGTIWmc18uO/cZksraevx+vggAu/WROLQupJKSkhAdHY2amhpUV1fD2dkZJSUlsLa2hpubGwspMgmJ2WXIul4Da7mM+4oQtaMDBw60+m8ifQr2sgcA5JbfQFl1HZxs5CInIgDYl1qAugY1AlxtENL034ioPWnd/nzevHkYO3YsysrKYGVlhePHjyMrKwuRkZH48MMP9ZGRyOA0N5kYFeoBG4u7Gtglons0ffp0VFZW3nK8uroa06dPFyERGSt7S3N06WQNADjH/aQMxg9N3frGh7PhE4lD60IqOTkZ//znPyGVSiGTyaBUKuHj44MPPvgAr7/+uj4yEhmU2noV9jRt/DepT2eR0xCZro0bN+LGjRu3HL9x4wa++uorERKRMQvRbMzLdVKGoEhRi6OXSwBwWh+JR+tCytzcHFJp493c3NyQnZ0NAHBwcEBOTo5u0xEZoLjzRVDUNsDLwRIDu7JDEFF7UygUqKiogCAIqKyshEKh0HyVlZXhp59+gpsbO6uRboVyY16DsvtMPtQCEOHrCN+m0UKi9qb1nKSIiAicOnUKgYGBGDZsGBYvXoySkhJs2rQJoaGh+shIZFB2JjY2mRgf4Q0pOwQRtTtHR0dIJBJIJBJ07979ltslEgmWLFkiQjIyZqHejWtwOLXPMPzY1K1vPEejSERaF1LLli3TzEl/9913MXXqVMycOROBgYFYv369zgMSGZKSKiUOXiwGwG59RGI5cOAABEHAQw89hB07dsDZ2Vlzm1wuh5+fH7y8uDEn6VZI04jUlZJqVNbWw87SXOREputKSTVSrlVAJpVgTG9PseOQCdO6kOrbt6/m325ubti3b59OAxEZsh+T86BSCwjr7IBubnZixyEyScOGDQMAXLlyBb6+vlxkTu3C2UYOb0cr5JbfQFqeAgM4tVs0zXtHDenmAhdbC5HTkCnTeo0UkSnb0TStb1Ikm0wQiW3//v3Yvn37Lce/++47bNy4UYREZOyaW2yncnqfaARB0HTrGxfOkWcSl9aFVGFhIZ5++ml4eXnBzMwMMpmsxReRsbpYWIlzeQqYyyR4uDefvInEtnz5cri4uNxy3M3NDcuWLRMhERm75o15z7HhhGjO5lbgSkk1LM2lGMF9HElkWk/te+aZZ5CdnY1FixbB09OTUyrIZPzY9AnYsO6ucOZmjESiy87Ohr+//y3H/fz8NB1liXSpueEEW6CLZ1dS42txVE932HIfRxKZ1n+B8fHxOHz4MMLDw/UQh8gwCYKA3Wcan7zHhnE0isgQuLm54cyZM+jSpUuL4ykpKejUietXSPeaW6BnFFWhpq4B1nK+kW9PKvXN12J26yNDoPXUPh8fHwiCoI8sRAbrbG4Fsq7XwNJciqie7mLHISIATzzxBF566SUcOHAAKpUKKpUK+/fvx8svv4zHH39c7HhkhNzsLeFqZwG1AJzPrxQ7jsk5dvk6iiuVcLQ2x9DurmLHIdK+kFq5ciXmz5+Pq1ev6iEOkWHandL4Cdjwnu6w4VQCIoOwdOlSDBgwAMOHD4eVlRWsrKwwYsQIPPTQQ1wjRXoT6tW8nxSn97W35m590b08ITdjvzQSX5veETo5ObVYC1VdXY2AgABYW1vD3LzlPgqlpaW6TUgkMrVawJ4z+QCARzitj8hgyOVybNu2DUuXLkVKSgqsrKzQq1cv+Pn5iR2NjFiotwMOXChGKhtOtKvaehX2pRYA4LQ+MhxtKqRWrlyp5xhEhishuwz5FbWwszDDME4lIDI4Xbp0gSAICAgIgJkZR4xJv5o35k3NZQv09nQgvQiVygZ4OViir5+T2HGIALSxkJo2bZq+cxAZrOZufSNCPGBpzhb/RIaipqYGc+bM0ewZdfHiRXTt2hVz5syBt7c35s+fL3JCMkbNnfsuFlZC2aCChRlfF9rDrqZpfY+Ee0MqZcdoMgx3NcFUpVJh+/btWLp0KZYuXYodO3agoaFB19mIRNegUuOns43T+saGeYqchoj+bMGCBUhJScHBgwdhaWmpOR4VFYVt27aJmIyMmbejFRytzdGgFnCxoErsOCahoqYeB9KLAXATXjIsWs+BOHfuHB555BEUFBSgR48eAID3338frq6u2L17N0JDQ3UekkgsxzKv43p1HZyszTG4260bfxKReHbt2oVt27bhvvvua7GONyQkBJcvXxYxGRkziUSCUC8HxGeUIDWvAr06O4gdyejtO5ePOpUaPdzt0NPTXuw4RBpaj0g999xzCAkJwbVr15CYmIjExETk5OSgd+/eeP755/WRkUg0zd36RvfyhLmMHYKIDElxcTHc3NxuOV5dXc3N4kmvQpo35mXDiXbRvAnvIxyNIgOj9TvD5ORkLF++HE5ONxf6OTk54d1330VSUpJOwxGJSdlws0MQu/URGZ6+ffti7969mu+bi6cvvvgCAwcOFCsWmYDmjXlT89hwQt8KKmpx/Mp1AHwtJsOj9dS+7t27o7CwECEhIS2OFxUVoVu3bjoLRiS2wxdLoKhtgLu9Bfp1cRY7DhH9j2XLlmH06NFIS0tDQ0MDVq1ahbS0NBw9ehSHDh0SOx4ZsVDvxkLqfL4C9So1Zyzo0e6UPAgC0NfPCT7O1mLHIWpB6//zly9fjpdeegnbt2/HtWvXcO3aNWzfvh1z587F+++/D4VCofki6sh+bJrWN6aXF2TsEERkcIYMGYLk5GQ0NDSgV69e+PXXX+Hm5oZjx44hMjJS7HhkxPycrWFrYYa6BjUuF7PhhD79kNLYrW9cBPeOIsOj9YjUww8/DAB47LHHNNMoBEEAAIwdO1bzvUQigUql0lVOonZVU9eA39IKAbBbH5EhCwgIwOeffy52DDIxUqkEwV72OHmlFKm5CgR5sAGCPmQUVSE1VwEzqQRjevG1mAyP1oXUgQMH9JGDyKDsTy/CjXoVfJytEO7jKHYcImqizWwHe3u+uSX9CfVyaCqkKvD3yM5ixzFKPzbtHTW0uyucbeQipyG6ldaF1LBhw/SRg8igNHfrG9vbi92/iAyIo6PjX/4/eTezItasWYP/+7//Q0FBAcLCwrB69Wr079+/1XPr6+uxfPlybNy4Ebm5uejRowfef/99jBo1SnPO8uXLsXPnTqSnp8PKygqDBg3C+++/r9k2hDq+5o15z+Wxc58+CIKAXcmNr8XcO4oMldaFFJGxU9TW48CFxo3/xrJDEJFB0cesiG3btiE2Nhbr1q3DgAEDsHLlSowcORIXLlxotb36woULsXnzZnz++ecICgrCL7/8ggkTJuDo0aOIiIgAABw6dAizZs1Cv3790NDQgNdffx0jRoxAWloabGxsdP4YqP31amo4cS5PAbVagJRraXUqOacc2aU1sJbL8Ldgd7HjELWKhRTR//jtXCHqGtTo5maLIA87seMQ0Z+sWrUKX375Jezt7fHVV19h8uTJsLCwuKdrrlixAjNmzEBMTAwAYN26ddi7dy/Wr1+P+fPn33L+pk2b8MYbbyA6OhoAMHPmTPz+++/497//jc2bNwMA9u3b1+I+X375Jdzc3JCQkIChQ4feU14yDF1dbWFpLkVNnQpXrlcjwNVW7EhG5Yem0agRwe6wlvPtKhkm9usk+h8/clofkcHas2cPqqurAQAxMTGoqLi3aVV1dXVISEhAVFSU5phUKkVUVBSOHTvW6n2USiUsLS1bHLOyskJ8fPxtf05zTmdnbqVgLGRSCYI9uTGvPjSo1NhzpnlaH7v1keFiiU/0J6XVdYjPKAEAPMxufUQGJygoCAsWLMCDDz4IQRDw7bff3rapxNSpU//yeiUlJVCpVHB3bzl1yN3dHenp6a3eZ+TIkVixYgWGDh2KgIAAxMXFYefOnbddk6VWqzF37lwMHjwYoaGhrZ6jVCqhVCo133MLkY4h1NsBidnlOJen4Bt+HTpy+TpKqurgbCPHkEAXseMQ3RYLKaI/+Tk1Hyq1gBAve07TIDJA69atQ2xsLPbu3QuJRIKFCxe2OnIskUjaVEjdjVWrVmHGjBkICgqCRCJBQEAAYmJisH79+lbPnzVrFlJTU+84YrV8+XIsWbJEL3lJf0K9GtdJcURKt35o6tY3ppcnNzsmg6b1X2dhYSGefvppeHl5wczMDDKZrMUXUUfW3K3vETaZIDJIgwYNwvHjx1FcXAxBEHDx4kWUlZXd8lVaWtqm67m4uEAmk6GwsLDF8cLCQnh4eLR6H1dXV+zatQvV1dXIyspCeno6bG1t0bVr11vOnT17Nvbs2YMDBw6gc+fbt8hesGABKioqNF85OTltyk/iCvG+ObWveU9Nujc36lT4JbUAADA+gq/FZNi0HpF65plnkJ2djUWLFsHT05NrSMhoFCpqceJK45uvMb05rY/I0F25cgWurq73dA25XI7IyEjExcVh/PjxABqn4sXFxWH27Nl3vK+lpSW8vb1RX1+PHTt24LHHHtPcJggC5syZg++//x4HDx6Ev7//Ha9lYWFxz00zqP0FutlBLpNCUduAa2U34ONsLXakDu/384WorlOhs5MV+vg6iR2H6I60LqTi4+Nx+PBhhIeH6yEOkXj2nsmHIACRfk7o7MQXQyJD5+fnh8OHD+PTTz/F5cuXsX37dnh7e2PTpk3w9/fHkCFD2nSd2NhYTJs2DX379kX//v2xcuVKVFdXa7r4TZ06Fd7e3li+fDkA4MSJE8jNzUV4eDhyc3Px1ltvQa1W49VXX9Vcc9asWdi6dSt++OEH2NnZoaCg8RN2BwcHWFlZ6fg3QWKRm0nRw8MOZ3MrkJpbwUJKB374095R/LCeDJ3WU/t8fHw4fE1G6Wa3Po5GEXUEO3bswMiRI2FlZYWkpCRNs4aKigosW7aszdeZPHkyPvzwQyxevBjh4eFITk7Gvn37NA0osrOzkZ+frzm/trYWCxcuRHBwMCZMmABvb2/Ex8fD0dFRc87atWtRUVGBBx54AJ6enpqvbdu26ebBk8Fo3pg3lRvz3rPymjoculgEgN36qGPQekRq5cqVmD9/Pj799FN06dJFD5GI2l9OaQ2Sc8ohlQDRLKSIOoR33nkH69atw9SpU/HNN99ojg8ePBjvvPOOVteaPXv2bafyHTx4sMX3w4YNQ1pa2h2vxw8cTUeIlwOAHKTmstPivfrpbAHqVQJ6etqjuzv3cSTDp3UhNXnyZNTU1CAgIADW1tYwNzdvcXtbF/gSGZLdTftVDAzoBDc7y784m4gMwYULF1rd3NbBwQHl5eXtH4hMUqj3zc59giBwOto92NXUrW98OJtMUMdwVyNSRMZmd0rjtJ2xvfnkTdRReHh4ICMj45bZEfHx8a120CPShyAPO8ikElyvrkOhQgkPB34Ydzfyym/g5JVSSCTAWHbOpQ5C60Jq2rRp+shBJJqMokqcz1fATCrBqNDW2x0TkeGZMWMGXn75Zaxfvx4SiQR5eXk4duwY/vnPf2Lx4sVixyMTYWkuQ6CbLdILKpGaW8FC6i41r1Pu38UZXo5syEIdw11tyKtSqbBr1y6cP38eABASEoJHHnmE+0hRh9Q8GjW0uyscreUipyGitpo/fz7UajWGDx+OmpoaDB06FBYWFvjXv/6F5557Tux4ZEJCvBwaC6m8CkQFu4sdp0O62a2PTSao49C6a19GRgZ69uyJqVOnYufOndi5cyeeeuophISE4PLly/rISKQ3giBoNuEdG8YmE0QdiUQiwRtvvIHS0lKkpqZqNup1cHD4y32biHRJ07mPDSfuSkZRFc7nK2AukyC6F2eGUMehdSH10ksvISAgADk5OUhMTERiYiKys7Ph7++Pl156SR8ZifTmXJ4CmSXVsDCT4m/BfPIm6giUSiUWLFiAvn37YvDgwfjpp58QHByMc+fOoUePHli1ahXmzZsndkwyIc0NJ86xBfpdOXypGABwX9dOnBlCHYrWU/sOHTqE48ePw9nZWXOsU6dOeO+99zB48GCdhiPSt+ZufcN7usHW4q5muhJRO1u8eDE+/fRTREVF4ejRo3j00UcRExOD48eP49///jceffRRTjWndtXT0x4SCZBfUYuSKiVcbC3EjtShHMkoAQAM7uYichIi7Wj9ztHCwgKVlZW3HK+qqoJczk8RqOMQBAF72K2PqMP57rvv8NVXX+GRRx5BamoqevfujYaGBqSkpLD1NInC1sIM/i42yCyuxrk8BYZ1dxU7UofRoFLjRGbj1jmDA1hIUcei9dS+hx9+GM8//zxOnDgBQRAgCAKOHz+OF154AY888og+MhLpRWJ2OXLLb8BGLsODQW5ixyGiNrp27RoiIyMBAKGhobCwsMC8efNYRJGoQr1u7idFbXcmtwKVygY4WJkj2Mte7DhEWtG6kPrPf/6DgIAADBw4EJaWlrC0tMTgwYPRrVs3rFq1Sh8ZifSiucnEiBAPWJpzGhBRR6FSqVrMgDAzM4Otra2IiYhuNpzgOintHLnUOK1vUEAnyKT8MIQ6Fq2n9jk6OuKHH37ApUuXkJ6eDgDo2bMnunXrpvNwRPqiUgvYe7ZpWh+79RF1KIIg4JlnnoGFReM6lNraWrzwwguwsbFpcd7OnTvFiEcm6uaIFDv3aePI5aZCiuujqAO669X1gYGBCAwM1GUWonZzIvM6iiuVcLAyx5BunMtO1JH878bwTz31lEhJiG4KaSqksktrUFFTDwdrc5ETGb4bdSokZpUDAIawkKIOqE2FVGxsLJYuXQobGxvExsbe8dwVK1boJBiRPjV364vu5QG5mdYzXIlIRBs2bBA7AtEtHKzN4eNshZzSGziXX4FBbJzwl05dLUWdSg0vB0t06WQtdhwirbXpHWRSUhLq6+s1/77Tlzb++OMPjB07Fl5eXpBIJNi1a1eL2wVBwOLFi+Hp6QkrKytERUXh0qVLLc4pLS3FlClTYG9vD0dHRzz77LOoqqrSKgeZlroGNX5OLQDAbn1ERKQ7zdP7znF6X5v8eVofm8VQR9SmEakDBw60+u97VV1djbCwMEyfPh0TJ0685fYPPvgA//nPf7Bx40b4+/tj0aJFGDlyJNLS0mBpaQkAmDJlCvLz8/Hbb7+hvr4eMTExeP7557F161ad5STjciSjBOU19XCxtcCArp3EjkNEREYi1NsBP6cWIJUNJ9qkef8oTuujjkrrOU3Tp09vdR+p6upqTJ8+XatrjR49Gu+88w4mTJhwy22CIGDlypVYuHAhxo0bh969e+Orr75CXl6eZuTq/Pnz2LdvH7744gsMGDAAQ4YMwerVq/HNN98gLy9P24dGJqK5W9/DvT3ZIYiIiHQmpKl9N1ug/7Wy6jqcy2scuRsUwA81qWPSupDauHEjbty4ccvxGzdu4KuvvtJJKAC4cuUKCgoKEBUVpTnm4OCAAQMG4NixYwCAY8eOwdHREX379tWcExUVBalUihMnTtz22kqlEgqFosUXmYbaehV+Odc0rY/d+oiISIeaG05kllSjWtkgchrDdizzOgQB6O5uCzd7S7HjEN2VNhdSCoUCFRUVEAQBlZWVLYqQsrIy/PTTT3Bz092mpgUFjW923d3dWxx3d3fX3FZQUHDLzzQzM4Ozs7PmnNYsX74cDg4Omi8fHx+d5SbDdiC9CNV1Kng7WqGPr5PYcYiIyIi42lnAw94SggCcz+eHtHfSPK2PTTmoI2tz+3NHR0dIJBJIJBJ07979ltslEgmWLFmi03D6smDBghbdBxUKBYspE9Hcre/hME8ubCUiIp0L9bZHgaIWqbkV6NvFWew4Buvo5esAgMFcH0UdWJsLqQMHDkAQBDz00EPYsWMHnJ1vPjnI5XL4+fnBy0t3HdA8PDwAAIWFhfD0vDkFq7CwEOHh4ZpzioqKWtyvoaEBpaWlmvu3xsLCQrORI5mOKmUD4s43/r2wWx8REelDiJcDfj9fhNQ8jkjdTm75DVwpqYZMKsGAriw2qeNqcyE1bNgwAI1rl3x9ffX+ab6/vz88PDwQFxenKZwUCgVOnDiBmTNnAgAGDhyI8vJyJCQkIDIyEgCwf/9+qNVqDBgwQK/5qOP5Pa0QygY1urrYaBYEExER6VKod+M6KTacuL3maX29OzvA3pIbF1PH1eZCqtn+/ftha2uLRx99tMXx7777DjU1NbfsOH8nVVVVyMjI0Hx/5coVJCcnw9nZGb6+vpg7dy7eeecdBAYGatqfe3l5Yfz48QCAnj17YtSoUZgxYwbWrVuH+vp6zJ49G48//rhOR8fIOGi69YV5cVofERHpRah34wd1l4qqUFuvgqW5TOREhodtz8lYaN21b/ny5XBxufUP383NDcuWLdPqWqdPn0ZERAQiIiIAALGxsYiIiMDixYsBAK+++irmzJmD559/Hv369UNVVRX27dun2UMKALZs2YKgoCAMHz4c0dHRGDJkCD777DNtHxYZufKaOvxxqRgA8Ai79RERkZ542Fuik40cKrWACwW3bhdj6gRB0KyPYqMJ6ui0HpHKzs6Gv7//Lcf9/PyQnZ2t1bUeeOABCIJw29slEgnefvttvP3227c9x9nZmZvv0l/al1qAepWAnp726OZmJ3YcIiIyUhKJBCHeDvjjYjFS8yoQ5uModiSDcqmoCsWVSliaS9HHz1HsOET3ROsRKTc3N5w5c+aW4ykpKejUiRuqkWFq7tbHvaOIiEjfQjUb87LhxP+Kv9Q4ra9fF2dYmHHaI3VsWhdSTzzxBF566SUcOHAAKpUKKpUK+/fvx8svv4zHH39cHxmJ7klRZS2ONU0jYLc+IiLSt+aGE+fy2HDifx293FhIse05GQOtp/YtXboUV69exfDhw2Fm1nh3tVqNqVOnar1Giqg9/Hy2AGoBCPdxhI+ztdhxiIjIyIV6NRZS6fmVqFepYS7T+nNro9SgUuN4ZikANpog46B1ISWXy7Ft2zYsXboUKSkpsLKyQq9eveDn56ePfET3rLlb39gwjkYREZH++Thbwc7SDJW1DbhUWIVgbrkBAEi5VoEqZQMcrc0R7MnfCXV8WhdSzbp06QJBEBAQEKAZmSIyNLnlN3A6qwwSCfBwb66PIiIi/ZNIJAj1csCxzOtIzatgIdXkaFPb84FdO0Eq5TYk1PFpPdZcU1ODZ599FtbW1ggJCdF06pszZw7ee+89nQckuhd7mkajBvg7w93e8i/OJiIi0o3m/aTOcWNejfgMro8i46J1IbVgwQKkpKTg4MGDLfZzioqKwrZt23Qajuhe3ezWx2l9RETUfpobTqTmsXMfANTUNSApuxwACykyHlrPydu1axe2bduG++67DxLJzWHZkJAQXL58WafhiO5FZnEVUnMVkEklGB3KaX1ERNR+QpoaTqTlKaBSC5CZ+FS2U1fLUKdSw9vRCl06sfETGQetR6SKi4vh5uZ2y/Hq6uoWhRWR2PacyQfQ2BnI2UYuchoiIjIl/i42sJbLcKNehSslVWLHEV3z+qhBAZ34fpGMhtaFVN++fbF3717N983/M3zxxRcYOHCg7pIR3QNBEPAju/UREZFIZFKJpjMdN+bl+igyTlpP7Vu2bBlGjx6NtLQ0NDQ0YNWqVUhLS8PRo0dx6NAhfWQk0tqFwkpkFFVBbibFiBB3seMQEZEJCvV2wOmsMqTmVmB8hLfYcURTVl2HtPzGYnJQt04ipyHSHa1HpIYMGYLk5GQ0NDSgV69e+PXXX+Hm5oZjx44hMjJSHxmJtPZjcuNo1IM9XGFvaS5yGiIiMkUhTW3PU/NMu3PfsczrEASgu7st3OzYQZeMx11tABUQEIDPP/9c11mIdEIQBHbrIyIi0TV37juXq4BaLZjs3kmc1kfGqk2FlELR9rm99vbcdI7ElXKtAjmlN2Atl+GhoFsboxAREbWHQDdbWJnLUKlsQEZxFbq724kdSRTNjSYGB7CQIuPSpkLK0dHxLzusCIIAiUQClUqlk2BEd2t3U5OJqJ7usJbf1aArERHRPTOTSRHm44DjmaVIzCozyULqWlkNrl6vgUwqwYCuzmLHIdKpNr3LPHDggL5zEOmEWi1gT9O0vkc4rY+IiETWx9epsZDKLsPj/X3FjtPujmZcBwCEdXaAHdcsk5FpUyG1atUqfPnll7C3t8dXX32FyZMnw8LCQt/ZiLR26mopChVK2Fua4f7unEJARETi6uPrBABIzC4XN4hIjlzm+igyXm3q2rdnzx5UV1cDAGJiYlBRYdrdZ8hwNe8dNSrUAxZmMpHTEBGRqYvwdQQAZBRVoaKmXtww7UwQBBxpGpFiIUXGqE0jUkFBQViwYAEefPBBCIKAb7/99rZNJaZOnarTgERtVa9S4+fUAgDs1kdERIahk60FunSyxtXrNUjKKcMDPUynCdLFwiqUVClhaS7VFJRExqRNhdS6desQGxuLvXv3QiKRYOHCha02n5BIJCykSDRHL19HaXUdOtnIMbArN/wjIiLD0MfXCVev1yAxu9ykCqnmtuf9ujhzlggZpTYVUoMGDcLx48cBAFKpFBcvXoSbm+k8EVDH0NytL7qXJ8xkWu81TUREpBcRfk7YmZSLpOwysaO0q+a250M4rY+MlNbvNq9cuQJXV1d9ZCG6a0WKWk0hNS6c0/qIiMhw9Gma1pacXQ61WhA3TDupV6lx4kopAK6PIuOldSHl5+eH+Ph4PPXUUxg4cCByc3MBAJs2bUJ8fLzOAxK1xbpDmVA2qBHp54RIPyex4xAREWn0cLeDtbxxY95LRVVix2kXZ66Vo0rZAEdrcwR7tr6unqij07qQ2rFjB0aOHAkrKyskJSVBqVQCACoqKrBs2TKdByT6K0WKWmw5kQUAmBsV+JebRxMREbUnM5kUYZ0dAQCJJjK9r7lb36CATpBK+bpMxknrQuqdd97BunXr8Pnnn8Pc/ObGaoMHD0ZiYqJOwxG1xZ9HozgPm4iIDFEfP0cAQEKWaRRSzY0mBgXwdZmMl9aF1IULFzB06NBbjjs4OKC8vFwXmYjajKNRRETUEdzcmNf4C6maugZNYw1+wEnGTOtCysPDAxkZGbccj4+PR9euXXUSiqitOBpFREQdQURTIZVZXI3ymjqR0+jXqatlqFcJ8Ha0gl8na7HjEOmN1oXUjBkz8PLLL+PEiROQSCTIy8vDli1b8Morr2DmzJn6yEjUqqLKm6NRLw/naBQRERkuZxs5urrYAACSssvFDaNnR5qm9Q3u1omvzWTU2rSP1J/Nnz8farUaw4cPR01NDYYOHQoLCwu88sormDNnjj4yErXq06bRqD6+jrg/kKNRRERk2CJ8nZBZUo3E7DI8GGS8+3HeLKT42kzGTesRKYlEgjfeeAOlpaVITU3F8ePHUVxcjKVLl+LGjRv6yEh0i6LKWmw+3rw2qjs/8SIiIoPX3HDCmNdJlVbX4VyeAgAwMKCTyGmI9EvrQqqZXC5HcHAw+vfvD3Nzc6xYsQL+/v66zEZ0WxyNIiKijqa54URydjlURrox77HLjW3Pe7jbwc3OUuQ0RPrV5kJKqVRiwYIF6Nu3LwYNGoRdu3YBADZs2AB/f3989NFHmDdvnr5yEmlwNIqIdG3NmjXo0qULLC0tMWDAAJw8efK259bX1+Ptt99GQEAALC0tERYWhn379t3TNck0dHe3g62FGarrVLhYWCl2HL04crmp7Xk3jkaR8WtzIbV48WKsXbsWXbp0wdWrV/Hoo4/i+eefx0cffYQVK1bg6tWreO211/SZlQgAR6OISLe2bduG2NhYvPnmm0hMTERYWBhGjhyJoqKiVs9fuHAhPv30U6xevRppaWl44YUXMGHCBCQlJd31Nck0yKQShPk4ADDe6X3N66PYSZdMQZsLqe+++w5fffUVtm/fjl9//RUqlQoNDQ1ISUnB448/DplMps+cRAA4GkVEurdixQrMmDEDMTExCA4Oxrp162BtbY3169e3ev6mTZvw+uuvIzo6Gl27dsXMmTMRHR2Nf//733d9TTIdmv2kssrFDaIHOaU1yLpeA5lUgv7+zmLHIdK7NhdS165dQ2RkJAAgNDQUFhYWmDdvHt/IUrviaBQR6VJdXR0SEhIQFRWlOSaVShEVFYVjx461eh+lUglLy5ZrP6ysrBAfH39P11QoFC2+yDg1F1JJRjgidbRpWl9YZwfYWZqLnIZI/9pcSKlUKsjlcs33ZmZmsLW11UsootZwNIqIdK2kpAQqlQru7u4tjru7u6OgoKDV+4wcORIrVqzApUuXoFar8dtvv2Hnzp3Iz8+/62suX74cDg4Omi8fHx8dPDoyRBG+jgCAzJJqlFUb18a8RzIaG01wWh+ZijbvIyUIAp555hlYWFgAAGpra/HCCy/AxsamxXk7d+7UbUKiJhyNIiJDsGrVKsyYMQNBQUGQSCQICAhATEzMPU3bW7BgAWJjYzXfKxQKFlNGytFajq6uNsgsrkZSThkeCnL/6zt1AIIgaEakBrGQIhPR5kJq2rRpLb5/6qmndB6G6HY4GkVE+uDi4gKZTIbCwsIWxwsLC+Hh4dHqfVxdXbFr1y7U1tbi+vXr8PLywvz589G1a9e7vqaFhYXmg0oyfn18nZBZXI2ELOMppC4UVqKkqg5W5jLNqBuRsWtzIbVhwwZ95iC6o8+aRqMiOBpFRDokl8sRGRmJuLg4jB8/HgCgVqsRFxeH2bNn3/G+lpaW8Pb2Rn19PXbs2IHHHnvsnq9JpqGPrxO2J1wzqoYTzdP6+vk7w8KMDcjINLS5kCISS1FlLTaf4GgUEelHbGwspk2bhr59+6J///5YuXIlqqurERMTAwCYOnUqvL29sXz5cgDAiRMnkJubi/DwcOTm5uKtt96CWq3Gq6++2uZrkmnr4+cIAEi5Vo4GlRpmsjYvWTdYzW3PBwdw/ygyHSykyOB9digTtfWNo1FDORpFRDo2efJkFBcXY/HixSgoKEB4eDj27dunaRaRnZ0NqfTmG93a2losXLgQmZmZsLW1RXR0NDZt2gRHR8c2X5NMW6CbHewszFCpbMCFwkqEeDmIHeme1KvUOJHZOCI1mOujyIRIBEEQxA4hNoVCAQcHB1RUVMDe3l7sOPQnRZW1GPrBAdTWq7Fxen8M6+4qdiQi0iE+/7aOvxfj9/R/T+DwpRIsHR+Kp+/zEzvOPUnIKsWktcfgZG2OhIV/g1TKmSPUsbX1ObjjjyWTUeNoFBERGaOI5v2ksjr+flLxlxpHowYFuLCIIpPCQooMFtdGERGRserT1Nku0Qg25j2iaXvO9VFkWlhIkcHiaBQRERmrCJ/GEamr12twvUopcpq7V1PXgKSmYnBwAF+rybSwkCKDxNEoIiIyZg7W5ujmZgsASMouFzfMPTh5pRT1KgHejlbw62QtdhyidsVCigwSR6OIiMjYGcP0vqOXm7v1deKHnmRyWEiRweFoFBERmYI+TQ0nOnIhFX+paf8otj0nE8RCigwOR6OIiMgU9PFrLKRScirQoFKLnEZ7pdV1SMtXAGjs2EdkalhIkUEprlRqRqNeHh7I0SgiIjJa3VxtYWdphhv1KqQXVIodR2tHm7r19XC3g6udhchpiNofCykyKJ/9cRm19WqE+zhy810iIjJqUqkE4T6OADrm9L4jGc3rozgaRaaJhRQZjOJKJTYdb14bxdEoIiIyfpp1Uh1wY97mEanB3D+KTBQLKTIYHI0iIiJT07xOKrGDtUDPKa1B1vUayKQS9Pd3FjsOkShYSJFB4GgUERGZonAfR0gkQHZpDUo60Ma8zaNR4T6OsLM0FzkNkTgMupB66623IJFIWnwFBQVpbq+trcWsWbPQqVMn2NraYtKkSSgsLBQxMd0tjkYREZEpcrAyR2DTxrwdaXpffPP6qABO6yPTZdCFFACEhIQgPz9f8xUfH6+5bd68edi9eze+++47HDp0CHl5eZg4caKIaelucDSKiIhM2c39pMrFDdJGgiDg2GXuH0VkJnaAv2JmZgYPD49bjldUVOC///0vtm7dioceeggAsGHDBvTs2RPHjx/Hfffd195R6S5xNIqIiExZH18nfHMqp8N07rtQWImSqjpYmcsQ0VQEEpkigx+RunTpEry8vNC1a1dMmTIF2dnZAICEhATU19cjKipKc25QUBB8fX1x7NixO15TqVRCoVC0+CJxcDSKiIhMXR8/RwDAmWvlqO8AG/PGX2ocjern7wy5mcG/lSTSG4P+6x8wYAC+/PJL7Nu3D2vXrsWVK1dw//33o7KyEgUFBZDL5XB0dGxxH3d3dxQUFNzxusuXL4eDg4Pmy8fHR4+Pgu6Eo1FERGTqurrYwt7SDLX1aqTnG/7GvEcvN66PGsK252TiDLqQGj16NB599FH07t0bI0eOxE8//YTy8nJ8++2393TdBQsWoKKiQvOVk5Ojo8SkDY5GERERNW7MG6FZJ2XY0/vqVWqcyGwspAYFcH0UmTaDLqT+l6OjI7p3746MjAx4eHigrq4O5eXlLc4pLCxsdU3Vn1lYWMDe3r7FF7W/zw9norZejTCORhERkYnr00EKqZScclTXqeBkbY5gT75/ItPWoQqpqqoqXL58GZ6enoiMjIS5uTni4uI0t1+4cAHZ2dkYOHCgiCmpLUqqlPjq2FUAHI0iIiJqXidl6IVUfEbj+qhBAS6QSvnaTabNoLv2vfLKKxg7diz8/PyQl5eHN998EzKZDE888QQcHBzw7LPPIjY2Fs7OzrC3t8ecOXMwcOBAduzrAD774+Zo1AMcjSIiIhPXvDFvTukNFFcq4WpnIXakVh1t2j9qENdHERl2IXXt2jU88cQTuH79OlxdXTFkyBAcP34crq6Nb7w/+ugjSKVSTJo0CUqlEiNHjsQnn3wicmr6KxyNIiIiasnO0hzd3exwobASidllGBly52UKYqhWNiApp3HEbAj3jyIy7ELqm2++uePtlpaWWLNmDdasWdNOiUgXOBpFRER0qz5+jo2FVJZhFlInr5aiXiXA29EKvs7WYschEl2HWiNFHR9Ho4iIiFpn6J37jjatjxrSzYWv30RgIUXtjKNRRERErYv0ayykzlyrQF2D4W3MG8/1UUQtsJCidsPRKCIiotvr6mIDR2tzKBvUOJ+vEDtOC9erlJpM3D+KqBELKWo3HI0iIiK6PYlEgggfRwCGN73vWNMmvEEedgbbUZCovbGQonbB0SgiIqK/dnNj3nJxg/yPI3/aP4qIGrGQIr2rV6nxyncpHI0iIiL6C32a1kklZhnWiNSRpvVRQwK5PoqoGQsp0itBEPDG92dx8EIxLM2lWDouhKNRREREtxHm4wipBMgtv4EiRa3YcQAAOaU1yC6tgZlUgv7+LKSImrGQIr1a+fslfHv6GqQSYM2TfdC7s6PYkYiIiAyWrYUZurvbATCcdVLN0/rCfBxha2HQW5AStSsWUqQ3X5/Mxqq4SwCAd8b3wvCe7iInIiIiMnya6X0Gsk7qyOXGaX2Du3F9FNGfsZAivdifXoiFu1IBAC891A1PDvAVOREREVHHoGk4YQDrpEqqlPg9rRAAcH8gCymiP2MhRTqXklOOWVuSoFILeDSyM+b9rbvYkYiIiDqMPr6OAIAzueJvzPvZH5m4Ua9CWGcH9G0aKSOiRiykSKeullRj+pencKNehWHdXbFsYi82lyAiItKCv4sNnKzNUdegRpqIG/MWV/5565LufD0n+h8spEhnrlcp8cyGk7heXYdQb3t8MqUPzGX8EyMiItKGRCJBRNP0vgQRp/d9eugyauvVCPdxxAM9uHUJ0f/iu1zSiZq6BkzfeBpXr9egs5MV1j/TDzbs7ENERHRXmqf3idW5r6iyFptPZAEA5kYFcjSKqBUspOieNajUmLM1CSk55XCyNsfG6f3hZmcpdiwiIqIOq7lzX5JII1LrDmaitl6NCF9HDOvO0Sii1rCQonsiCAIW/XAOcelFsDCT4otp/RDgait2LCIiog4trHPjxrx5FbUoqGjfjXkLFTdHo+ZxbRTRbbGQonvy8f4MfH0yG1IJ8J8nIhDJjj5ERET3zMbCDEEe9gDaf3rf2oOXUdegRqSfE1ueE90BCym6a9+ezsG/f7sIAFjySAhGhniInIiIiMh49PFzBNC++0kVVNRi68lsAByNIvorLKTorhy8UIQFO88CAGY+EICnB3YRNxAREZGR0WzM244jUp8czEBdgxr9ujhhcLdO7fZziToiFlKktbPXKvDilkSo1AImRHjj1ZE9xI5ERERkdJoLqdRcBZQNKr3/vLzyG/jmZA4AjkYRtQULKdJKTmkNYr48hZo6FYZ0c8H7k3rziZaIiEgP/DpZw9lGjjqVGufy9L8x7ycHM1CnUqO/vzMGBnA0iuivsJCiNiutrsO09SdRUqVET097rH2qD+Rm/BMiIiLSB4lEcnM/KT2vk8otv4FtpxpHo2L/xtEoorbgu2Bqkxt1Kjy38RQyS6rh7WiFL2P6wc7SXOxYRERERi2iaXpfUna5Xn/OmgMZqFcJGNi1E+7rytEoorZgIUV/SaUW8PI3SUjMLoeDlTk2Tu8Hd3tuuEtERKRv7dFw4lpZDb473bQ26m/d9fZziIwNCym6I0EQ8NaP5/BrWiHkZlJ8Ma0vurnZiR2LiIjIJIT5OEAmlSC/ohZ55Tf08jOaR6MGd+uE/v7OevkZRMaIhRTd0dpDl7HpeBYkEmDV5HD068InWCIiovZiLTdDkEfjB5j6GJXKKa3Bd6evAWjs1EdEbcdCim5rZ+I1fLDvAgBg8cPBGN3LU+REREREpkczvS+rXOfX/nh/BhrUAu4PdEFfflhKpBUWUtSqw5eK8er2MwCA54d2Rcxgf5ETERERmaZIP/2sk8q6Xo3tiY2jUXM5GkWkNRZSdItzeRWYuTkRDWoBY8O8MH9UkNiRiIiITFbziNS5vArU1utuY97V+zOgUgsY2t1VU6wRUduxkKIWrpXV4JkNp1ClbMDArp3w4aO9IZVyLwkiIiKx+DhbwcVWjnqVgHN5FTq55tWSanyflAsAmBcVqJNrEpkaFlKkUV7TuOFucaUSPdztsO7pSFiYycSORUREZNIkEolmPyldrZP6z/5LUKkFPNDDVXNtItIOCykCANTWqzDjq9O4XFwNTwdLfDm9HxysuOEuEZmGNWvWoEuXLrC0tMSAAQNw8uTJO56/cuVK9OjRA1ZWVvDx8cG8efNQW1uruV2lUmHRokXw9/eHlZUVAgICsHTpUgiCoO+HQkZKl/tJZRZXYVfTaBTXRhHdPTOxA5D4KmvrEfttCk5dLYOdpRm+jOkPTwcrsWMREbWLbdu2ITY2FuvWrcOAAQOwcuVKjBw5EhcuXICbm9st52/duhXz58/H+vXrMWjQIFy8eBHPPPMMJBIJVqxYAQB4//33sXbtWmzcuBEhISE4ffo0YmJi4ODggJdeeqm9HyIZgT6+jgAaCylBECCR3P20+9X7M6AWgIeC3BDu46ibgEQmiIWUifstrRCLdqWiQFELuUyKz57uix4e3HCXiEzHihUrMGPGDMTExAAA1q1bh71792L9+vWYP3/+LecfPXoUgwcPxpNPPgkA6NKlC5544gmcOHGixTnjxo3DmDFjNOd8/fXXfznSRXQ7vTs7wkwqQaFCibyKWng73t0HnpeLq/BDcvNoFNdGEd0LTu0zUUWVtZi1JREzvjqNAkUt/DpZ46tn+2NgQCexoxERtZu6ujokJCQgKipKc0wqlSIqKgrHjh1r9T6DBg1CQkKCpijKzMzETz/9hOjo6BbnxMXF4eLFiwCAlJQUxMfHY/To0a1eU6lUQqFQtPgi+jMruQw9Pe0BAIlZdz+97z9xl6AWgKie7ujd2VFH6YhME0ekTIwgCPju9DW8szcNitoGyKQSPHe/P+YO7w4rORtLEJFpKSkpgUqlgru7e4vj7u7uSE9Pb/U+Tz75JEpKSjBkyBAIgoCGhga88MILeP311zXnzJ8/HwqFAkFBQZDJZFCpVHj33XcxZcqUVq+5fPlyLFmyRHcPjIxSH19HnM2tQGJ2GcaGeWl9/4yiSvyYkgeAo1FEusARKRNytaQaU744gVd3nIGitgGh3vb4YdZgLBjdk0UUEVEbHTx4EMuWLcMnn3yCxMRE7Ny5E3v37sXSpUs153z77bfYsmULtm7disTERGzcuBEffvghNm7c2Oo1FyxYgIqKCs1XTk5Oez0c6kD6aDbmLb+r+6+Ky4AgACOC3RHq7aDDZESmiSNSJqBBpcYX8Vfw0W8XoWxQw9Jcin/+rQdiBneBmYy1NBGZLhcXF8hkMhQWFrY4XlhYCA8Pj1bvs2jRIjz99NN47rnnAAC9evVCdXU1nn/+ebzxxhuQSqX417/+hfnz5+Pxxx/XnJOVlYXly5dj2rRpt1zTwsICFhYWOn50ZGyaO/elNW3Ma2ne9g9BLxZWYs+Z5tEoduoj0gW+izZyqbkVGLfmCN77OR3KBjWGdHPBr3OHYcbQriyiiMjkyeVyREZGIi4uTnNMrVYjLi4OAwcObPU+NTU1kEpbPn/KZI1vaJvbm9/uHLVarcv4ZGI6O1nBxdYC9SoBZ3O125h3VdwlCAIwKsQDwV72ekpIZFo4ImWkbtSpsPL3i/gi/gpUagEOVuZY9HAwJvXxvqeWqURExiY2NhbTpk1D37590b9/f6xcuRLV1dWaLn5Tp06Ft7c3li9fDgAYO3YsVqxYgYiICAwYMAAZGRlYtGgRxo4dqymoxo4di3fffRe+vr4ICQlBUlISVqxYgenTp4v2OKnjk0gk6OPriF/TCpGYVYZ+XZzbdL/0AgX2nskHALzMtVFEOsNCyggdySjBgp1nkV1aAwAYG+aFxQ8Hw9WO00aIiP7X5MmTUVxcjMWLF6OgoADh4eHYt2+fpgFFdnZ2i9GlhQsXQiKRYOHChcjNzYWrq6umcGq2evVqLFq0CC+++CKKiorg5eWFf/zjH1i8eHG7Pz4yLpF+To2FlBYb8676/RIAILqXh6bzHxHdO4nAbdahUCjg4OCAiooK2Nt33CeY8po6vLP3PLYnXAMAeDlY4p0JoXgoyP0v7klEJA5jef7VNf5e6HZOXS3Fo+uOwdXOAidfH/6Xs0zS8hSI/s9hSCTAvpeHcq9IojZo63MwR6SMgCAI2HMmH0t2n0NJVR0kEmDawC54ZWQP2FrwPzEREZGx6OXtADOpBMWVSlwruwEfZ+s7nr8qrnEvs+heniyiiHSM77I7uLzyG1i0KxVx6UUAgEA3W7w3qTcim1qkEhERkfGwNJchxMseKdca95O6UyF1Lq8Cv5wrhEQCzB3OtVFEusZCqoNSqwVsPpGF939OR3WdCnKZFLMe7IaZDwRAbsZufERERMYqwtcJKdcqkJRdjnHh3rc9b2XT2qiHe3sh0J2jUUS6xkKqA7pYWIn5O85oNuTr6+eE9yb1Qjc3PkkSEREZuz5+Tvjy6NU7NpxIza3Ab2mNo1EvD+/WjumITAcLqQ5E2aDCJwcu45ODGahXCbC1MMNro4Mwpb8vpFK2NCciIjIFfXwdATQ2krjdxrwrf29cG/VImBc/aCXSExZSHURCVile23EWGUVVAIConm5YOj4Ung5WIicjIiKi9uTtaAU3OwsUVSpx5loF+vu33E/qzLVy/H6+CFIJ8BLXRhHpDQspA1avUuPQhWLsSLyGfecKIAiAi60FljwSguheHtxYl4iIyAQ1bszrhH3nCpCYXXZLIdW8Nmp8uDcCXG3FiEhkElhIGRhBEHAuT4HtCdewOyUP16vrNLdN7uuD16N7wsHaXMSEREREJLY+fo6NhVRWy3VSyTnl2J9eBJlUgjkcjSLSKxZSBqJQUYvvk3KxM/EaLhZWaY672FpgfLgXJkV25m7kREREBADo49u4zUlidjkEQdDMUmleGzU+3Bv+Ljai5SMyBSykRFRT14BfzxViR+I1HMkogVpoPC43k2JEsDsmRXbG/d1cYCZjO3MiIiK6KdTbAeYyCUqqlMgpvQHfTtZIyCrDwQvFkEkleImd+oj0joVUO1OrBZy4Uoqdidfw09l8VNepNLf16+KESX06Y3QvTzhYcfoeERERtc7SXIZgLwek5JQjMbsMvp2sNaNREyO84deJo1FE+sZCqp1kFlc1Td3LRW75Dc1xX2drTOzjjQl80iMiIiItRPo6aQopH2crHL5UAjOpBHMe4tooovZgNIXUmjVr8H//938oKChAWFgYVq9ejf79+4uaqbymDrvP5GNn4jUkNW2eCwB2FmZ4OMwTE/t0Rl8/J3bfIyIiIq318XPE+iNAYnYZMourAQCT+nSGbydrkZMRmQajKKS2bduG2NhYrFu3DgMGDMDKlSsxcuRIXLhwAW5ubu2apV6lxsELxdiZeA1x54tQp1IDAGRSCYYGumBin874W7B7q5vnEREREbVVc8OJc3kKCAJgJpVg9kNcG0XUXoyikFqxYgVmzJiBmJgYAMC6deuwd+9erF+/HvPnz9f7zxcEAam5CuxIvIYfU/JQ+qeW5T097TGpjzceCfeCm52l3rMQERGRafBytIKHvSUKFLUAgEf7doaPM0ejiNpLhy+k6urqkJCQgAULFmiOSaVSREVF4dixY63eR6lUQqlUar5XKBR3/fN/PpuPj36/eEvL8gkRXpgQ0RnBXmxZTkRERPrRx88RP50tgLlMglkPcjSKqD11+EKqpKQEKpUK7u7uLY67u7sjPT291fssX74cS5Ys0cnPr1cLuFhYBQszKUaEeGBiH2+2LCciIqJ2MTzIHT+dLcBT9/mhsxNHo4jaU4cvpO7GggULEBsbq/leoVDAx8fnrq41Itgd703shejenrC3ZMtyIiIiaj8T+3ijV2cHdHO1FTsKkcnp8IWUi4sLZDIZCgsLWxwvLCyEh4dHq/exsLCAhYWFTn6+pbkMj/f31cm1iIiIiLQhkUjQ3d1O7BhEJqnDzz+Ty+WIjIxEXFyc5pharUZcXBwGDhwoYjIiIiIiIjJWHX5ECgBiY2Mxbdo09O3bF/3798fKlStRXV2t6eJHRERERESkS0ZRSE2ePBnFxcVYvHgxCgoKEB4ejn379t3SgIKIiIiIiEgXjKKQAoDZs2dj9uzZYscgIiIiIiIT0OHXSBEREREREbU3FlJERERERERaYiFFRERERESkJRZSREREREREWmIhRUREREREpCUWUkRERERERFpiIUVERERERKQlFlJERERERERaYiFFRERERESkJRZSREREREREWjITO4AhEAQBAKBQKEROQkRkWpqfd5ufh6kRX5eIiMTT1tcmFlIAKisrAQA+Pj4iJyEiMk2VlZVwcHAQO4bB4OsSEf1/O3cbU2X9x3H8g8qdJYKh3KQhsNRSIDRAHygPYNzMNW1toetGF7PWema22lqRqxWZrSY12lzLWptIteyB5iwmDZR0SzgJNoZ1ECMPLgqh4ZGC3//Bmefq/KXygnMHvl/b2Tw/fue6fr+v167PvuccQOj9VzZFGN4G1NjYmH755RfNmTNHERERQTnn4OCgFi1apAsXLiguLi4o5wxX1MKDOliohWW618IYo6GhIaWmpmrGDL5tfk0ockma/tfbjaIOFmphoRaW6V6LG80mPpGSNGPGDC1cuDAk546Li5uWF+BEUAsP6mChFpbpXAs+ibpeKHNJmt7Xmx3UwUItLNTCMp1rcSPZxNt/AAAAAGATjRQAAAAA2EQjFSLR0dGqqqpSdHR0qJcSctTCgzpYqIWFWiCYuN48qIOFWliohYVaePDHJgAAAADAJj6RAgAAAACbaKQAAAAAwCYaKQAAAACwiUYKAAAAAGyikfKjd999V4sXL1ZMTIwKCgp06tSpf53/ySefaNmyZYqJiVFWVpYOHz7s8/OtW7cqIiLC51FWVhbILfiFnTp0dHTogQce0OLFixUREaG333570scMJ/6uxUsvvXTdNbFs2bIA7sB/7NRi7969Wrt2rRISEpSQkKDi4uLr5htj9OKLLyolJUWxsbEqLi5WV1dXoLcxaf6uw1S9TyA4yCUL2WQhmzzIJQvZNDE0Un5y4MABbd++XVVVVTp9+rRycnJUWlqqS5cujTv/xIkT2rx5syorK9Xa2qqNGzdq48aNam9v95lXVlamixcveh/79+8PxnYmzG4dhoeHlZGRoerqaiUnJ/vlmOEiELWQpOXLl/tcE83NzYHagt/YrUVjY6M2b96sY8eOqaWlRYsWLVJJSYl6e3u9c3bt2qU9e/bovffe08mTJ3XLLbeotLRUbrc7WNuyLRB1kKbefQLBQS5ZyCYL2eRBLlnIpkkw8Iv8/Hzz1FNP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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot the reflection phase\n", "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))\n", "theta = np.unwrap(np.angle(r)) * 180 / np.pi\n", "theta = theta - theta[0]\n", "ax1.plot(Ls, theta)\n", "ax1.set_xlabel(\"L ($\\mu m$)\")\n", "ax1.set_ylabel(\"Reflection phase (degree)\")\n", "\n", "# plot the reflectivity\n", "ax2.plot(Ls, np.abs(r) ** 2)\n", "ax2.set_xlabel(\"L ($\\mu m$)\")\n", "ax2.set_ylabel(\"Reflectivity\")\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "de37db62", "metadata": {}, "source": [ "## Super Cell Simulation " ] }, { "cell_type": "markdown", "id": "bfba8371", "metadata": {}, "source": [ "### Simulation Setup " ] }, { "cell_type": "markdown", "id": "f384cd09", "metadata": {}, "source": [ "The above phase relation provides a look-up table such that a gradient metasurface with an arbitrary phase profile can be designed. For example, when designing a metalens, a parabolic phase profile can be used. In this example, we aim to construct a beam steering reflector. Therefore, a linear phase profile is used. \n", "\n", "Here we adapt the idea from the referenced paper and design a super cell that consists of 10 antennas of 5 different lengths. The lengths are 40 nm, 106 nm, 128 nm, 150 nm, and 260 nm. The plot below confirms that this design indeed yields a nearly linearly varying phase across the super cell." ] }, { "cell_type": "code", "execution_count": 13, "id": "964c621c", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:39:55.517459Z", "iopub.status.busy": "2023-03-28T01:39:55.517279Z", "iopub.status.idle": "2023-03-28T01:39:55.654623Z", "shell.execute_reply": "2023-03-28T01:39:55.654139Z" }, "scrolled": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGwCAYAAABPSaTdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA3TUlEQVR4nO3de3xU1b3///ckITdIBoIkk5SAAREI94tgREElchWkchQUFBXxmAYRECtYJaVaQWpFbC1YbcFrq1LBA62xlEsQCHei3IqAkaAkAQlMLpAAk/37wx/zdUjAmWQmk9m8no/HfpRZe83OZ3X3ceZ99l57bYthGIYAAABMKsjfBQAAAPgSYQcAAJgaYQcAAJgaYQcAAJgaYQcAAJgaYQcAAJgaYQcAAJhaiL8LqA8qKyt19OhRRUVFyWKx+LscAADgBsMwVFJSooSEBAUFXfr6DWFH0tGjR5WYmOjvMgAAQA0cOXJEzZs3v+R+wo6kqKgoST/8lxUdHe3nagAAgDuKi4uVmJjo/B2/FMKO5Lx1FR0dTdgBACDA/NQUFCYoAwAAUyPsAAAAUyPsAAAAUyPsAAAAUyPsAAAAUyPsAAAAUyPsAAAAUyPsAAAAUyPsAAAAU2MFZQAA4BOOSkNbcot0rKRcsVHh6pUUo+Cgun/hNmEHAAB4XebufM1avlf59nJnW7w1XBnDkjWoY3yd1sJtLAAA4FWZu/OV9u4Ol6AjSQX2cqW9u0OZu/PrtB7CDgAA8BpHpaFZy/fKqGbfhbZZy/fKUVldD98g7AAAAK/ZkltU5YrOjxmS8u3l2pJbVGc1EXYAAIDXHCu5dNCpST9vIOwAAACviY0K92o/byDsAAAAr+mVFKN4a7gu9YC5RT88ldUrKabOaiLsAAAArwkOsihjWLIkVQk8Fz5nDEuu0/V2CDsAAMCrBnWM14Kx3WWzut6qslnDtWBs9zpfZ4dFBQEAgNcN6hiv25JtrKAMAADMKzjIopTWTf1dBrexAACAuRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqfk17MyePVvXXXedoqKiFBsbqxEjRmj//v0ufW6++WZZLBaX7dFHH3Xpk5eXp6FDhyoyMlKxsbF68skndf78+bocCgAAqKf8uqhgVlaW0tPTdd111+n8+fN6+umnNWDAAO3du1cNGzZ09pswYYJ+85vfOD9HRkY6/+1wODR06FDZbDZt3LhR+fn5uv/++9WgQQO98MILdToeAABQ/1gMwzD8XcQFx48fV2xsrLKystS3b19JP1zZ6dq1q1555ZVqv/Ppp5/q9ttv19GjRxUXFydJWrhwoZ566ikdP35coaGhP/l3i4uLZbVaZbfbFR0d7bXxAAAA33H397tezdmx2+2SpJgY19e+v/fee7rqqqvUsWNHzZgxQ6dPn3buy87OVqdOnZxBR5IGDhyo4uJi7dmzp9q/U1FRoeLiYpcNAACYU715N1ZlZaUmT56sPn36qGPHjs72e++9Vy1btlRCQoK+/PJLPfXUU9q/f78+/vhjSVJBQYFL0JHk/FxQUFDt35o9e7ZmzZrlo5EAAID6pN6EnfT0dO3evVvr1693aX/kkUec/+7UqZPi4+PVv39/HTp0SK1bt67R35oxY4amTp3q/FxcXKzExMSaFQ4AAOq1enEba+LEiVqxYoXWrFmj5s2bX7Zv7969JUkHDx6UJNlsNhUWFrr0ufDZZrNVe4ywsDBFR0e7bAAAwJz8GnYMw9DEiRO1dOlSrV69WklJST/5nZycHElSfHy8JCklJUW7du3SsWPHnH1Wrlyp6OhoJScn+6RuAAAQOPx6Gys9PV3vv/++PvnkE0VFRTnn2FitVkVEROjQoUN6//33NWTIEDVt2lRffvmlpkyZor59+6pz586SpAEDBig5OVn33Xef5s6dq4KCAj3zzDNKT09XWFiYP4cHAADqAb8+em6xWKptX7RokR544AEdOXJEY8eO1e7du1VWVqbExET9/Oc/1zPPPONy6+nw4cNKS0vT2rVr1bBhQ40bN05z5sxRSIh7WY5HzwEACDzu/n7Xq3V2/IWwAwBA4AnIdXYAAAC8jbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMza9hZ/bs2bruuusUFRWl2NhYjRgxQvv373fpU15ervT0dDVt2lSNGjXSyJEjVVhY6NInLy9PQ4cOVWRkpGJjY/Xkk0/q/PnzdTkUAABQT/k17GRlZSk9PV2bNm3SypUrde7cOQ0YMEBlZWXOPlOmTNHy5cv10UcfKSsrS0ePHtWdd97p3O9wODR06FCdPXtWGzdu1FtvvaXFixdr5syZ/hgSAACoZyyGYRiefuncuXMqKCjQ6dOn1axZM8XExHilmOPHjys2NlZZWVnq27ev7Ha7mjVrpvfff1//8z//I0n673//q/bt2ys7O1vXX3+9Pv30U91+++06evSo4uLiJEkLFy7UU089pePHjys0NLTK36moqFBFRYXzc3FxsRITE2W32xUdHe2VsQAAAN8qLi6W1Wr9yd9vt6/slJSUaMGCBerXr5+io6N19dVXq3379mrWrJlatmypCRMmaOvWrbUq2m63S5IzPG3fvl3nzp1Tamqqs0+7du3UokULZWdnS5Kys7PVqVMnZ9CRpIEDB6q4uFh79uyp9u/Mnj1bVqvVuSUmJtaqbgAAUH+5FXZefvllXX311Vq0aJFSU1O1bNky5eTk6KuvvlJ2drYyMjJ0/vx5DRgwQIMGDdKBAwc8LqSyslKTJ09Wnz591LFjR0lSQUGBQkND1bhxY5e+cXFxKigocPb5cdC5sP/CvurMmDFDdrvduR05csTjegEAQGAIcafT1q1btW7dOnXo0KHa/b169dJDDz2khQsXatGiRfr888/Vpk0bjwpJT0/X7t27tX79eo++VxNhYWEKCwvz+d8BAAD+51bY+dvf/ubWwcLCwvToo496XMTEiRO1YsUKrVu3Ts2bN3e222w2nT17VqdOnXK5ulNYWCibzebss2XLFpfjXXha60IfAABw5arx01gHDx7UZ599pjNnzkiSajDPWYZhaOLEiVq6dKlWr16tpKQkl/09evRQgwYNtGrVKmfb/v37lZeXp5SUFElSSkqKdu3apWPHjjn7rFy5UtHR0UpOTq7J0AAAgIm4dWXnx06cOKFRo0Zp9erVslgsOnDggFq1aqXx48er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nJ+Li4u9XzgAAKgX6v2VnQMHDighIUGtWrXSmDFjlJeXJ0navn27zp07p9TUVGffdu3aqUWLFsrOzr7sMWfPni2r1ercEhMTfToGAADgP/U67PTu3VuLFy9WZmamFixYoNzcXN10000qKSlRQUGBQkND1bhxY5fvxMXFqaCg4LLHnTFjhux2u3M7cuSID0cBAAD8qV7fxho8eLDz3507d1bv3r3VsmVLffjhh4qIiKjxccPCwhQWFuaNEgEAQD1Xr6/sXKxx48a69tprdfDgQdlsNp09e1anTp1y6VNYWFjtHB8AAHBlCqiwU1paqkOHDik+Pl49evRQgwYNtGrVKuf+/fv3Ky8vTykpKX6sEgAA1Cf1+jbWtGnTNGzYMLVs2VJHjx5VRkaGgoODdc8998hqtWr8+PGaOnWqYmJiFB0drccee0wpKSmXfRILAABcWep12Pn22291zz336MSJE2rWrJluvPFGbdq0Sc2aNZMkzZs3T0FBQRo5cqQqKio0cOBA/elPf/Jz1QAAoD6xGIZh+LsIfysuLpbVapXdbld0dLS/ywEAAG5w9/c7oObsAAAAeIqwAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATC3E3wWYlaPS0JbcIh0rKVdsVLh6JcUoOMji77IAALjimCbsvPbaa/rd736ngoICdenSRX/4wx/Uq1cvv9SSuTtfs5bvVb693NkWbw1XxrBkDeoY75eaAAC4UpniNtYHH3ygqVOnKiMjQzt27FCXLl00cOBAHTt2rM5rydydr7R3d7gEHUkqsJcr7d0dytydX+c1AQBwJTNF2Hn55Zc1YcIEPfjgg0pOTtbChQsVGRmpv/71r3Vah6PS0Kzle2VUs+9C26zle+WorK4HAADwhYAPO2fPntX27duVmprqbAsKClJqaqqys7Or/U5FRYWKi4tdNm/YkltU5YrOjxmS8u3l2pJb5JW/BwAAflrAh53vv/9eDodDcXFxLu1xcXEqKCio9juzZ8+W1Wp1bomJiV6p5VjJpYNOTfoBAIDaC/iwUxMzZsyQ3W53bkeOHPHKcWOjwr3aDwAA1F7AP4111VVXKTg4WIWFhS7thYWFstls1X4nLCxMYWFhXq+lV1KM4q3hKrCXVztvxyLJZv3hMXQAAFA3Av7KTmhoqHr06KFVq1Y52yorK7Vq1SqlpKTUaS3BQRZlDEuW9EOw+bELnzOGJbPeDgAAdSjgw44kTZ06VW+88Ybeeust7du3T2lpaSorK9ODDz5Y57UM6hivBWO7y2Z1vVVls4ZrwdjurLMDAEAdC/jbWJI0atQoHT9+XDNnzlRBQYG6du2qzMzMKpOW68qgjvG6LdnGCsoAANQDFsMwrvhFX4qLi2W1WmW32xUdHe3vcgAAgBvc/f02xW0sAACASyHsAAAAUyPsAAAAUyPsAAAAUyPsAAAAUyPsAAAAUyPsAAAAUyPsAAAAUyPsAAAAUzPF6yJq68Ii0sXFxX6uBAAAuOvC7/ZPvQyCsCOppKREkpSYmOjnSgAAgKdKSkpktVovuZ93Y0mqrKzU0aNHFRUVJYvFey/rLC4uVmJioo4cOWLad26ZfYyML/CZfYyML/CZfYy+HJ9hGCopKVFCQoKCgi49M4crO5KCgoLUvHlznx0/OjralP8D/jGzj5HxBT6zj5HxBT6zj9FX47vcFZ0LmKAMAABMjbADAABMjbDjQ2FhYcrIyFBYWJi/S/EZs4+R8QU+s4+R8QU+s4+xPoyPCcoAAMDUuLIDAABMjbADAABMjbADAABMjbADAABMjbBTC+vWrdOwYcOUkJAgi8WiZcuW/eR31q5dq+7duyssLEzXXHONFi9e7PM6a8rT8a1du1YWi6XKVlBQUDcFe2j27Nm67rrrFBUVpdjYWI0YMUL79+//ye999NFHateuncLDw9WpUyf961//qoNqPVeT8S1evLjK+QsPD6+jij23YMECde7c2blYWUpKij799NPLfidQzp/k+fgC7fxdbM6cObJYLJo8efJl+wXSOfwxd8YXaOfw17/+dZV627Vrd9nv+OP8EXZqoaysTF26dNFrr73mVv/c3FwNHTpUt9xyi3JycjR58mQ9/PDD+uyzz3xcac14Or4L9u/fr/z8fOcWGxvrowprJysrS+np6dq0aZNWrlypc+fOacCAASorK7vkdzZu3Kh77rlH48eP186dOzVixAiNGDFCu3fvrsPK3VOT8Uk/rHL64/N3+PDhOqrYc82bN9ecOXO0fft2bdu2TbfeeqvuuOMO7dmzp9r+gXT+JM/HJwXW+fuxrVu36vXXX1fnzp0v2y/QzuEF7o5PCrxz2KFDB5d6169ff8m+fjt/BrxCkrF06dLL9vnlL39pdOjQwaVt1KhRxsCBA31YmXe4M741a9YYkoyTJ0/WSU3eduzYMUOSkZWVdck+d999tzF06FCXtt69exv/+7//6+vyas2d8S1atMiwWq11V5QPNGnSxHjzzTer3RfI5++Cy40vUM9fSUmJ0aZNG2PlypVGv379jMcff/ySfQPxHHoyvkA7hxkZGUaXLl3c7u+v88eVnTqUnZ2t1NRUl7aBAwcqOzvbTxX5RteuXRUfH6/bbrtNGzZs8Hc5brPb7ZKkmJiYS/YJ5HPozvgkqbS0VC1btlRiYuJPXkWoTxwOh/7+97+rrKxMKSkp1fYJ5PPnzvikwDx/6enpGjp0aJVzU51APIeejE8KvHN44MABJSQkqFWrVhozZozy8vIu2ddf548XgdahgoICxcXFubTFxcWpuLhYZ86cUUREhJ8q8474+HgtXLhQPXv2VEVFhd58803dfPPN2rx5s7p37+7v8i6rsrJSkydPVp8+fdSxY8dL9rvUOayv85IucHd8bdu21V//+ld17txZdrtdL730km644Qbt2bPHpy/LrY1du3YpJSVF5eXlatSokZYuXark5ORq+wbi+fNkfIF4/v7+979rx44d2rp1q1v9A+0cejq+QDuHvXv31uLFi9W2bVvl5+dr1qxZuummm7R7925FRUVV6e+v80fYgde0bdtWbdu2dX6+4YYbdOjQIc2bN0/vvPOOHyv7aenp6dq9e/dl7zUHMnfHl5KS4nLV4IYbblD79u31+uuv67nnnvN1mTXStm1b5eTkyG63a8mSJRo3bpyysrIuGQgCjSfjC7Tzd+TIET3++ONauXJlvZ6EW1M1GV+gncPBgwc7/925c2f17t1bLVu21Icffqjx48f7sTJXhJ06ZLPZVFhY6NJWWFio6OjogL+qcym9evWq9wFi4sSJWrFihdatW/eT/5/Tpc6hzWbzZYm14sn4LtagQQN169ZNBw8e9FF1tRcaGqprrrlGktSjRw9t3bpV8+fP1+uvv16lbyCeP0/Gd7H6fv62b9+uY8eOuVz5dTgcWrdunf74xz+qoqJCwcHBLt8JpHNYk/FdrL6fw4s1btxY11577SXr9df5Y85OHUpJSdGqVatc2lauXHnZ+++BLicnR/Hx8f4uo1qGYWjixIlaunSpVq9eraSkpJ/8TiCdw5qM72IOh0O7du2qt+ewOpWVlaqoqKh2XyCdv0u53PguVt/PX//+/bVr1y7l5OQ4t549e2rMmDHKycmpNggE0jmsyfguVt/P4cVKS0t16NChS9brt/Pn0+nPJldSUmLs3LnT2LlzpyHJePnll42dO3cahw8fNgzDMKZPn27cd999zv5ff/21ERkZaTz55JPGvn37jNdee80IDg42MjMz/TWEy/J0fPPmzTOWLVtmHDhwwNi1a5fx+OOPG0FBQcZ//vMffw3hstLS0gyr1WqsXbvWyM/Pd26nT5929rnvvvuM6dOnOz9v2LDBCAkJMV566SVj3759RkZGhtGgQQNj165d/hjCZdVkfLNmzTI+++wz49ChQ8b27duN0aNHG+Hh4caePXv8MYSfNH36dCMrK8vIzc01vvzyS2P69OmGxWIx/v3vfxuGEdjnzzA8H1+gnb/qXPy0UqCfw4v91PgC7Rw+8cQTxtq1a43c3Fxjw4YNRmpqqnHVVVcZx44dMwyj/pw/wk4tXHjU+uJt3LhxhmEYxrhx44x+/fpV+U7Xrl2N0NBQo1WrVsaiRYvqvG53eTq+F1980WjdurURHh5uxMTEGDfffLOxevVq/xTvhurGJsnlnPTr18853gs+/PBD49prrzVCQ0ONDh06GP/85z/rtnA31WR8kydPNlq0aGGEhoYacXFxxpAhQ4wdO3bUffFueuihh4yWLVsaoaGhRrNmzYz+/fs7g4BhBPb5MwzPxxdo5686F4eBQD+HF/up8QXaORw1apQRHx9vhIaGGj/72c+MUaNGGQcPHnTury/nz2IYhuHba0cAAAD+w5wdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAKZjsVi0bNkyf5cBoJ4g7AAIOMePH1daWppatGihsLAw2Ww2DRw4UBs2bJAk5efna/DgwZKkb775RhaLRTk5OX6sGIA/hfi7AADw1MiRI3X27Fm99dZbatWqlQoLC7Vq1SqdOHFCkmSz2fxcIYD6hHdjAQgop06dUpMmTbR27Vr169ev2j4Wi0VLly7ViBEjZLFYXPb169dPa9eulSS9+eab+v3vf6/c3FxdffXVmjRpkn7xi1/4eggA6hhXdgAElEaNGqlRo0ZatmyZrr/+eoWFhV22/5YtW9SrVy/95z//UYcOHRQaGipJeu+99zRz5kz98Y9/VLdu3bRz505NmDBBDRs21Lhx4+piKADqCHN2AASUkJAQLV68WG+99ZYaN26sPn366Omnn9aXX35Zbf9mzZpJkpo2bSqbzaaYmBhJUkZGhn7/+9/rzjvvVFJSku68805NmTJFr7/+ep2NBUDdIOwACDgjR47U0aNH9X//938aNGiQ1q5dq+7du2vx4sVufb+srEyHDh3S+PHjnVeKGjVqpOeff16HDh3ybfEA6hxzdgCYwsMPP6yVK1fq8OHDLnN2vvnmGyUlJWnnzp3q2rWrJKmwsFA2m03vvvuuevfu7XKc4OBgJSUl+WEEAHyFOTsATCE5ObnatXUuzNFxOBzOtri4OCUkJOjrr7/WmDFj6qpEAH5C2AEQUE6cOKG77rpLDz30kDp37qyoqCht27ZNc+fO1R133FGlf2xsrCIiIpSZmanmzZsrPDxcVqtVs2bN0qRJk2S1WjVo0CBVVFRo27ZtOnnypKZOneqHkQHwFcIOgIDSqFEj9e7dW/PmzdOhQ4d07tw5JSYmasKECXr66aer9A8JCdGrr76q3/zmN5o5c6ZuuukmrV27Vg8//LAiIyP1u9/9Tk8++aQaNmyoTp06afLkyXU/KAA+xZwdAABgajyNBQAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATO3/A2laWo0/zsjXAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "N_sample = 5 # number of antenna lengths in a super cell\n", "N_repeat = 2 # number of repeated antenna lengths\n", "\n", "Ls_design = np.array([0.04, 0.106, 0.128, 0.15, 0.26]) # designed antenna lengths\n", "\n", "theta_design = np.interp(\n", " Ls_design, Ls, theta\n", ") # extract the reflection phase by interpolation the above simulation result\n", "\n", "# plot phase across the super cell\n", "plt.scatter(np.linspace(1, N_sample, N_sample), theta_design)\n", "plt.xlabel(\"Site\")\n", "plt.ylabel(\"Reflection phase (degree)\")\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "8dc0bb49", "metadata": {}, "source": [ "To define the geometry of the super cell, we first generate the antennas systematically." ] }, { "cell_type": "code", "execution_count": 14, "id": "4306e3c4", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:39:55.656651Z", "iopub.status.busy": "2023-03-28T01:39:55.656480Z", "iopub.status.idle": "2023-03-28T01:39:55.676996Z", "shell.execute_reply": "2023-03-28T01:39:55.676450Z" } }, "outputs": [], "source": [ "# construct ten antennas given the designed antenna lengths\n", "antennas = []\n", "xs = np.linspace(\n", " Lx / 2, (N_sample * N_repeat - 0.5) * Lx, N_sample * N_repeat\n", ") # x coordinates of each antenna\n", "\n", "# systematically generate antennas in the super cell\n", "for i in range(N_sample):\n", " for j in range(N_repeat):\n", " antennas.append(\n", " td.Structure(\n", " geometry=td.Box.from_bounds(\n", " rmin=(-w / 2 + xs[2 * i + j], -Ls_design[i] / 2, d2),\n", " rmax=(w / 2 + xs[2 * i + j], Ls_design[i] / 2, d2 + d1),\n", " ),\n", " medium=au,\n", " )\n", " )\n", "\n", "super_cell = antennas + [spacer, sub, gold_layer]\n" ] }, { "cell_type": "markdown", "id": "16cf2850", "metadata": {}, "source": [ "To visualize the reflected field, we add a [FieldMonitor](../_autosummary/tidy3d.FieldMonitor.html) in the xz plane. The simulation domain is lengthened in the z direction such that we can better visualize the reflected field." ] }, { "cell_type": "code", "execution_count": 15, "id": "881a0dfa", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:39:55.678933Z", "iopub.status.busy": "2023-03-28T01:39:55.678768Z", "iopub.status.idle": "2023-03-28T01:39:55.707232Z", "shell.execute_reply": "2023-03-28T01:39:55.706730Z" } }, "outputs": [], "source": [ "# define a field monitor to visualize the reflected field\n", "field_monitor = td.FieldMonitor(\n", " center=(0, 0, 0),\n", " size=(td.inf, 0, td.inf),\n", " freqs=[freq0],\n", " name=\"field\",\n", ")\n", "\n", "\n", "# define the super cell simulation\n", "sim = td.Simulation(\n", " size=(Lx * N_sample * N_repeat, Ly, 3 * Lz),\n", " center=(Lx * N_sample * N_repeat / 2, 0, 0),\n", " grid_spec=td.GridSpec.auto(min_steps_per_wvl=20, wavelength=lda0),\n", " structures=super_cell,\n", " sources=[plane_wave],\n", " monitors=[monitor_r, field_monitor],\n", " run_time=run_time,\n", " boundary_spec=boundary_spec,\n", ")\n" ] }, { "cell_type": "markdown", "id": "f8497002", "metadata": {}, "source": [ "Visualize the generated antenna structures." ] }, { "cell_type": "code", "execution_count": 16, "id": "f7d19e4a", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:39:55.709083Z", "iopub.status.busy": "2023-03-28T01:39:55.708945Z", "iopub.status.idle": "2023-03-28T01:39:55.905018Z", "shell.execute_reply": "2023-03-28T01:39:55.904483Z" } }, "outputs": [ { "data": { "image/png": "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scePHzcBAQHmt7/9rdPnQFKRXnPmzHGqo06dOvn2ce3aNSPJjBgx4p61VK5c2bzyyiv52letWmUkmTVr1jjadu7caaKiopxqiY2NNefPny/GKgDWwqlYwELsdruWLVumTp06KS4uLt/7Xl5eTj8nJiaqXLlyjp83bNig3NxcDR061OnISWJiovz9/bVq1SpJUkBAgCRp7dq1ysnJKbCW20euli9fLrvdXuQ5FGXckiVL1KBBA0VHR+vSpUuO11NPPSVJ2rRpkyRp2bJlstvtGj16dL4jQXeuRVF89dVXunDhggYNGiRfX19He8eOHRUdHe1Yn196/fXXnX5u27atTp48Wei+fnlK8erVq7p06ZLatm2rnJwcHTlyxOXa73Tt2jX9/ve/V9WqVbVw4UKnz8H69euL9Grfvr1jzPXr1x1H737p9jpdv379nvW4Mr5q1aqKiYnRiBEjtGzZMk2ePFnffvutunbtqp9++sm1hQAshlOxgIVcvHhR2dnZaty4cZH6165d2+nn06dPS5Lq16/v1O7j46M6deo43q9du7aSkpI0ZcoUzZ8/X23btlXnzp310ksvOUJf9+7d9de//lWvvvqqRowYoXbt2um5557TCy+8cM87TIsy7vjx4zp8+LCCgoIK3MaFCxckSd988428vb3VsGHDIq1HYe62PpIUHR2trVu3OrX5+vrmq7Fq1ar64YcfCt3XwYMH9e6772rjxo3Kzs52eu+X1zEWV2Jior755htt375dv/rVr5zeu/N0bVFUrFixwOsbbwetwq59K+r4rKwstW3bVsOHD9cf//hHR7+4uDg98cQTmjNnTqGnuQErI9gBD7H7udD8ww8/VN++fbV8+XKtW7dOb7zxhpKTk/XPf/5TNWvWVMWKFbV582Zt2rRJq1at0po1a7R48WI99dRTWrdundMRojtrKmyc3W5XkyZNNGXKlAK3ERERUex5laS7zbEwV65cUXx8vPz9/TV+/HhFRUXJ19dXe/fu1Z/+9CeXjoAW5KOPPtLChQv12WefKSYmJt/7GRkZRdpOQECA4zMUFhamTZs2yRjjdDT0/PnzkqTw8PB7bissLMzR95fuHP8///M/yszMVOfOnZ363V6vbdu2EezwUONULGAhQUFB8vf317/+9a9ijb/9/K+jR486tefm5urUqVP5ng/WpEkTvfvuu9q8ebO2bNmi9PR0paSkON739vZWu3btNGXKFB06dEh/+ctftHHjRsep0rspbFxUVJQuX76sdu3aKSEhId/r9hG1qKgo2e12HTp06J77K+pp2butz+22knp+Wlpamr7//nvNnTtXb775pp555hklJCSoatWq+fq6ekp5y5YteuuttzR06FD16tWrwD5hYWFFei1evNgxJiYmRjk5OTp8+LDTtnbu3Ol4/15iYmK0d+/efKF1586dqlSpkurVqydJyszMlKR8dxYbY5SXl6dbt24VvgiAhRHsAAvx9vZWly5d9L//+7/66quv8r1vCnkeeUJCgnx8fPTf//3fTn3/9re/KSsrSx07dpQkZWdn5/sD2qRJE3l7eztOp12+fDnf9m//cS/olNttRRnXrVs3paen69NPP83X9/r16447fLt06SJvb2+NHz8+X2D45fwqV66c73EuBYmLi1NwcLBSUlKc5vB///d/Onz4sGN97tftI32/rDE3N1czZszI17dy5cpFPjV7/vx5devWTW3atHHcWVuQ4lxj9+yzz6pChQpONRpjlJKSoho1aqh169ZOdRw5ckQ3b950tL3wwgvKzMzUF1984Wi7dOmSlixZok6dOjmuv7sd8BYtWuRU84oVK3Tt2jU1a9asSGsBWBWnYgGLmThxotatW6f4+HjHo0DOnz+vJUuWaOvWrU6P47hTUFCQRo4cqXHjxunpp59W586ddfToUc2YMUPNmzfXSy+9JEnauHGjhgwZoq5du6pevXq6deuW5s2bp3Llyun555+XJI0fP16bN29Wx44dVatWLV24cEEzZsxQzZo17/nYi6KM6927tz7//HO9/vrr2rRpkx577DHl5eXpyJEj+vzzz7V27VrFxcWpbt26GjVqlCZMmKC2bdvqueeek81m0+7duxUeHq7k5GRJUmxsrGbOnKk///nPqlu3roKDgx03YvxShQoV9N5776lfv36Kj49Xz549HY87iYyM1LBhw4r7z+akdevWqlq1qvr06aM33nhDXl5emjdvXoHBPDY2VosXL1ZSUpKaN28uPz8/derUqcDtvvHGG7p48aLefvvtfMGoadOmatq0qaTiXWNXs2ZNDR06VB988IFu3ryp5s2ba9myZdqyZYvmz5/vdFp65MiR+vvf/65Tp045nrv3wgsv6NFHH1W/fv106NAhxzdP5OXlady4cY6x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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# visualize the antennas in the super cell\n", "sim.plot(z=d2 + d1)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "3fe024e8", "metadata": {}, "source": [ "Visualize the simulation setup from the xz plane." ] }, { "cell_type": "code", "execution_count": 17, "id": "77af7a8d", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:39:55.907061Z", "iopub.status.busy": "2023-03-28T01:39:55.906859Z", "iopub.status.idle": "2023-03-28T01:39:56.103203Z", "shell.execute_reply": "2023-03-28T01:39:56.102804Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAANkAAAHWCAYAAAD6nywXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAnaUlEQVR4nO3deXRU9f3/8dcsmZnsIZCVTcAKCAqUTVAWKV9AUaEq1VYhokVlU4hS4WBB6EHagoCyQ9W0IJZij2jBouwgqEWE/tAjICqyNUCAZMg2k8y8f3+EGTLZZsl85jKZ1+Ocac3k3pvPDHnm7olORAREpIxe6wEQNXSMjEgxRkakGCMjUoyRESnGyIgUY2REijEyIsUYGZFijExDu3btgk6nw65du7QeCinEyEJg2bJlyMnJ0XoYAVm3bh0WLVqk9TA8vPnmm2jfvj0sFgt+9rOfYfHixT7Pa7PZ8NJLLyEzMxPR0dHo2bMntm7dWuO0+/fvx1133YWYmBikp6fjueeeQ2Fhof8DFlKuQ4cO0q9fv2rPOxwOKSkpEYfDEfpB+Wjo0KHSsmVLrYfhtmLFCgEgDz30kKxatUpGjhwpAOSPf/yjT/M/+uijYjQa5cUXX5SVK1dKr169xGg0yt69ez2mO3TokFgsFunSpYssX75cpk+fLmazWYYMGeL3mEMWWWFhYai+1A2ntsjCwY0UWXFxsTRu3FiGDh3q8fxjjz0msbGxcvny5Trn/+KLLwSAzJs3z/1cSUmJtGnTRnr16uUx7T333CMZGRlSUFDgfm716tUCQD7++GO/xh1QZGfOnJEnn3xSMjIyxGQyyU033STPPvus2Gw2ERF5++23BYDs2rVLxo4dKykpKZKUlOSef+nSpXLrrbeKyWSSjIwMGTdunFy5csXjaxw/flwefPBBSUtLE7PZLE2bNpVHHnlE8vPz3dN88skncuedd0piYqLExsbKLbfcItOmTfM6fl/mKy0tlRkzZkibNm3EZDJJs2bNZMqUKVJaWlpteWvWrJHu3btLdHS0JCUlSZ8+fdz/EC1bthQAHg9XcDt37hQAsnPnTo/l/eMf/5Cf//znYrFYpHHjxvLYY4/JmTNnPKbJysqS2NhYOXPmjAwbNkxiY2OlSZMm8sILL0h5ebnX92Djxo1y7733uv8NW7duLbNnz/aYt1+/ftXGXldwffv2ldtvv73Gz91yyy0yaNAgr+Oqy+bNmwWAbN682eP5/fv3CwBZs2ZNnfNPmTJFDAaDRzgiIq+++qoAkFOnTomISEFBgRiNRpkyZYrHdDabTeLi4uSpp57ya9xGfzcvz507hx49eiA/Px9PP/002rVrh7Nnz+K9995DcXExTCaTe9px48YhJSUFM2bMQFFREQDglVdewaxZszBw4ECMHTsWx44dw/Lly3HgwAHs27cPUVFRsNvtGDx4MGw2GyZOnIj09HScPXsWmzZtQn5+PhITE/HNN9/gvvvuw+23347Zs2fDbDbjxIkT2LdvX53j92U+p9OJBx54AJ9++imefvpptG/fHkeOHMHChQtx/PhxbNy40T3trFmz8Morr6B3796YPXs2TCYTvvjiC+zYsQODBg3CokWLMHHiRMTFxWH69OkAgLS0tFrHl5OTg9GjR6N79+6YO3cuzp8/j9dffx379u3DoUOHkJSU5J7W4XBg8ODB6NmzJ+bPn49t27bhtddeQ5s2bTB27Ng634ecnBzExcUhOzsbcXFx2LFjB2bMmAGr1Yp58+YBAKZPn46CggKcOXMGCxcuBADExcXVusyRI0dizJgx+Prrr9GxY0f38wcOHMDx48fx8ssvu5+7cuUKHA5HnWMEgJiYGMTExAAADh06BADo1q2bxzRdu3aFXq/HoUOH8Pjjj9e6rEOHDuGWW25BQkKCx/M9evQAABw+fBjNmzfHkSNHUF5eXu3rmEwmdO7c2T0On/mVpIiMGjVK9Hq9HDhwoNrnnE6niFxfk911110ePxkvXLggJpNJBg0a5LEfsmTJEgEgb731lohUbA8DkA0bNtQ6joULFwoAuXjxol/j92W+NWvWiF6vr7ad7tof2Ldvn4iIfPfdd6LX6+WXv/xltf0q13shUvvmYtU1md1ul9TUVOnYsaOUlJS4p9u0aZMAkBkzZrify8rKEgAye/Zsj2V26dJFunbtWvebIBWbXlU988wzEhMT47G29mdzMT8/XywWi7z00ksezz/33HMSGxvrsctQ0xq+psfMmTPd84wfP14MBkONXzslJUUeffTROsfXoUMHGTBgQLXnv/nmGwEgK1asEBGRDRs2CADZs2dPtWlHjBgh6enpdX6dqvw6uuh0OrFx40bcf//91SoHAJ1O5/HxmDFjYDAY3B9v27YNdrsdkyZNgl6v95guISEBmzdvBgAkJiYCAD7++GMUFxfXOBbXT/QPPvgATqfT59fgy3wbNmxA+/bt0a5dO+Tl5bkfAwYMAADs3LkTALBx40Y4nU7MmDHD4/UA1d8LX3z55Ze4cOECxo0bB4vF4n5+6NChaNeunfv9qezZZ5/1+LhPnz744YcfvH6t6Oho939fvXoVeXl56NOnD4qLi3H06FG/xw5U/LsNGzYM7777LuTavcAOhwPr16/H8OHDERsb6572nXfewdatW70+Ro0a5Z6npKTEY0upMovFgpKSkjrHV1JSArPZXOO8rs9X/v/apvX2darya3Px4sWLsFqtHpsCdWnVqpXHxz/99BMAoG3bth7Pm0wmtG7d2v35Vq1aITs7GwsWLMA777yDPn364IEHHsDjjz/uDvCRRx7BX/7yF/z2t7/F1KlT8Ytf/AIPPvggHn744Wrf8JX5Mt93332Hb7/9FikpKTUu48KFCwCA77//Hnq9HrfeeqtP74c3tb0/ANCuXTt8+umnHs9ZLJZqY2zUqBGuXLni9Wt98803ePnll7Fjxw5YrVaPzxUUFPg7dLdRo0Zh/fr12Lt3L/r27Ytt27bh/PnzGDlypMd0d955p9/Ljo6Oht1ur/FzpaWlHj84apvfZrPVOK/r85X/v7ZpvX2dqvzeJ/OHv4Op7LXXXsMTTzyBDz74AJ988gmee+45zJ07F59//jmaNWuG6Oho7NmzBzt37sTmzZuxZcsWrF+/HgMGDMAnn3zisQatOiZv8zmdTtx2221YsGBBjcto3rx5wK8rmGp7jd7k5+ejX79+SEhIwOzZs9GmTRtYLBZ89dVXeOmll/zaMqhq8ODBSEtLw9q1a9G3b1+sXbsW6enpGDhwoMd0Fy9e9GmfLC4uzr0fmJGRAYfDgQsXLiA1NdU9jd1ux6VLl5CZmVnnsjIyMnD27Nlqz//vf/8DAPf8GRkZHs9Xndbb16nGn21Lh8MhCQkJMmzYsDqnc+2TVd1vW7dunQCQjz76yON5m80miYmJ8tBDD9W6zH379gkAmT59eq3TzJkzRwDI1q1bvb+YOua79957pWnTph77VTWZN2+eAJBDhw7VOV3Hjh192idzHSVbtmxZtWnbt2/vsa/lOrpY1cyZM8XbP+v7778vAGT37t0ez69atara0c777rvP70P4kydPlkaNGsnly5clLi5OJk+eXG2aQPbJXPumVY8uur43/va3v9U5rhdffLHGo4uuf3/X0cX8/Pw6jy4++eST/rwd/u2T6fV6DB8+HP/617/w5Zdf1hRsnfMPHDgQJpMJb7zxhse0b775JgoKCjB06FAAgNVqRXl5uce8t912G/R6vXsVfvny5WrL79y5M4CaV/Muvsz3q1/9CmfPnsXq1aurTVtSUuI+Ujp8+HDo9XrMnj272k//yq8vNjYW+fn5tY7JpVu3bkhNTcWKFSs8XsO///1vfPvtt+73p75ca8DKY7Tb7Vi2bFm1aWNjY/3efBw5ciSuXLmCZ555BoWFhTUe8Qtkn2zAgAFITk7G8uXLPZa1fPlyxMTEeLw/eXl5OHr0qMc+/cMPPwyHw4FVq1a5n7PZbHj77bfRs2dP9xZKYmIiBg4ciLVr1+Lq1avuadesWYPCwkKMGDHCr/fD76OLZ86ckfT0dImJiZFJkybJypUr5ZVXXpEOHTq4z3XVtiYTuf6TdtCgQbJkyRKZOHGiGAwG6d69u9jtdhGp+EnbtGlTmTRpkixbtkzeeOMN6d69u0RFRclnn30mIiLPP/+8dOnSRV5++WVZvXq1zJkzR5o2bSrNmjXzOJdWlS/zORwOuffee0Wn08mjjz4qixcvlkWLFsmzzz4rycnJHq/r97//vQCQ3r17y/z582Xx4sUyatQomTp1qnuacePGiU6nkz/84Q/y7rvvyvbt20Wk5vNkrveuZ8+esmjRIpk2bZrExMTITTfd5HEusT5rsry8PGnUqJG0bNlSXnvtNVmwYIF06dJFOnXqVG08f/7znwWATJ48WdatWycffvhhnct26dixowCQ9u3b+zS9r5YuXSoA5OGHH5bVq1fLqFGjBIDMmTPHYzrX+1D1HOSIESPca6mVK1dK7969xWg0VlurHzx4UMxms8cVHxaLJaBzfQGdjP7pp59k1KhRkpKSImazWVq3bi3jx4+vdjK6pshEKg7Zt2vXTqKioiQtLU3Gjh3r8Q30ww8/yJNPPilt2rQRi8UiycnJcvfdd8u2bdvc02zfvl2GDRsmmZmZYjKZJDMzU37961/L8ePH6xy7r/PZ7Xb505/+JB06dBCz2SyNGjWSrl27yqxZs6ptbrz11lvSpUsX93T9+vXz2GTNzc2VoUOHSnx8vE8no9evX+9eXnJycp0no6vyJTKRik2sO+64Q6KjoyUzM1N+97vfyccff1xtPIWFhfKb3/xGkpKSvJ6MrswV56uvvurT9P5YtWqVtG3bVkwmk7Rp00YWLlxYbdO+tshKSkrkxRdflPT0dDGbzdK9e3fZsmVLjV9n79690rt3b7FYLJKSkiLjx48Xq9Xq93h1Ivy9ixR8r7/+OiZPnoyTJ0+iRYsWWg9HU4yMgk5E0KlTJzRu3Nh9TjGSKT2ET5GlqKgIH374IXbu3IkjR47ggw8+0HpINwSuyShoTp48iVatWiEpKQnjxo3DnDlztB7SDYGRESnGO6OJFGNkRIpF1IEPp9OJc+fOIT4+PqCr5Ck4RARXr15FZmZmnRdzNxQRFdm5c+dumIt7CTh9+jSaNWum9TCUi6jI4uPjAQB//sPvEB97/X6tgqJy2Moqjv+kJBo1WcvZy5zIL6q4Kj0p1gBTVOh/wosILhZUXDNqjtIhMVbNt8fVolL87vd/dv97NHQRFZkrnvhYCxLjK27DuVrsgCHKiOQYHWzlgjLRoXG8AfoQhmYvc6KozIHEa99zZU4g0RLa0JwiuGR1IDY2CmajDqVlAr1Bj/iYwG6n8UWkbLI3/A3iOlwtdsBa4kRCtB6NE4xoEm9AmaPim80ZojMb9jIn8q46EGXQoUmiEU0SjYgy6JB31QF7WeD3dfnDFViZQ9Ak3oDGCUYkROthLXHiarH3e76obhEbWeXAXD+tTVH6kIZWObDGCRVrT72u4r9DFVrVwFxrz/gYA0MLkoiMrKi0emAuoQqtpsBcQhVabYG5MLTgiNDIag7MRXVodQXmojo0b4G5MLT6i8jIYi3ed+hVheZLYC6qQvM1MBeGVj8RGplvR8yCHZo/gbkEOzR/A3NhaIGLyMj8EazQAgnMJVihBRqYS7BCKyqNrEgZmQ/qG1p9AnOpb2j1DcylvqFdLXagqDQ0pyZuFIzMR4GGFozAXAINLViBuQQamuu0Sawlsr7tIuvV1pO/oQUzMBd/Qwt2YC7+hlb5vKSv+8QNBSPzk6+hqQjMxdfQVAXm4mtoNZ34jySMLADeQlMZmIu30FQH5uIttEgPDGBkAasttFAE5lJbaKEKzKW20BhYhYi6Cj/YKkID8q46cMnqQEKMHpdCFJiLK7RLVgfyrjrQOB6wFjtDFpiLKyJryfU1KgOrwDVZPbnWaPZyQZ7VAaMeIQvMxRWaUQ/kWR2wl4c2MJfKazQGdh0jI1KMkdWTax/MZNShSYIB5U6E9H404Po+WLkTaJJggMkY2vvRXCrvg/ESrOsYWT1UPchhDvH9aED1gxzmKH1I70dzqXqQg9c6XsfIAlTbUcRQ3vhZ21HEUN/4WdtRRIZWgZEFwNth+lCE5u0wfahC83aYnqExMr/5eh5MZWi+ngdTHZqv58EiPTRG5gd/TzSrCM3fE82qQvP3RHPl0HirC9Uo0Cs5ghlaoFdyBDu0QK/kcIXGW12omvpeKhWM0Op7qVSwQqvvpVLxMQbe6kKegnUtYn1CC9a1iPUNLVjXIvJWlwjg6z5BsC/2DSS0YF/sG2hovNg3cBEamfejXKqupvcnNFVX0/sbGgOrn4iMLNZS9+Fk1ber+BKa6ttVfA2NgdVf2EQ2d+5cdO/eHfHx8UhNTcXw4cNx7NixgJYVa6n9vE2o7gerK7RQ3Q/mLTQGFhxhE9nu3bsxfvx4fP7559i6dSvKysowaNAgFBUVBbS8mk6QhvKGS6Dm0EJ9w2VtoTGw4Ambmza3bNni8XFOTg5SU1Nx8OBB9O3bN6BlVr7R0F4usJVLSG+4BDxv/My79rfByp0I6f1gVW/8NBudKC0TBhYkYRNZVQUFBQCA5OTkWqex2Wyw2Wzuj61Wa7Vp4mMqbrgsvfZHAEN9wyVQEVrj+IobLoFrt6uE+IZLV2j/u1yO0jKBJUrHwIIkbDYXK3M6nZg0aRLuvPNOdOzYsdbp5s6di8TERPejpj9lay9zwlZ+fX+oqCT0VyM4RWAtrnTbfrEzpPejuVR+7bZyCfn9aA1VWEY2fvx4fP311/j73/9e53TTpk1DQUGB+3H69GmPz1feB8tI1uYP31XeB0tJMCAlIfR/iBDw3AfLSA79HyJsyMJuc3HChAnYtGkT9uzZ4/WPepvNZpjN5ho/V9NBjqq/DEb15lJtBzkq/3KeUGy+1nSQo/I+WpN4aPI3rBuKsHnnRAQTJkzA+++/jx07dqBVq1YBL6usjqOIoboto66jiKG88bO2o4ihvvGzIQubyMaPH4+1a9di3bp1iI+PR25uLnJzc1FSUuL3svKL6z5Mrzo0Xw7ThyI0b4fpGVpwhE1ky5cvR0FBAfr374+MjAz3Y/369X4vy+jDYXpVoflzHkxlaL6eB2No9Rc2+2QSxG+wWIse5Q4AqHuZZpMeMQ5BfpED5Q5BbHT99tFEBFcKK5bVKNYA6HSwl3t5XTodEqP1uFLkwIV8QaM4A3T13EcrKnGgsNSJOIseZpPe+xgAJMTocaXQgQsF5WgUa0BUPfbRynz4eg1J2EQWTE4BSu2+/UQ2GHSItehhdwikxAGjIbBvcBHAXi7Q64A4iwEOARw+jgGomMde7oS12AmTUYdAOyt3CMocgliLHgaDzuf3AQCirwVZZHPC5AD0AXZW5mBkDd7wXklIiIvWehgRy1pYghe0HkQIRWRkyXFGJMRH5Eu/IRgj7NsubA58EIUrRkakGCMjUoyRESnGyIgUY2REijEyIsUYGZFijIxIMUZGpBgjI1KMkREpxsiIFGNkRIoxMiLFGBmRYoyMSDFGRqQYIyNSjJERKcbIiBRjZESKMTIixRgZkWKMjEgxRkakGCMjUoyRESnGyIgUY2REijEyIsUYGZFijIxIMUZGpBgjI1KMkREpxsiIFGNkRIoxMiLFGBmRYoyMSDFGRqQYIyNSjJERKcbIiBRjZESKMTIixRgZkWKMjEgxRkakGCMjUoyRESnGyIgUY2REijEyIsUYGZFijIxIMUZGpBgjI1KMkREpxsiIFGNkRIoxMiLFGBmRYoyMSDFGRqQYIyNSjJERKRZWke3Zswf3338/MjMzodPpsHHjRq2HRORVWEVWVFSETp06YenSpVoPhchnRq0H4I977rkH99xzj9bDIPJLWEXmL5vNBpvN5v7YarVqOBqKVGG1ueivuXPnIjEx0f1o3ry51kOiCNSgI5s2bRoKCgrcj9OnT2s9JIpADXpz0Ww2w2w2az0MinANek1GdCMIqzVZYWEhTpw44f74xx9/xOHDh5GcnIwWLVpoODKi2oVVZF9++SXuvvtu98fZ2dkAgKysLOTk5Gg0KqK6hVVk/fv3h4hoPQwiv3CfjEgxRkakGCMjUoyRESnGyIgUY2REijEyIsUYGZFijIxIMUZGpBgjI1KMkREpxsiIFGNkRIoxMiLFGBmRYoyMSDFGRqQYIyNSjJERKcbIiBRjZESKMTIixRgZkWKMjEgxRkakGCMjUoyRESnGyIgUY2REijEyIsXC6u+TBY2jGCh3aj2KyOUo1XoEIRWZkV05DNijtB5F5Coq03oEIcXNRSLFGBmRYoyMSLHI3Cdr1BmIs2g9ishlKgXwD61HETKRGZkhBjBGaz2KyGWIrA2oyHq1RBpgZESKMTIixRgZkWKMjEgxRkakGCMjUoyRESnGyIgUY2REijEyIsUYGZFijIxIMUZGpFhE3upS4ixFlEPrUUSuEid/kU6Dd6zkGOIMJq2HEbEKS+xaDyGkuLlIpBgjI1Is8iJrD+y5cBKfnj+Fcid/wSmpF3n7ZEOB148dQLzJjHV3dkD7Rs20HlHEsfI3CDdwViA1Ix5WRymidCZEG/gLdUKtLMK2nyLs5RKFHiMjUoyRESnGyIgUY2REikXe0cVKcn7Yj3+d/X8AgF+kt0Of1J9pPCJqiCIyMqPOAIfTgX+eOgSBwO50wKw3MjJSIqDNxQEDBmDWrFnVnr9y5QoGDBhQ70GpptfpkBmThMyYRCSZYhAfZcY9mR21HhY1UAFFtmvXLixZsgTDhw9HUVGR+3m73Y7du3cHbXChUGAvRruEDHTilR+kSMAHPrZt24bc3FzccccdOHnyZBCHFDpOcUIAjGjxc+h0Oq2HQw1UwPtkGRkZ2L17N0aPHo3u3btjw4YNaN++fTDHpsyVolLo9ToUO20A9Cg9a8E7578FADx25/XX8M6+b2tdhqrp6ppGq+mC/Vrvv/2mOsfU0AS0JnP91DebzVi3bh2ef/55DBkyBMuWLQvq4FQrdZbhVkszJBljtR4KNWA6ERF/Z9Lr9cjNzUVqaqr7uX/+85/IyspCSUkJHA519/YvXboU8+bNQ25uLjp16oTFixejR48ePs1rtVqROCURHdKT4NALrsCGP6EbBiBD2XipuqulZejwx40oKChAQkKC1sNRLqA12Y8//oiUlBSP5x566CF88cUXeOutt4IysJqsX78e2dnZmDlzJr766it06tQJgwcPxoULF/xe1lWUoQks6I1U7xMT1UNAkbVs2bLGAwUdOnRAVlZWvQdVmwULFmDMmDEYPXo0br31VqxYsQIxMTF+hy0Q2ODAYGTCAoOi0RJVCJvLqux2Ow4ePIiBAwe6n9Pr9Rg4cCA+++yzGuex2WywWq0eDwAohQNmGPB/aBqSsVNkC5srPvLy8uBwOJCWlubxfFpaGo4ePVrjPHPnzq1+0vxp4JLBiRbmFOSl3Yo9PHQfcsUlNq2HEFJhsyYLxLRp01BQUOB+nD59GtABohP0jP0Zz41RSITNmqxJkyYwGAw4f/68x/Pnz59Henp6jfOYzWaYzWbPJ02ARWdC5+hWqoZK5CFs1mQmkwldu3bF9u3b3c85nU5s374dvXr18mNBQFtTJs+NUciEzZoMALKzs5GVlYVu3bqhR48eWLRoEYqKijB69GjfFyJAZzPXYhQ6YRXZI488gosXL2LGjBnIzc1F586dsWXLlmoHQ+pUCLQ18agihU5YRQYAEyZMwIQJEwJfwDHA1CXsXjaFsbDZJwua/2g9AIo0kRdZidYDoEgTeZERhRgjI1IsIo8AlJ0phd3Cv+iilbJS/hFAIgoiRkakGCMjUoyRESnGyIgUY2REijEyIsUYGZFijIxIMUZGpBgjI1KMkREpxsiIFGNkRIoxMiLFGBmRYoyMSDFGRqQYIyNSjJERKcbIiBRjZESKMTIixRgZkWKMjEgxRkakGCMjUoyRESnGyIgUY2REijEyIsUYGZFijIxIMUZGpBgjI1KMkREpxsiIFGNkRIoxMiLFGBmRYoyMSDFGRqQYIyNSjJERKcbIiBRjZESKMTIixRgZkWKMjEgxRkakGCMjUoyRESnGyIgUY2REijEyIsUYGZFijIxIMUZGpBgjI1KMkREpxsiIFGNkRIoxMiLFGBmRYoyMSDFGRqRY2EQ2Z84c9O7dGzExMUhKStJ6OEQ+C5vI7HY7RowYgbFjx2o9FCK/GLUegK9mzZoFAMjJydF2IER+Cps1GVG4Cps1WSBsNhtsNpv7Y6vVquFoKFJpuiabOnUqdDpdnY+jR48GvPy5c+ciMTHR/WjevHkQR0/kG03XZC+88AKeeOKJOqdp3bp1wMufNm0asrOz3R9brVaGRiGnaWQpKSlISUlRtnyz2Qyz2axs+US+CJt9slOnTuHy5cs4deoUHA4HDh8+DAC4+eabERcXp+3giOoQNpHNmDEDf/3rX90fd+nSBQCwc+dO9O/fX6NREXkXNofwc3JyICLVHgyMbnRhExlRuGJkRIoxMiLFGBmRYoyMSDFGRqQYIyNSjJERKcbIiBRjZESKMTIixRgZkWKMjEgxRkakGCMjUoyRESnGyIgUY2REijEyIsUYGZFijIxIMUZGpBgjI1KMkREpxsiIFGNkRIoxMiLFGBmRYoyMSDFGRqQYIyNSjJERKcbIiBRjZESKMTIixRgZkWKMjEgxRkakGCMjUoyRESnGyIgUY2REijEyIsUYGZFijIxIMUZGpBgjI1KMkREpxsiIFGNkRIoxMiLFGBmRYoyMSDFGRqQYIyNSjJERKcbIiBRjZESKMTIixRgZkWKMjEgxRkakGCMjUoyRESnGyIgUY2REijEyIsUYGZFiRq0HoIUyMcAoBq2HEbHKIuy9j8jILjkTYXGaA5rXeW3lr4cAEK/TC3QQ6K79r/fpfeH/MnVwQgcA0MMZlDEEskzXe2d3lgZpDOEhIiMDENA3fDkMEOhgRPm1by/fvo4TOjhggAGOa3EGrmJZej+XJdADKIcRAj2McNRrDIKK90IH8WtZBjhQDgPKI2wvJSxe7cmTJ/HUU0+hVatWiI6ORps2bTBz5kzY7faAlqeDQO/HQweBAwYAOkRdS82f+Y1wwggHnNci9Wfeyg+BDk4YYIQDRjj9mtcAQRTKgWvB+/seuB4A4IAR+mvL83f+KJQHbY0eLsJiTXb06FE4nU6sXLkSN998M77++muMGTMGRUVFmD9/vtKvXfFT2+hegwW6JjJc26SqiPX6x75yQO9eG/o7r0tF8OUohxHlMPq1RgYq1qLlMF5bg/k3r4sOqPeaNNyERWRDhgzBkCFD3B+3bt0ax44dw/LlywOKzPeNrOAE5hJoaMEIzCXQ0IIRWKQKi83FmhQUFCA5OTmgecthdO+01ybYgbkY4IQBDjiu7VV5E8zAXFyhybVwvL0yBlY/YbEmq+rEiRNYvHix17WYzWaDzWZzf2y1WgFU7JO5forXFI+qwFx8XaOpCMzF1zUaA6s/TddkU6dOhU6nq/Nx9OhRj3nOnj2LIUOGYMSIERgzZkydy587dy4SExPdj+bNmwOo2CdwhVZ1jaY6MBdvazSVgbl4W6MxsODQiYhmh3ouXryIS5cu1TlN69atYTKZAADnzp1D//79cccddyAnJwd6fd0/I2pakzVv3hwzpmYj2mKqFlOoAquspphCEVhlNcWkMrDiUjtm/3EBCgoKkJCQEMQl35g03VxMSUlBSkqKT9OePXsWd999N7p27Yq3337ba2AAYDabYTbXfNK54iiX5+aSo9J5sFAEBlTfdHT9d6gCA6pvOlacz+IaLFjCYp/s7Nmz6N+/P1q2bIn58+fj4sWL7s+lp6cHvNyqoeHax6EKzKX6PlroAnOpGhoDC56wiGzr1q04ceIETpw4gWbNmnl8TsOtXSKfhMUh/CeeeAIiUuOjPqrug9V2MEQ1z30w3w/vB1PVfTBfD++Td2ERmQo1HeTQIrSqBzn8PY8WDFUD8/c8GtUtYiOr6Siiax8tVKHVdhQxlKHVdhSRoQVPREZWXsdRxFCF5u0wfShC83aYnqEFR0RG5u0wverQfD0PpjI0X8+DMbT6i8jIfDlMryo0f080qwjN3xPNDK1+IjIy32+4DG5ogV7JEczQAr2Sg6EFLiIj80ewQqvvpVLBCK2+l0oFIzTXXdWRhJH5oL6hBetaxPqEFqxrEesTWuXTJpGEkfko0NCCfbFvIKEF+2LfQEKrel4ykjAyP/gbmqqr6f0JTdXV9P6EVv3KmsjCyPzka2iqb1fxJTTV94P5EpoWtw/daBhZALyFFqr7weoKLVQ3XNYVGgOrwMgCVFtoob7hsqbQQn1Hc02hMbDrwuJWlxtV1fvR9HDCCX3I7werfD9axe9m1If8frCq96MB3q+siRQRFZnr1phSW2C/FLV2dpRdeyv1166k14IDevevwo5COco0GIPA5nEDbE3HEV3vf6TcC6jp7/gItR9++AFt2rTRehh0zenTp6vdhNsQRdSazPV7Gk+dOoXExESNRxO+XL+Q6PTp0wH9IhwRwdWrV5GZmalgdDeeiIrM9ct3EhMTI+K3JKmWkJAQ8PsYST/keHSRSDFGRqRYREVmNpsxc+bMWn8XI/mG76N/IuroIpEWImpNRqQFRkakGCMjUixiIlu6dCluuukmWCwW9OzZE//5z3+0HlLY2bNnD+6//35kZmZCp9Nh48aNWg8pLEREZOvXr0d2djZmzpyJr776Cp06dcLgwYNx4cIFrYcWVoqKitCpUycsXbpU66GElYg4utizZ090794dS5YsAQA4nU40b94cEydOxNSpUzUeXXjS6XR4//33MXz4cK2HcsNr8Gsyu92OgwcPYuDAge7n9Ho9Bg4ciM8++0zDkVGkaPCR5eXlweFwIC0tzeP5tLQ05ObmajQqiiQNPjIirTX4yJo0aQKDwYDz5897PH/+/Pl6/ZVOIl81+MhMJhO6du2K7du3u59zOp3Yvn07evXqpeHIKFJExP1k2dnZyMrKQrdu3dCjRw8sWrQIRUVFGD16tNZDCyuFhYU4ceKE++Mff/wRhw8fRnJyMlq0aKHhyG5wEiEWL14sLVq0EJPJJD169JDPP/9c6yGFnZ07d7p+EZXHIysrS+uh3dAi4jwZkZYa/D4ZkdYYGZFijIxIMUZGpBgjI1KMkREpxsiIFGNkRIoxMiLFGBmRYoyMSDFGFgYuXryI9PR0vPrqq+7n9u/fD5PJ5HELD92YeIFwmPjoo48wfPhw7N+/H23btkXnzp0xbNgwLFiwQOuhkReMLIyMHz8e27ZtQ7du3XDkyBEcOHCAf/QhDDCyMFJSUoKOHTvi9OnTOHjwIG677Tath0Q+4D5ZGPn+++9x7tw5OJ1OnDx5UuvhkI+4JgsTdrsdPXr0QOfOndG2bVssWrQIR44cQWpqqtZDIy8YWZiYMmUK3nvvPfz3v/9FXFwc+vXrh8TERGzatEnroZEX3FwMA7t27cKiRYuwZs0aJCQkQK/XY82aNdi7dy+WL1+u9fDIC67JiBTjmoxIMUZGpBgjI1KMkREpxsiIFGNkRIoxMiLFGBmRYoyMSDFGRqQYIyNSjJERKfb/ASa8gFhUB/KTAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# visualize the xz plane\n", "sim.plot(y=0)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "1ce588d4", "metadata": {}, "source": [ "Submit the simulation to the server." ] }, { "cell_type": "code", "execution_count": 18, "id": "b7467135", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:39:56.105153Z", "iopub.status.busy": "2023-03-28T01:39:56.104977Z", "iopub.status.idle": "2023-03-28T01:40:23.755718Z", "shell.execute_reply": "2023-03-28T01:40:23.753931Z" } }, "outputs": [ { "data": { "text/html": [ "
[16:51:25] Created task 'beam_steering_metasurface' with task_id                                      webapi.py:139\n",
       "           'fdve-d05783e0-ca11-4fd7-9d19-f4398709514cv1'.                                                          \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:25]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'beam_steering_metasurface'\u001b[0m with task_id \u001b]8;id=157270;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=178242;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m\u001b[32m'fdve-d05783e0-ca11-4fd7-9d19-f4398709514cv1'\u001b[0m. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "c721fe208985440c93b283dc140973f5", "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:51:26] status = queued                                                                            webapi.py:269\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:26]\u001b[0m\u001b[2;36m \u001b[0mstatus = queued \u001b]8;id=870504;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=61281;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#269\u001b\\\u001b[2m269\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "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": [
       "
[16:51:33] Maximum FlexCredit cost: 0.025. Use 'web.real_cost(task_id)' to get the billed FlexCredit cost webapi.py:286\n",
       "           after a simulation run.                                                                                 \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:33]\u001b[0m\u001b[2;36m \u001b[0mMaximum FlexCredit cost: \u001b[1;36m0.025\u001b[0m. Use \u001b[32m'web.real_cost\u001b[0m\u001b[32m(\u001b[0m\u001b[32mtask_id\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m to get the billed FlexCredit cost \u001b]8;id=563140;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=760311;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#286\u001b\\\u001b[2m286\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0mafter a simulation run. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           starting up solver                                                                         webapi.py:290\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0mstarting up solver \u001b]8;id=914045;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=378077;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#290\u001b\\\u001b[2m290\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           running solver                                                                             webapi.py:300\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0mrunning solver \u001b]8;id=301492;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=806232;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#300\u001b\\\u001b[2m300\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "5c715caebd4341c6be17744467d279bc", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:51:51] early shutoff detected, exiting.                                                           webapi.py:313\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:51]\u001b[0m\u001b[2;36m \u001b[0mearly shutoff detected, exiting. \u001b]8;id=35710;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=675496;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#313\u001b\\\u001b[2m313\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": [ "
           status = postprocess                                                                       webapi.py:330\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0mstatus = postprocess \u001b]8;id=5452;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=70548;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#330\u001b\\\u001b[2m330\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:51:55] status = success                                                                           webapi.py:337\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:55]\u001b[0m\u001b[2;36m \u001b[0mstatus = success \u001b]8;id=40192;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=786314;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#337\u001b\\\u001b[2m337\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b5c7f8a2a03a41b28661a584662cd1c5",
       "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:51:57] loading SimulationData from data/simulation_data.hdf5                                      webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:51:57]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data/simulation_data.hdf5 \u001b]8;id=704510;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=435535;file://C:\\Users\\xinzhong\\Desktop\\tidy3d\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "job = web.Job(simulation=sim, task_name=\"beam_steering_metasurface\", verbose=True)\n", "sim_data = job.run(path=\"data/simulation_data.hdf5\")\n" ] }, { "cell_type": "markdown", "id": "8fbd776d", "metadata": {}, "source": [ "### Result Analysis " ] }, { "cell_type": "markdown", "id": "7a750857", "metadata": {}, "source": [ "After the simulation is complete, we first extract the reflected angles and power from the [DiffractionMonitor](../_autosummary/tidy3d.DiffractionMonitor.html). Then, plot the power and angle of each diffraction order as a scatter plot in polar coordinate. " ] }, { "cell_type": "code", "execution_count": 19, "id": "38482225", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:40:24.191965Z", "iopub.status.busy": "2023-03-28T01:40:24.191826Z", "iopub.status.idle": "2023-03-28T01:40:24.559478Z", "shell.execute_reply": "2023-03-28T01:40:24.558769Z" }, "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "theta = np.array(sim_data[\"R\"].angles[0]) # diffraction angle theta\n", "phi = np.array(sim_data[\"R\"].angles[1]) # diffraction angle phi\n", "power = np.array(sim_data[\"R\"].power) # diffraction power of each order\n", "\n", "# plot the power and angle in polar coordinate\n", "fig, ax = plt.subplots(subplot_kw={\"projection\": \"polar\"})\n", "plt.scatter(phi, theta * 180 / np.pi, s=60, c=power, vmin=0, vmax=1, cmap=\"bwr\")\n", "ax.set_rlim(0, 90)\n", "plt.colorbar()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "3fb5584b", "metadata": {}, "source": [ "To see the power values more clearly, we plot the relationship between the power and the diffraction order. " ] }, { "cell_type": "code", "execution_count": 20, "id": "b9226e8d", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:40:24.561488Z", "iopub.status.busy": "2023-03-28T01:40:24.561304Z", "iopub.status.idle": "2023-03-28T01:40:24.716966Z", "shell.execute_reply": "2023-03-28T01:40:24.716468Z" } }, "outputs": [ { "data": { "image/png": "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W9OnT5fL5VLPnj01atQo/fOf/9TQoUP9NQQAANCB2Iwxxt9FtKeKigo5nU653W6FhIT4uxwAANAITfn+vuDulgIAADgXwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALCUJoeb06dPq1OnTtq5c2db1AMAANAiTQ43nTt31mWXXaba2tq2qAcAAKBFmnVaavbs2Xr44Yd19OjR1q4HAACgRTo1Z6GlS5dq79696tOnj/r27auuXbv6zC8qKmqV4gAAAJqqWeHm5ptvbuUyAAAAWofNGGP8XUR7qqiokNPplNvtVkhIiL/LAQAAjdCU7+9m3wp+7Ngx/fd//7cyMzO9194UFRXp4MGDzV0lAABAizUr3Hz88ce64oor9MQTT2jRokU6duyYJGn9+vXKzMxs8vqWLVumfv36yeFwKCEhQQUFBY1abu3atbLZbJwmAwAAXs0KNxkZGZo2bZo+++wzORwOb/uNN96of/zjH01a17p165SRkaHs7GwVFRUpJiZGKSkpOnz48DmXO3DggH7961/re9/7XnOGAAAALKpZ4Wbbtm36xS9+Uac9MjJSLperSetavHixpk+frvT0dA0dOlQrVqxQcHCwVq9e3eAytbW1+ulPf6q5c+dqwIABTa4fAABYV7PCjd1uV0VFRZ32Tz/9VJdeemmj11NTU6PCwkIlJyd/U1BAgJKTk5Wfn9/gcvPmzVPv3r11xx13nHcb1dXVqqio8JkAAIB1NSvc/PCHP9S8efN0+vRpSZLNZlNJSYlmzpypW265pdHrKS8vV21trcLCwnzaw8LCGjwC9M4772jVqlVauXJlo7aRk5Mjp9PpnaKiohpdHwAAuPA0K9w89dRTqqysVO/evXXy5EklJSVp0KBB6t69ux577LHWrtHr+PHjmjJlilauXKnQ0NBGLZOZmSm32+2dSktL26w+AADgf816iJ/T6dTbb7+td955Rx9//LEqKys1cuRIn9NLjREaGqrAwECVlZX5tJeVlSk8PLxO/3379unAgQOaOHGit83j8UiS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zfL2f/fdd02nTp3MokWLTHFxscnOzq73VvDzfSbbS1PHt2DBAhMUFGReeeUVn3119t+g48ePm1//+tcmPz/f7N+/32zevNmMHDnSXH755e0atFsyxrlz55pNmzaZffv2mcLCQnPrrbcah8Nhdu3a5e1zIe/Ds8aOHWtSU1PrtHe0fXj8+HHvd50ks3jxYrN9+3bz+eefG2OMmTVrlpkyZYq3/9lbwR966CFTXFxsli1bVu+t4Od6z1oD4aYJ0tLSjKQ605YtW7x99P8/D+Qsj8dj5syZY8LCwozdbjfXXXed2bNnj896v/rqKzN58mTTrVs3ExISYtLT030CU3s6Xy379++vM2ZjjMnMzDRRUVGmtra2zjrfeustExsba7p162a6du1qYmJizIoVK+rt29aaOr6SkhJzzTXXmF69ehm73W4GDRpkHnroIZ/n3BhjzIEDB8wPfvAD06VLFxMaGmoefPBBn1up20tTx7dly5Z6/05LMvv37zfG+H//PfPMM+ayyy4zQUFBJj4+3rz33nveeUlJSSYtLc2n/1//+ldzxRVXmKCgIPPd737XvPnmmz7zG/OZbE9NGV/fvn3r3VfZ2dnGGGNOnDhhbrjhBnPppZeazp07m759+5rp06e36pdGczRljA888IC3b1hYmLnxxhtNUVGRz/ou5H1ojDGffPKJkWT+/ve/11lXR9uHDf0bcXZMaWlpJikpqc4ysbGxJigoyAwYMMDnO/Gsc71nrcFmTDvfjwsAANCGeM4NAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINgAbZbDa99tpr3teffPKJrrrqKjkcDu+PFNbX1p6mTZumm2++ud2321wHDhyQzWbThx9+6O9SAMu66H8VHLjYTJs2TS+88IIkqVOnTurVq5eGDx+uyZMna9q0aQoI+Ob/PIcOHVLPnj29r7Ozs9W1a1ft2bNH3bp1a7CtLRw4cED9+/fX9u3bfULU008/LR60DuDbOHIDXITGjx+vQ4cO6cCBA3rrrbf0/e9/X/fff79uuukmnTlzxtsvPDxcdrvd+3rfvn0aO3as+vbtq0suuaTBtv90+vTpNhuL0+lUjx492mz9zVVTU3NBrhuwAsINcBGy2+0KDw9XZGSkRo4cqYcfflgbNmzQW2+9peeff97b79unpWw2mwoLCzVv3jzZbDY9+uij9badPe2ybt06JSUlyeFwaM2aNfrqq680efJkRUZGKjg4WNHR0frLX/7iU5fH49GTTz6pQYMGyW6367LLLtNjjz0mSerfv78kacSIEbLZbBo3bpykuqelqqurdd9996l3795yOBwaO3astm3b5p2/detW2Ww25eXlKS4uTsHBwRozZoz27Nlzzvdsx44duvbaa9WlSxddcskluvPOO1VZWemdf7aOxx57TH369NHgwYMlSQUFBRoxYoQcDofi4uK0ffv2OuveuXOnfvCDH6hbt24KCwvTlClTVF5e7p0/btw43XvvvXrggQcUGhqqlJSUc9YKXOwINwAkSddee61iYmK0fv36eucfOnRI3/3ud/Xggw/q0KFD+vWvf11v21mzZs3S/fffr+LiYqWkpOjUqVMaNWqU3nzzTe3cuVN33nmnpkyZooKCAu8ymZmZWrBggebMmaPdu3frpZdeUlhYmCR5+23evFmHDh1qsM7f/OY3+p//+R+98MILKioq0qBBg5SSkqKjR4/69Js9e7aeeuopffDBB+rUqZN+9rOfNfjeVFVVKSUlRT179tS2bdv08ssva/Pmzbr33nt9+uXl5WnPnj16++239be//U2VlZW66aabNHToUBUWFurRRx/1eY8k6dixY7r22ms1YsQIffDBB8rNzVVZWZl+8pOf+PR74YUXFBQUpHfffVcrVqxosFYAklr1N8YBdHhpaWlm0qRJ9c5LTU01Q4YM8b6WZF599VXv65iYGJOdne2zzH+27d+/30gyS5YsOW8tEyZMMA8++KAxxpiKigpjt9vNypUr6+17dr3bt29vcDyVlZWmc+fOZs2aNd75NTU1pk+fPubJJ580xhizZcsWI8ls3rzZ2+fNN980kszJkyfr3fYf//hH07NnT1NZWemzTEBAgHG5XN46wsLCTHV1tbfPs88+ay655BKf9S5fvtxnHPPnzzc33HCDz/ZKS0uNJLNnzx5jjDFJSUlmxIgR9dYGoC4uKAbgZYyRzWZrlXXFxcX5vK6trdXjjz+uv/71rzp48KBqampUXV2t4OBgSVJxcbGqq6t13XXXNXub+/bt0+nTp3X11Vd72zp37qz4+HgVFxf79B0+fLj3zxEREZKkw4cP67LLLquz3uLiYsXExKhr167etquvvloej0d79uzxHl2Kjo5WUFCQz3LDhw+Xw+HwtiUmJvqs+6OPPtKWLVvqvRh73759uuKKKyRJo0aNOv8bAEASd0sB+Jbi4mLvtS0t9e0gIEkLFy7U008/rSVLlig6Olpdu3bVAw884L04tkuXLq2y3cbq3Lmz989nA53H42nROv9zzI1RWVmpiRMn6oknnqgz72zoau66gYsV19wAkCT97//+r3bs2KFbbrmlTdb/7rvvatKkSbr99tsVExOjAQMG6NNPP/XOv/zyy9WlSxfl5eXVu/zZIyK1tbUNbmPgwIHe61LOOn36tLZt26ahQ4c2u/YhQ4boo48+UlVVlc94AgICvBcON7Tcxx9/rFOnTnnb3nvvPZ8+I0eO1K5du9SvXz8NGjTIZyLQAM1DuAEuQtXV1XK5XDp48KCKior0+OOPa9KkSbrppps0derUNtnm5Zdfrrffflv//Oc/VVxcrF/84hcqKyvzznc4HJo5c6Z+85vf6E9/+pP27dun9957T6tWrZIk9e7dW126dPFecOt2u+tso2vXrrr77rv10EMPKTc3V7t379b06dN14sQJ3XHHHc2u/ac//akcDofS0tK0c+dObdmyRTNmzNCUKVO8p6Tqc9ttt8lms2n69OnavXu3Nm7cqEWLFvn0ueeee3T06FFNnjxZ27Zt0759+7Rp0yalp6efM8gBaBjhBrgI5ebmKiIiQv369dP48eO1ZcsW/f73v9eGDRsUGBjYJtt85JFHNHLkSKWkpGjcuHEKDw+v82ThOXPm6MEHH1RWVpaGDBmi1NRUHT58WNLXDxz8/e9/r2effVZ9+vTRpEmT6t3OggULdMstt2jKlCkaOXKk9u7dq02bNvk8jLCpgoODtWnTJh09elSjR4/Wj3/8Y1133XVaunTpOZfr1q2b3njjDe3YsUMjRozQ7Nmz65x+6tOnj959913V1tbqhhtuUHR0tB544AH16NHD54GKABrPZgyP9gQAANbBfwsAAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAICl/H9m+Ew1zHvIMQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(sim_data[\"R\"].orders_x, sim_data[\"R\"].power.values[:, 0])\n", "plt.xlabel(\"Diffraction order\")\n", "plt.ylabel(\"Power\")\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "04c4e9f0", "metadata": {}, "source": [ "The Above result shows that about 80% of the power is diffracted to about 45 degree. This is consistent with our design since we have $2\\pi/L_x\\approx 0.71k_0 $, where $L_x$ = 1200 nm is the super cell size in the x direction. This gives a diffraction angle of $sin^{-1}(0.71)\\approx 45^{\\circ}$ at the first diffraction order. Note that another 5% of the power that is also diffracted to 45 degree corresponds to the -1 diffraction order.\n", "\n", "Lastly, visualize the field distribution at the xz plane. The field above the super cell resembles a plane wave propagating at about 45$^{\\circ}$. Clearly it is not a perfect plane wave. The distortion is due to the fact that 5% of the power is diffracted to the -1 order and about 1% to the 0 order. This design can potentially be further optimized." ] }, { "cell_type": "code", "execution_count": 21, "id": "d702eca7", "metadata": { "execution": { "iopub.execute_input": "2023-03-28T01:40:24.719108Z", "iopub.status.busy": "2023-03-28T01:40:24.718922Z", "iopub.status.idle": "2023-03-28T01:40:24.931167Z", "shell.execute_reply": "2023-03-28T01:40:24.930725Z" }, "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot Ey distribution\n", "fig, ax = plt.subplots()\n", "Ey = sim_data[\"field\"].Ey.sel(f=freq0).real\n", "Ey.plot(x=\"x\", y=\"z\", ax=ax, vmin=-100, vmax=100, cmap=\"bwr\")\n", "ax.set_aspect(\"equal\")\n" ] } ], "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.10.9" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "07814e1800834ae386114004c097c168": { "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_b2b79af1ce28457eb9087ef99cb8d5fb", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.4/32.4 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.4/32.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "079474161bb947d1b9a2b107ebe4b0f5": { "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 } }, "07de13e902714cc386c58b0bbb987f39": { "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_fb91a2298d9243629a3c7372870a73b2", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.4/32.4 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.4/32.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "09cce3164f404c938595a5b899732069": { "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 } }, "0d8ec6f1fdbf474b9bff4cf74098b512": { "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_6cadf1b996534d1bb19875e7b6cd9582", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "186efa0aa0ca4c17a5637e437076deef": { "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 } }, "22ad62f5163b42f0be0cdc134252955e": { "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_09cce3164f404c938595a5b899732069", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "23e3df04ef6b425d9bbbf89cc776f676": { "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_24bc219a9e444243a73572e03d3e9adb", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "245ec1d8e8da481ab9b69fddc24a9d6c": { "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_50a44137df724e6c941a923a83f6a422", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.3/32.3 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.3/32.3 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "2468a29b71774a73aba96d7050823fb9": { "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 } }, "24bc219a9e444243a73572e03d3e9adb": { "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 } }, "2c9a1e8494414513a2f2a6eff9975899": { "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 } }, "3ba5d4a25369461e965d8ac45e40a862": { "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 } }, "3c0c967adcab49c8ba9ea12f198fc320": { "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_4eb1ab4a2a4f41a69f93836f8af448ac", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "40df637ca23241acb041ae2964bf1286": { "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_a93d4cb9d5634bc8a81952de865432a0", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.4/32.4 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.4/32.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "42d220efe6a94cefb78dbb6c32389bfc": { "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_d56c56c428ef44dcbced096ca5ffd160", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "4a158fc66f514cd9a4b0989eba190a09": { "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_e6466685d236482f88e092fd5bca4354", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 10.3/10.3 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m10.3/10.3 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "4b34b41c4d4345ae9ad2d112b9c78fcd": { "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_bedfdd95216d47dca330a933d7d0226f", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "4eaf3a98f00b4391a8f2fc0f95cf33bb": { "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_e47ee112af354e8f9f300d0d503ce1bf", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.4/32.4 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.4/32.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "4eb1ab4a2a4f41a69f93836f8af448ac": { "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 } }, "4f7ecdeac9794f34994bd0fcf6839b92": { "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_b22696d6e2ab47008bbfcd5a6ee5e326", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "50a44137df724e6c941a923a83f6a422": { "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 } }, "5429590f4a60483489aa420920b9863d": { "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 } }, "58ab5ed799b148e08c2d053a59179d9b": { "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_9cd83f78295d4b449e9eeccdd22c2ab3", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "5f11ebbdbec448c9a090077100547def": { "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 } }, "62dac898c51b48e9a57a804a96e7b7cf": { "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 } }, "6b01b964706f4c6fa1eb3e9b86479ee2": { "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 } }, "6c03c9fe5ebc4386ac24ee367398ddfb": { "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 } }, "6cadf1b996534d1bb19875e7b6cd9582": { "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 } }, "75d783f78f9f448b86905a2ed09e4e4b": { "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 } }, "79637f2a2b25467383890c356cbb45dd": { "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_c21c87c6451347e5ada3356b64693c81", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "894ac86112664b128d00c7aecda9bf3d": { "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 } }, "8c74ee50185847628783cc41a575239c": { "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 } }, "8c8aa6871617461782d8c575e138f856": { "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 } }, "8cb2c7e53ea14037b51daaf1cbe25b67": { "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 } }, "8d8e2ec39f1e4557a3bb21313c1d5033": { "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_62dac898c51b48e9a57a804a96e7b7cf", "msg_id": "", "outputs": [ { "data": { "text/html": "
\ud83d\udeb6  Finishing 'beam_steering_metasurface'...\n
\n", "text/plain": "\u001b[32m\ud83d\udeb6 \u001b[0m \u001b[1;32mFinishing 'beam_steering_metasurface'...\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "8e81c890b249483f9f3d51acbe922dbb": { "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_2c9a1e8494414513a2f2a6eff9975899", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.4/32.4 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.4/32.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "8ea9fd74dc014a1292867f95dc9da550": { "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_e07d22cdc8bb49b08db246c7bdb02da5", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "915b6ab54e1044329c84cb27099d13cf": { "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_e10df02a28ed4d74a78f8b68723304b8", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.3/32.3 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.3/32.3 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "9a4ec0c42524406b80158d21f466632e": { "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_6c03c9fe5ebc4386ac24ee367398ddfb", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.4/32.4 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.4/32.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "9cd83f78295d4b449e9eeccdd22c2ab3": { "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 } }, "9eff976168f44aa18accd96af222914d": { "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_894ac86112664b128d00c7aecda9bf3d", "msg_id": "", "outputs": [ { "data": { "text/html": "
\ud83d\udeb6  Starting 'beam_steering_metasurface'...\n
\n", "text/plain": "\u001b[32m\ud83d\udeb6 \u001b[0m \u001b[1;32mStarting 'beam_steering_metasurface'...\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "a7bc269fc2374744935a5ff04fa1bed6": { "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_2468a29b71774a73aba96d7050823fb9", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 1.4/1.4 MB \u2022 8.9 MB/s \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m1.4/1.4 MB\u001b[0m \u2022 \u001b[31m8.9 MB/s\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "a93d4cb9d5634bc8a81952de865432a0": { "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 } }, "ac1800350b4548d8b466b76136e78e40": { "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_5429590f4a60483489aa420920b9863d", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "b19a9292f7eb4aef87a898c9e71d754f": { "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_5f11ebbdbec448c9a090077100547def", "msg_id": "", "outputs": [ { "data": { "text/html": "
L=0.04: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nL=0.06: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nL=0.08: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nL=0.10: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nL=0.11: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nL=0.13: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nL=0.15: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nL=0.17: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nL=0.19: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nL=0.21: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nL=0.22: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nL=0.24: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nL=0.26: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nL=0.28: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\n
\n", "text/plain": "L=0.04: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.06: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.08: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.10: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.11: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.13: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.15: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.17: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.19: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.21: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.22: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.24: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.26: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.28: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "b22696d6e2ab47008bbfcd5a6ee5e326": { "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 } }, "b25c245ff5b44346a6770288457c2cf7": { "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_186efa0aa0ca4c17a5637e437076deef", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.4/32.4 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.4/32.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "b2b79af1ce28457eb9087ef99cb8d5fb": { "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 } }, "b2d13aa7b75f45ec96158a8075582d84": { "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_3ba5d4a25369461e965d8ac45e40a862", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.4/32.4 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.4/32.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "bedfdd95216d47dca330a933d7d0226f": { "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 } }, "c09f8f3c00de4f9bb5c55aef5617e714": { "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_079474161bb947d1b9a2b107ebe4b0f5", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "c21c87c6451347e5ada3356b64693c81": { "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 } }, "c2e021601c20441bacd28c3b8cf014d5": { "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_6b01b964706f4c6fa1eb3e9b86479ee2", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.4/32.4 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.4/32.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "c6b218e836094476baf0aa4fe24173e9": { "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_fd7254f150c84159adfaf00c30a215a2", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.4/32.4 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.4/32.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "caca513f6e6445a7a89d5a4bc9357a8b": { "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 } }, "ce1c78a5588c4f13bc6a83576aa30e4a": { "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_75d783f78f9f448b86905a2ed09e4e4b", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "d56c56c428ef44dcbced096ca5ffd160": { "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 } }, "da6c9fcf49f943fe99f6d36de3c922b4": { "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_8c74ee50185847628783cc41a575239c", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.0/4.0 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.0/4.0 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "dc022f7539164f308a2e294ebfbd0367": { "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_8c8aa6871617461782d8c575e138f856", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.4/32.4 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.4/32.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "e07d22cdc8bb49b08db246c7bdb02da5": { "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 } }, "e10df02a28ed4d74a78f8b68723304b8": { "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 } }, "e47ee112af354e8f9f300d0d503ce1bf": { "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 } }, "e6466685d236482f88e092fd5bca4354": { "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 } }, "e9d14b4ba1f548fc8e59e26b49921fe8": { "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_8cb2c7e53ea14037b51daaf1cbe25b67", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 32.4/32.4 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m32.4/32.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "fb91a2298d9243629a3c7372870a73b2": { "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 } }, "fd7254f150c84159adfaf00c30a215a2": { "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 } }, "fe3707f0b0bf4104be4dbc99b7259209": { "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_caca513f6e6445a7a89d5a4bc9357a8b", "msg_id": "", "outputs": [ { "data": { "text/html": "
% done (field decay = 4.80e-05) \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\n
\n", "text/plain": "% done (field decay = 4.80e-05) \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }