{ "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–6229](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-02-03T03:44:18.309571Z", "iopub.status.busy": "2023-02-03T03:44:18.309205Z", "iopub.status.idle": "2023-02-03T03:44:19.359521Z", "shell.execute_reply": "2023-02-03T03:44:19.359076Z" } }, "outputs": [ { "data": { "text/html": [ "
[21:44:19] WARNING  This version of Tidy3D was pip installed from the 'tidy3d-beta' repository on   __init__.py:103\n",
       "                    PyPI. Future releases will be uploaded to the 'tidy3d' repository. From now on,                \n",
       "                    please use 'pip install tidy3d' instead.                                                       \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:19]\u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING \u001b[0m This version of Tidy3D was pip installed from the \u001b[32m'tidy3d-beta'\u001b[0m repository on \u001b]8;id=396586;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=348833;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py#103\u001b\\\u001b[2m103\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m PyPI. Future releases will be uploaded to the \u001b[32m'tidy3d'\u001b[0m repository. From now on, \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m please use \u001b[32m'pip install tidy3d'\u001b[0m instead. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     Using client version: 1.9.0rc1                                                  __init__.py:121\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Using client version: \u001b[1;36m1.9\u001b[0m.0rc1 \u001b]8;id=421945;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=212976;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py#121\u001b\\\u001b[2m121\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "import tidy3d as td\n", "import tidy3d.web as web" ] }, { "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-02-03T03:44:19.362248Z", "iopub.status.busy": "2023-02-03T03:44:19.361922Z", "iopub.status.idle": "2023-02-03T03:44:19.364329Z", "shell.execute_reply": "2023-02-03T03:44:19.363943Z" } }, "outputs": [], "source": [ "lda0 = 0.85 # central wavelength\n", "freq0 = td.C_0 / lda0 # central frequency" ] }, { "cell_type": "markdown", "id": "76c9939e", "metadata": {}, "source": [ "Define geometric parameters." ] }, { "cell_type": "code", "execution_count": 3, "id": "21eecc0a", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T03:44:19.366513Z", "iopub.status.busy": "2023-02-03T03:44:19.366343Z", "iopub.status.idle": "2023-02-03T03:44:19.368738Z", "shell.execute_reply": "2023-02-03T03:44:19.368387Z" } }, "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" ] }, { "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](https://docs.flexcompute.com/projects/tidy3d/en/v1.9.0rc2/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](https://docs.flexcompute.com/projects/tidy3d/en/v1.9.0rc2/material_library.html?highlight=material%20library)." ] }, { "cell_type": "code", "execution_count": 4, "id": "bc841987", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T03:44:19.370755Z", "iopub.status.busy": "2023-02-03T03:44:19.370598Z", "iopub.status.idle": "2023-02-03T03:44:19.373012Z", "shell.execute_reply": "2023-02-03T03:44:19.372663Z" } }, "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)" ] }, { "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-02-03T03:44:19.375039Z", "iopub.status.busy": "2023-02-03T03:44:19.374886Z", "iopub.status.idle": "2023-02-03T03:44:19.378504Z", "shell.execute_reply": "2023-02-03T03:44:19.378125Z" } }, "outputs": [], "source": [ "# define SiO2 substrate\n", "sub = td.Structure(\n", " geometry=td.Box.from_bounds(rmin=(-inf_eff, -inf_eff, -inf_eff), rmax=(inf_eff, inf_eff, -d3)),\n", " medium=sio2,\n", ")\n", "\n", "# define gold layer\n", "gold_layer = td.Structure(\n", " geometry=td.Box.from_bounds(rmin=(-inf_eff, -inf_eff, -d3), rmax=(inf_eff, inf_eff, 0)),\n", " medium=au,\n", ")\n", "\n", "# define MgF2 spacer layer\n", "spacer = td.Structure(\n", " geometry=td.Box.from_bounds(rmin=(-inf_eff, -inf_eff, 0), rmax=(inf_eff, inf_eff, d2)),\n", " medium=mgf2,\n", ")" ] }, { "cell_type": "markdown", "id": "499e1fd9", "metadata": {}, "source": [ "Define a linearly polarized [PlaneWave](https://docs.flexcompute.com/projects/tidy3d/en/v1.9.0rc2/_autosummary/tidy3d.PlaneWave.html) as the excitation source. The polarization is chosen to be in the y direction. Also define a [DiffractionMonitor](https://docs.flexcompute.com/projects/tidy3d/en/v1.9.0rc2/_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-02-03T03:44:19.380452Z", "iopub.status.busy": "2023-02-03T03:44:19.380329Z", "iopub.status.idle": "2023-02-03T03:44:19.383728Z", "shell.execute_reply": "2023-02-03T03:44:19.383355Z" } }, "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", ")" ] }, { "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-02-03T03:44:19.385729Z", "iopub.status.busy": "2023-02-03T03:44:19.385572Z", "iopub.status.idle": "2023-02-03T03:44:19.390193Z", "shell.execute_reply": "2023-02-03T03:44:19.389813Z" } }, "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(\n", " minus=td.PML(), plus=td.PML()\n", " ),\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(rmin=(-w / 2, -L / 2, d2), rmax=(w / 2, L / 2, d2 + d1)),\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" ] }, { "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-02-03T03:44:19.392351Z", "iopub.status.busy": "2023-02-03T03:44:19.392190Z", "iopub.status.idle": "2023-02-03T03:44:19.553044Z", "shell.execute_reply": "2023-02-03T03:44:19.552624Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "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);" ] }, { "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-02-03T03:44:19.555333Z", "iopub.status.busy": "2023-02-03T03:44:19.555155Z", "iopub.status.idle": "2023-02-03T03:44:19.574333Z", "shell.execute_reply": "2023-02-03T03:44:19.573974Z" } }, "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" ] }, { "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-02-03T03:44:19.576423Z", "iopub.status.busy": "2023-02-03T03:44:19.576263Z", "iopub.status.idle": "2023-02-03T03:49:33.380721Z", "shell.execute_reply": "2023-02-03T03:49:33.380180Z" } }, "outputs": [ { "data": { "text/html": [ "
[21:44:20] INFO     Created task 'L=0.04' with task_id '67f772e1-1e5d-460d-91ac-bc0dcb1cf5e4'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:20]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'67f772e1-1e5d-460d-91ac-bc0dcb1cf5e4'\u001b[0m. \u001b]8;id=905883;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=678078;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2c46c051b0564d58b79317f87e94c63b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:21] INFO     Created task 'L=0.06' with task_id '3bd532d1-e586-4cc5-ae1d-0ead50dbabef'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:21]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'3bd532d1-e586-4cc5-ae1d-0ead50dbabef'\u001b[0m. \u001b]8;id=729387;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=257825;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e790ef46c65d4e69a2d1d29c67b59a1c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:22] INFO     Created task 'L=0.08' with task_id '8807a718-2252-4ce0-8dfd-8be06dc7eef0'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:22]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'8807a718-2252-4ce0-8dfd-8be06dc7eef0'\u001b[0m. \u001b]8;id=799456;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=941521;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "63e041fb597e4baaa9df732d95f2a1b1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:24] INFO     Created task 'L=0.10' with task_id 'fadfc676-928e-41f5-9c3a-7caa93ca8c51'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:24]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'fadfc676-928e-41f5-9c3a-7caa93ca8c51'\u001b[0m. \u001b]8;id=688397;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=602296;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "810203bcac0c4c98b330a8d5fcd2a868",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:25] INFO     Created task 'L=0.11' with task_id '430b6a5d-96d3-4615-8123-a317bb3f63b8'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:25]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'430b6a5d-96d3-4615-8123-a317bb3f63b8'\u001b[0m. \u001b]8;id=730499;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=259264;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c7ab3ef98e8f44049be89ba3ee0915b3",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:26] INFO     Created task 'L=0.13' with task_id 'ffca6e1d-8b40-47e6-a47f-9ab234138a7f'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:26]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'ffca6e1d-8b40-47e6-a47f-9ab234138a7f'\u001b[0m. \u001b]8;id=573569;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=936586;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9d097edde0144523b7ce0d33686761b8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:28] INFO     Created task 'L=0.15' with task_id 'af9d98f1-36a5-4c27-9695-3630f62f5c13'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:28]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'af9d98f1-36a5-4c27-9695-3630f62f5c13'\u001b[0m. \u001b]8;id=355281;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=643653;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "75608aeb45b34de1b69f312b717bc280",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:29] INFO     Created task 'L=0.17' with task_id '9861a44a-d02e-4504-9c72-1ffc98680fa5'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:29]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'9861a44a-d02e-4504-9c72-1ffc98680fa5'\u001b[0m. \u001b]8;id=929516;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=336504;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cd66ee400c4e44898408736896e814d7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:30] INFO     Created task 'L=0.19' with task_id 'fe52ff5e-edc5-492b-92db-38f2345ef892'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:30]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'fe52ff5e-edc5-492b-92db-38f2345ef892'\u001b[0m. \u001b]8;id=519688;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=435228;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "af50802adfaa4e1abd39200b1ee67376",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:32] INFO     Created task 'L=0.21' with task_id 'e6104800-e222-40bf-97f7-ac078972e6ec'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:32]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'e6104800-e222-40bf-97f7-ac078972e6ec'\u001b[0m. \u001b]8;id=756209;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=245809;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "309b0323460a4c63970e155f53e13a97",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:33] INFO     Created task 'L=0.22' with task_id 'e3060b08-dc9c-4b58-a870-46b604e08c8c'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:33]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'e3060b08-dc9c-4b58-a870-46b604e08c8c'\u001b[0m. \u001b]8;id=511049;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=120415;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e840aa792c004f319854049abeddb426",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:34] INFO     Created task 'L=0.24' with task_id 'b201dbd4-6de2-4ad3-94af-25000429ae49'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:34]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'b201dbd4-6de2-4ad3-94af-25000429ae49'\u001b[0m. \u001b]8;id=256145;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=830729;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7b8cca26fa134f3c916f95b54010bd92",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:36] INFO     Created task 'L=0.26' with task_id '1f979a53-cd36-44c2-acf4-551d83a323a3'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:36]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'1f979a53-cd36-44c2-acf4-551d83a323a3'\u001b[0m. \u001b]8;id=720153;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=470334;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0193d1e8434f4aa0b4de7398fd54038c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:37] INFO     Created task 'L=0.28' with task_id '407c9ff2-102b-4644-a466-edc255e3c6d3'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:37]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created 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'407c9ff2-102b-4644-a466-edc255e3c6d3'\u001b[0m. \u001b]8;id=154240;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=686893;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7e973f09dc0048da9229535d0ec39eb7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:44:43] Started working on Batch.                                                               container.py:361\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:44:43]\u001b[0m\u001b[2;36m \u001b[0mStarted working on Batch. \u001b]8;id=865633;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\u001b\\\u001b[2mcontainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=73857;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#361\u001b\\\u001b[2m361\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4f5f11dbefc144c98d72b277ebf632d3",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[21:49:33] Batch complete.                                                                         container.py:382\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[21:49:33]\u001b[0m\u001b[2;36m \u001b[0mBatch complete. \u001b]8;id=129172;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\u001b\\\u001b[2mcontainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=391719;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#382\u001b\\\u001b[2m382\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# submit simulation batch to the server\n", "batch = web.Batch(simulations=sims)\n", "batch_results = batch.run(path_dir=\"data\")" ] }, { "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.status.idle": "2023-02-03T04:01:18.805787Z", "shell.execute_reply": "2023-02-03T04:01:18.805269Z" } }, "outputs": [ { "data": { "text/html": [ "
[22:01:00] INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/67f772e1-1e5d-460d-91ac-bc0dcb1cf5e4.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:00]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=837594;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=526437;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/67f772e1-1e5d-460d-91ac-bc0dcb1cf5e4.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2a06266e8fc44d799414e27f29665812",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:01] INFO     loading SimulationData from data/67f772e1-1e5d-460d-91ac-bc0dcb1cf5e4.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:01]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m67f772e1-1e5d-460d-91ac-bc0dcb1cf5e4\u001b[0m.hdf5 \u001b]8;id=636953;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=949966;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/3bd532d1-e586-4cc5-ae1d-0ead50dbabef.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=763064;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=243780;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/3bd532d1-e586-4cc5-ae1d-0ead50dbabef.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ad640b34f5e847f2909983e973a40c7d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:02] INFO     loading SimulationData from data/3bd532d1-e586-4cc5-ae1d-0ead50dbabef.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:02]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m3bd532d1-e586-4cc5-ae1d-0ead50dbabef\u001b[0m.hdf5 \u001b]8;id=257724;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=64846;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:03] INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/8807a718-2252-4ce0-8dfd-8be06dc7eef0.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:03]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=135123;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=374516;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/8807a718-2252-4ce0-8dfd-8be06dc7eef0.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b6dc4c54428541308d45c9093a5136ce",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:04] INFO     loading SimulationData from data/8807a718-2252-4ce0-8dfd-8be06dc7eef0.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:04]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m8807a718-2252-4ce0-8dfd-8be06dc7eef0\u001b[0m.hdf5 \u001b]8;id=657796;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=25278;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/fadfc676-928e-41f5-9c3a-7caa93ca8c51.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=957558;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=502143;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/fadfc676-928e-41f5-9c3a-7caa93ca8c51.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "26b9455c82814b1da9d7a4fd52e782fb",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:05] INFO     loading SimulationData from data/fadfc676-928e-41f5-9c3a-7caa93ca8c51.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:05]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93mfadfc676-928e-41f5-9c3a-7caa93ca8c51\u001b[0m.hdf5 \u001b]8;id=142443;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=646087;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/430b6a5d-96d3-4615-8123-a317bb3f63b8.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=865063;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=971839;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/430b6a5d-96d3-4615-8123-a317bb3f63b8.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a0bf41771a7541018a01e155dade9da2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:06] INFO     loading SimulationData from data/430b6a5d-96d3-4615-8123-a317bb3f63b8.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:06]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m430b6a5d-96d3-4615-8123-a317bb3f63b8\u001b[0m.hdf5 \u001b]8;id=482320;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=416537;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:07] INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/ffca6e1d-8b40-47e6-a47f-9ab234138a7f.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:07]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=473780;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=223363;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/ffca6e1d-8b40-47e6-a47f-9ab234138a7f.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fec1e2a3a383421ebeeb01a77681db4e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:08] INFO     loading SimulationData from data/ffca6e1d-8b40-47e6-a47f-9ab234138a7f.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:08]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93mffca6e1d-8b40-47e6-a47f-9ab234138a7f\u001b[0m.hdf5 \u001b]8;id=849286;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=107718;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/af9d98f1-36a5-4c27-9695-3630f62f5c13.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=29468;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=499085;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/af9d98f1-36a5-4c27-9695-3630f62f5c13.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4af4f105ef6747f9a7330eb634202753",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:09] INFO     loading SimulationData from data/af9d98f1-36a5-4c27-9695-3630f62f5c13.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:09]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93maf9d98f1-36a5-4c27-9695-3630f62f5c13\u001b[0m.hdf5 \u001b]8;id=330124;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=861377;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/9861a44a-d02e-4504-9c72-1ffc98680fa5.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=273505;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=39943;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/9861a44a-d02e-4504-9c72-1ffc98680fa5.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "43bb46ad7cfe4c1e885fe4878e925479",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:10] INFO     loading SimulationData from data/9861a44a-d02e-4504-9c72-1ffc98680fa5.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:10]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m9861a44a-d02e-4504-9c72-1ffc98680fa5\u001b[0m.hdf5 \u001b]8;id=177167;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=9046;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:11] INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/fe52ff5e-edc5-492b-92db-38f2345ef892.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:11]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=927625;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=111242;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/fe52ff5e-edc5-492b-92db-38f2345ef892.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "87897377994342df93700c1f4f8b1419",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:12] INFO     loading SimulationData from data/fe52ff5e-edc5-492b-92db-38f2345ef892.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:12]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93mfe52ff5e-edc5-492b-92db-38f2345ef892\u001b[0m.hdf5 \u001b]8;id=882943;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=708994;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/e6104800-e222-40bf-97f7-ac078972e6ec.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=162336;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=98111;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/e6104800-e222-40bf-97f7-ac078972e6ec.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "160d29a4f91745d590c24d087ecdaf77",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:13] INFO     loading SimulationData from data/e6104800-e222-40bf-97f7-ac078972e6ec.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:13]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93me6104800-e222-40bf-97f7-ac078972e6ec\u001b[0m.hdf5 \u001b]8;id=960608;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=108010;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/e3060b08-dc9c-4b58-a870-46b604e08c8c.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=36202;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=180626;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/e3060b08-dc9c-4b58-a870-46b604e08c8c.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "93d1558f5a1c4dd491ca8afa5be1a3cf",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:14] INFO     loading SimulationData from data/e3060b08-dc9c-4b58-a870-46b604e08c8c.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:14]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93me3060b08-dc9c-4b58-a870-46b604e08c8c\u001b[0m.hdf5 \u001b]8;id=238983;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=959041;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/b201dbd4-6de2-4ad3-94af-25000429ae49.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=342596;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=694039;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/b201dbd4-6de2-4ad3-94af-25000429ae49.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "994ba9a3e4eb422c9cc30f9c896f52a3",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:16] INFO     loading SimulationData from data/b201dbd4-6de2-4ad3-94af-25000429ae49.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:16]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93mb201dbd4-6de2-4ad3-94af-25000429ae49\u001b[0m.hdf5 \u001b]8;id=200529;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=590693;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/1f979a53-cd36-44c2-acf4-551d83a323a3.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=318251;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=583761;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/1f979a53-cd36-44c2-acf4-551d83a323a3.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "973e24a32d394b09bcff35afa3b3a900",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:17] INFO     loading SimulationData from data/1f979a53-cd36-44c2-acf4-551d83a323a3.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:17]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m1f979a53-cd36-44c2-acf4-551d83a323a3\u001b[0m.hdf5 \u001b]8;id=6003;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=325828;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/407c9ff2-102b-4644-a466-edc255e3c6d3.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=694140;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=507181;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/407c9ff2-102b-4644-a466-edc255e3c6d3.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f43c9e1bc0484be78506d0ee305ea976",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:18] INFO     loading SimulationData from data/407c9ff2-102b-4644-a466-edc255e3c6d3.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:18]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m407c9ff2-102b-4644-a466-edc255e3c6d3\u001b[0m.hdf5 \u001b]8;id=41582;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=48546;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\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]" ] }, { "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-02-03T04:01:18.893714Z", "iopub.status.busy": "2023-02-03T04:01:18.893514Z", "iopub.status.idle": "2023-02-03T04:01:19.157223Z", "shell.execute_reply": "2023-02-03T04:01:19.156788Z" } }, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Reflectivity')" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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/rv3+ejoqNrb26975+/06dM+gdXW1qaCggKfOQ6Hw+c77W63W52dnT7vGP7222+SpPnz5/tzGwCAaYJcAjxopIAwl5ubq7Nnz3qfd3Z2yu12+3ytoqWlRb29vd7AGhwcVHd3t0+oOZ1OXb582WfszJkzMsYoKyvLO9be3q6FCxcqMTExgLsCAExV5BLgQSMFhMDly5fV1tbm87hw4cK4c0tLS9XR0eF996+trU2SVFNTo66uLn355Zd69NFHJUkjIyOSPO/wzZw5UytWrPAe59p30//+/fK2tjZlZmbq1ltv9Y41NTWppKTEr/sFAIQ3cgmwj0YKCIHGxkbl5ub6PHbu3Dnu3KysLK1cuVL19fWSPCFTWlqqn376SVlZWXr++ee1c+dOxcXFac+ePZI8gbV06VKf77CP94vADofD5+sTbrdbBw8e1LZt2/y9ZQBAGCOXAPsijDEm1IsA8O8OHTqkZ555Ru3t7SovL1deXp5eeeUVv5+ntrZWn3/+uY4ePer3YwMApg9yCeDPnwNTwvr169XV1aXe3l45HA499thjATlPZGSkampqAnJsAMD0QS4BfCIFTCkul0spKSnq6OjQ3XffHerlAABucuQSbmY0UgAAAABgE39sAgAAAABsopECAAAAAJtopAAAAADAJhopAAAAALCJRgoAAAAAbKKRAgAAAACbaKQAAAAAwCYaKQAAAACwiUYKAAAAAGyikQIAAAAAm2ikAAAAAMCm/wFanbE+emtDowAAAABJRU5ErkJggg==\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\");" ] }, { "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-02-03T04:01:19.159583Z", "iopub.status.busy": "2023-02-03T04:01:19.159418Z", "iopub.status.idle": "2023-02-03T04:01:19.264477Z", "shell.execute_reply": "2023-02-03T04:01:19.264106Z" }, "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Reflection phase (degree)')" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGwCAYAAABPSaTdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA3TUlEQVR4nO3de3xU1b3///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+c1AQBwJTNF2Hn55Zc1YcIEPfjg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\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)\");" ] }, { "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-02-03T04:01:19.266767Z", "iopub.status.busy": "2023-02-03T04:01:19.266601Z", "iopub.status.idle": "2023-02-03T04:01:19.271256Z", "shell.execute_reply": "2023-02-03T04:01:19.270893Z" } }, "outputs": [], "source": [ "# construct ten antennas given the designed antenna lengths\n", "antennas = []\n", "xs = np.linspace(Lx / 2, (N_sample * N_repeat - 0.5) * Lx, N_sample * N_repeat) # 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]" ] }, { "cell_type": "markdown", "id": "16cf2850", "metadata": {}, "source": [ "To visualize the reflected field, we add a [FieldMonitor](https://docs.flexcompute.com/projects/tidy3d/en/v1.9.0rc2/_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-02-03T04:01:19.273378Z", "iopub.status.busy": "2023-02-03T04:01:19.273220Z", "iopub.status.idle": "2023-02-03T04:01:19.278972Z", "shell.execute_reply": "2023-02-03T04:01:19.278613Z" } }, "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", ")" ] }, { "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-02-03T04:01:19.281056Z", "iopub.status.busy": "2023-02-03T04:01:19.280901Z", "iopub.status.idle": "2023-02-03T04:01:19.413538Z", "shell.execute_reply": "2023-02-03T04:01:19.413159Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "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);" ] }, { "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-02-03T04:01:19.415755Z", "iopub.status.busy": "2023-02-03T04:01:19.415591Z", "iopub.status.idle": "2023-02-03T04:01:19.549106Z", "shell.execute_reply": "2023-02-03T04:01:19.548703Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# visualize the xz plane\n", "sim.plot(y=0);" ] }, { "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-02-03T04:01:19.551538Z", "iopub.status.busy": "2023-02-03T04:01:19.551212Z", "iopub.status.idle": "2023-02-03T04:01:49.388541Z", "shell.execute_reply": "2023-02-03T04:01:49.388048Z" } }, "outputs": [ { "data": { "text/html": [ "
[22:01:19] INFO     Created task 'beam_steering_metasurface' with task_id                             webapi.py:120\n",
       "                    '6133095a-e49f-4341-bbe2-4262bc27d590'.                                                        \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:19]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'beam_steering_metasurface'\u001b[0m with task_id \u001b]8;id=138568;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=809594;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m'6133095a-e49f-4341-bbe2-4262bc27d590'\u001b[0m. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fcea85617f3544588594aed4638545ed",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:21] INFO     Maximum FlexUnit cost: 0.025                                                      webapi.py:253\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:21]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Maximum FlexUnit cost: \u001b[1;36m0.025\u001b[0m \u001b]8;id=588694;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=693087;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#253\u001b\\\u001b[2m253\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     status = queued                                                                   webapi.py:262\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m status = queued \u001b]8;id=195780;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=443790;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#262\u001b\\\u001b[2m262\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c13d59fa7a734e12b625e0eb918c7866",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
[22:01:24] INFO     status = preprocess                                                               webapi.py:274\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:24]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m status = preprocess \u001b]8;id=575158;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=652242;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#274\u001b\\\u001b[2m274\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h\r", "\u001b[1A\u001b[2K" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:28] INFO     starting up solver                                                                webapi.py:278\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:28]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m starting up solver \u001b]8;id=375451;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=316452;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#278\u001b\\\u001b[2m278\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:38] INFO     running solver                                                                    webapi.py:284\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:38]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m running solver \u001b]8;id=319254;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=331295;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#284\u001b\\\u001b[2m284\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2ca1f9c0d26a4f2c83f4b0430de20c70",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     status = postprocess                                                              webapi.py:301\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m status = postprocess \u001b]8;id=44596;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=464316;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#301\u001b\\\u001b[2m301\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a1bafe2359c6411dbaf587c46c4e6e72",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
[22:01:46] INFO     status = success                                                                  webapi.py:307\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:46]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m status = success \u001b]8;id=748176;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=503792;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#307\u001b\\\u001b[2m307\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h\r", "\u001b[1A\u001b[2K" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:47] INFO     Billed FlexUnit cost: 0.025                                                       webapi.py:311\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:47]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Billed FlexUnit cost: \u001b[1;36m0.025\u001b[0m \u001b]8;id=366628;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=799922;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#311\u001b\\\u001b[2m311\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     downloading file \"output/monitor_data.hdf5\" to \"data/simulation_data.hdf5\"        webapi.py:593\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b[32m\"data/simulation_data.hdf5\"\u001b[0m \u001b]8;id=515200;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=56290;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7d7189c2c1e9479193c199d06fd902f1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[22:01:49] INFO     loading SimulationData from data/simulation_data.hdf5                             webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[22:01:49]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/simulation_data.hdf5 \u001b]8;id=658522;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=108599;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "job = web.Job(simulation=sim, task_name=\"beam_steering_metasurface\")\n", "sim_data = job.run(path=\"data/simulation_data.hdf5\")" ] }, { "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](https://docs.flexcompute.com/projects/tidy3d/en/v1.9.0rc2/_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-02-03T04:01:49.723527Z", "iopub.status.busy": "2023-02-03T04:01:49.723415Z", "iopub.status.idle": "2023-02-03T04:01:50.057970Z", "shell.execute_reply": "2023-02-03T04:01:50.057532Z" }, "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "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();" ] }, { "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-02-03T04:01:50.060290Z", "iopub.status.busy": "2023-02-03T04:01:50.060138Z", "iopub.status.idle": "2023-02-03T04:01:50.232257Z", "shell.execute_reply": "2023-02-03T04:01:50.231872Z" } }, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Power')" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "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/3379unAgQOaOHGit83j8UiSOnXqpD179mjgwIE+y9jtdtnt9ibVBQAALlzNCjenTp2Sw+HQ2LFjNXbs2GZvPCgoSKNGjVJeXp73dm6Px6O8vDzde++9dfpfeeWV2rFjh0/bI488ouPHj+vpp5/mlBMAAGheuOnRo4fi4+OVlJSk73//+0pMTFSXLl2aVUBGRobS0tIUFxen+Ph4LVmyRFVVVUpPT5ckTZ06VZGRkcrJyZHD4dCwYcPq1CKpTjsAALg4NSvcbN68Wf/4xz+0detW/e53v9OZM2cUFxenpKQkjRs3Ttdff32j15WamqojR44oKytLLpdLsbGxys3N9V5kXFJSooCAZj9IGQAAXGRa/NtSZ86c0bZt2/Tss89qzZo18ng8qq2tba36Wh2/LQUAwIWnKd/fzTpyI339TJutW7d6p+rqat10000aN25cc1cJAADQYs0KN5GRkTp58qTGjRuncePGaebMmRo+fLhsNltr1wcAANAkzbqY5dJLL9WJEyfkcrnkcrlUVlamkydPtnZtAAAATdascPPhhx/K5XJp1qxZqq6u1sMPP6zQ0FCNGTNGs2fPbu0aAQAAGq3FFxR/9dVX2rp1qzZs2KC//OUvXFAMAABaXZtfULx+/XrvhcS7d+9Wr169NHbsWD311FNKSkpqVtEAAACtoVlHbnr37q1rrrlG48aNU1JSkqKjo9uitjbBkRsAAC48bX7k5vDhw80qDAAAoK01+zk3tbW1eu2111RcXCxJGjp0qCZNmqTAwMBWKw4AAKCpmhVu9u7dqxtvvFEHDx7U4MGDJUk5OTmKiorSm2++WeeXuQEAANpLs24Fv++++zRw4ECVlpaqqKhIRUVFKikpUf/+/XXfffe1do0AAACN1qwjN//3f/+n9957T7169fK2XXLJJVqwYIGuvvrqVisOAACgqZp15MZut+v48eN12isrKxUUFNTiogAAAJqrWeHmpptu0p133qn3339fxhgZY/Tee+/prrvu0g9/+MPWrhEAAKDRmhVufv/732vQoEEaM2aMHA6HHA6Hrr76ag0aNEhPP/10a9cIAADQaE265sbj8WjhwoV6/fXXVVNTo5tvvllpaWmy2WwaMmSIBg0a1FZ1AgAANEqTws1jjz2mRx99VMnJyerSpYs2btwop9Op1atXt1V9AAAATdKk01J/+tOf9Ic//EGbNm3Sa6+9pjfeeENr1qyRx+Npq/oAAACapEnhpqSkRDfeeKP3dXJysmw2m7788stWLwwAAKA5mhRuzpw5I4fD4dPWuXNnnT59ulWLAgAAaK4mXXNjjNG0adNkt9u9badOndJdd92lrl27etvWr1/fehUCAAA0QZPCTVpaWp2222+/vdWKAQAAaKkmhZvnnnuureoAAABoFc16iB8AAEBHRbgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACW0iHCzbJly9SvXz85HA4lJCSooKCgwb7r169XXFycevTooa5duyo2NlZ//vOf27FaAADQkfk93Kxbt04ZGRnKzs5WUVGRYmJilJKSosOHD9fbv1evXpo9e7by8/P18ccfKz09Xenp6dq0aVM7Vw4AADoimzHG+LOAhIQEjR49WkuXLpUkeTweRUVFacaMGZo1a1aj1jFy5EhNmDBB8+fPrzOvurpa1dXV3tcVFRWKioqS2+1WSEhI6wwCAAC0qYqKCjmdzkZ9f/v1yE1NTY0KCwuVnJzsbQsICFBycrLy8/PPu7wxRnl5edqzZ4+uueaaevvk5OTI6XR6p6ioqFarHwAAdDx+DTfl5eWqra1VWFiYT3tYWJhcLleDy7ndbnXr1k1BQUGaMGGCnnnmGV1//fX19s3MzJTb7fZOpaWlrToGAADQsXTydwHN0b17d3344YeqrKxUXl6eMjIyNGDAAI0bN65OX7vdLrvd3v5FAgAAv/BruAkNDVVgYKDKysp82svKyhQeHt7gcgEBARo0aJAkKTY2VsXFxcrJyak33AAAgIuLX09LBQUFadSoUcrLy/O2eTwe5eXlKTExsdHr8Xg8PhcNAwCAi5ffT0tlZGQoLS1NcXFxio+P15IlS1RVVaX09HRJ0tSpUxUZGamcnBxJX18gHBcXp4EDB6q6ulobN27Un//8Zy1fvtyfwwAAAB2E38NNamqqjhw5oqysLLlcLsXGxio3N9d7kXFJSYkCAr45wFRVVaVf/vKX+uKLL9SlSxddeeWVevHFF5WamuqvIQAAgA7E78+5aW9NuU8eAAB0DBfMc24AAABaG+EGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYSocIN8uWLVO/fv3kcDiUkJCggoKCBvuuXLlS3/ve99SzZ0/17NlTycnJ5+wPAAAuLn4PN+vWrVNGRoays7NVVFSkmJgYpaSk6PDhw/X237p1qyZPnqwtW7YoPz9fUVFRuuGGG3Tw4MF2rhwAAHRENmOM8WcBCQkJGj16tJYuXSpJ8ng8ioqK0owZMzRr1qzzLl9bW6uePXtq6dKlmjp16nn7V1RUyOl0yu12KyQkpMX1AwCAtteU72+/HrmpqalRYWGhkpOTvW0BAQFKTk5Wfn5+o9Zx4sQJnT59Wr169ap3fnV1tSoqKnwmAABgXX4NN+Xl5aqtrVVYWJhPe1hYmFwuV6PWMXPmTPXp08cnIH1bTk6OnE6nd4qKimpx3QAAoOPy+zU3LbFgwQKtXbtWr776qhwOR719MjMz5Xa7vVNpaWk7VwkAANpTJ39uPDQ0VIGBgSorK/NpLysrU3h4+DmXXbRokRYsWKDNmzdr+PDhDfaz2+2y2+2tUi8AAOj4/HrkJigoSKNGjVJeXp63zePxKC8vT4mJiQ0u9+STT2r+/PnKzc1VXFxce5QKAAAuEH49ciNJGRkZSktLU1xcnOLj47VkyRJVVVUpPT1dkjR16lRFRkYqJydHkvTEE08oKytLL730kvr16+e9Nqdbt27q1q2b38YBAAA6Br+Hm9TUVB05ckRZWVlyuVyKjY1Vbm6u9yLjkpISBQR8c4Bp+fLlqqmp0Y9//GOf9WRnZ+vRRx9tz9IBAEAH5Pfn3LQ3nnMDAMCF54J5zg0AAEBrI9wAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABL8Xu4WbZsmfr16yeHw6GEhAQVFBQ02HfXrl265ZZb1K9fP9lsNi1ZsqT9CgUAABcEv4abdevWKSMjQ9nZ2SoqKlJMTIxSUlJ0+PDhevufOHFCAwYM0IIFCxQeHt7O1QIAgAuBX8PN4sWLNX36dKWnp2vo0KFasWKFgoODtXr16nr7jx49WgsXLtStt94qu93eztUCAIALgd/CTU1NjQoLC5WcnPxNMQEBSk5OVn5+fqttp7q6WhUVFT4TAACwLr+Fm/LyctXW1iosLMynPSwsTC6Xq9W2k5OTI6fT6Z2ioqJabd0AAKDj8fsFxW0tMzNTbrfbO5WWlvq7JAAA0IY6+WvDoaGhCgwMVFlZmU97WVlZq14sbLfbuT4HAICLiN+O3AQFBWnUqFHKy8vztnk8HuXl5SkxMdFfZQEAgAuc347cSFJGRobS0tIUFxen+Ph4LVmyRFVVVUpPT5ckTZ06VZGRkcrJyZH09UXIu3fv9v754MGD+vDDD9WtWzcNGjTIb+MAAAAdh1/DTWpqqo4cOaKsrCy5XC7FxsYqNzfXe5FxSUmJAgK+Obj05ZdfasSIEd7XixYt0qJFi5SUlKStW7e2d/kAAKADshljjL+LaE8VFRVyOp1yu90KCQnxdzkAAKARmvL9bfm7pQAAwMWFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACzFr78KbiW1HqOC/Ud1+Pgp9e7uUHz/XgoMsPm7LAAALjqEm1aQu/OQ5r6xW4fcp7xtEU6HsicO1fhhEX6sDACAiw+npVood+ch3f1ikU+wkSSX+5TufrFIuTsP+akyAAAuToSbFqj1GM19Y7dMPfPOts19Y7dqPfX1AAAAbYFw0wIF+4/WOWLzbUbSIfcpFew/2n5FAQBwkSPctMDh4w0Hm+b0AwAALUe4aYHe3R2t2g8AALQc4aYF4vv3UoTToYZu+Lbp67um4vv3as+yAAC4qBFuWiAwwKbsiUMlqU7AOfs6e+JQnncDAEA7Ity00PhhEVp++0iFO31PPYU7HVp++0iecwMAQDvjIX6tYPywCF0/NJwnFAMA0AEQblpJYIBNiQMv8XcZAABc9DgtBQAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIXn3ACwhFqP4UGaACQRbgBYQO7OQ5r7xm4dcp/ytkU4HcqeOJSfQAEuQh3itNSyZcvUr18/ORwOJSQkqKCg4Jz9X375ZV155ZVyOByKjo7Wxo0b26lSAB1N7s5DuvvFIp9gI0ku9ynd/WKRcnce8lNlAPzF7+Fm3bp1ysjIUHZ2toqKihQTE6OUlBQdPny43v7//Oc/NXnyZN1xxx3avn27br75Zt18883auXNnO1cOwN9qPUZz39gtU8+8s21z39itWk99PQBYlc0Y49dPfUJCgkaPHq2lS5dKkjwej6KiojRjxgzNmjWrTv/U1FRVVVXpb3/7m7ftqquuUmxsrFasWHHe7VVUVMjpdMrtdiskJKT1BgKg3eXv+0qTV7533n5/mX4Vv/0GXOCa8v3t1yM3NTU1KiwsVHJysrctICBAycnJys/Pr3eZ/Px8n/6SlJKS0mD/6upqVVRU+EwArOHw8VPn79SEfgCswa/hpry8XLW1tQoLC/NpDwsLk8vlqncZl8vVpP45OTlyOp3eKSoqqnWKB+B3vbs7WrUfAGvw+zU3bS0zM1Nut9s7lZaW+rskAK0kvn8vRTgdauiGb5u+vmsqvn+v9iwLgJ/5NdyEhoYqMDBQZWVlPu1lZWUKDw+vd5nw8PAm9bfb7QoJCfGZAFhDYIBN2ROHSlKdgHP2dfbEoTzvBrjI+DXcBAUFadSoUcrLy/O2eTwe5eXlKTExsd5lEhMTffpL0ttvv91gfwDWNn5YhJbfPlLhTt9TT+FOh5bfPpLn3AAXIb8/xC8jI0NpaWmKi4tTfHy8lixZoqqqKqWnp0uSpk6dqsjISOXk5EiS7r//fiUlJempp57ShAkTtHbtWn3wwQf64x//6M9hAPCj8cMidP3QcJ5QDEBSBwg3qampOnLkiLKysuRyuRQbG6vc3FzvRcMlJSUKCPjmANOYMWP00ksv6ZFHHtHDDz+syy+/XK+99pqGDRvmryEA6AACA2zc7g1AUgd4zk174zk3AABceC6Y59wAAAC0NsINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFL8/obi9nX1mYUVFhZ8rAQAAjXX2e7sxzx6+6MLN8ePHJUlRUVF+rgQAADTV8ePH5XQ6z9nnovv5BY/Hoy+//FLdu3eXzda6P6pXUVGhqKgolZaWWvKnHaw+Psn6Y2R8Fz6rj5HxXfjaaozGGB0/flx9+vTx+c3J+lx0R24CAgL0ne98p023ERISYtm/tJL1xydZf4yM78Jn9TEyvgtfW4zxfEdszuKCYgAAYCmEGwAAYCmEm1Zkt9uVnZ0tu93u71LahNXHJ1l/jIzvwmf1MTK+C19HGONFd0ExAACwNo7cAAAASyHcAAAASyHcAAAASyHcAAAASyHcNMFjjz2mMWPGKDg4WD169GjUMsYYZWVlKSIiQl26dFFycrI+++wznz5Hjx7VT3/6U4WEhKhHjx664447VFlZ2QYjOL+m1nLgwAHZbLZ6p5dfftnbr775a9eubY8h+WjOez1u3Lg6td91110+fUpKSjRhwgQFBwerd+/eeuihh3TmzJm2HEq9mjq+o0ePasaMGRo8eLC6dOmiyy67TPfdd5/cbrdPP3/uv2XLlqlfv35yOBxKSEhQQUHBOfu//PLLuvLKK+VwOBQdHa2NGzf6zG/MZ7I9NWV8K1eu1Pe+9z317NlTPXv2VHJycp3+06ZNq7Ovxo8f39bDOKemjPH555+vU7/D4fDpcyHvw/r+PbHZbJowYYK3T0fah//4xz80ceJE9enTRzabTa+99tp5l9m6datGjhwpu92uQYMG6fnnn6/Tp6mf6yYzaLSsrCyzePFik5GRYZxOZ6OWWbBggXE6nea1114zH330kfnhD39o+vfvb06ePOntM378eBMTE2Pee+898//+3/8zgwYNMpMnT26jUZxbU2s5c+aMOXTokM80d+5c061bN3P8+HFvP0nmueee8+n37fegvTTnvU5KSjLTp0/3qd3tdnvnnzlzxgwbNswkJyeb7du3m40bN5rQ0FCTmZnZ1sOpo6nj27Fjh/nRj35kXn/9dbN3716Tl5dnLr/8cnPLLbf49PPX/lu7dq0JCgoyq1evNrt27TLTp083PXr0MGVlZfX2f/fdd01gYKB58sknze7du80jjzxiOnfubHbs2OHt05jPZHtp6vhuu+02s2zZMrN9+3ZTXFxspk2bZpxOp/niiy+8fdLS0sz48eN99tXRo0fba0h1NHWMzz33nAkJCfGp3+Vy+fS5kPfhV1995TO2nTt3msDAQPPcc895+3Skfbhx40Yze/Zss379eiPJvPrqq+fs/69//csEBwebjIwMs3v3bvPMM8+YwMBAk5ub6+3T1PesOQg3zfDcc881Ktx4PB4THh5uFi5c6G07duyYsdvt5i9/+Ysxxpjdu3cbSWbbtm3ePm+99Zax2Wzm4MGDrV77ubRWLbGxseZnP/uZT1tjPhRtrbnjS0pKMvfff3+D8zdu3GgCAgJ8/gFevny5CQkJMdXV1a1Se2O01v7761//aoKCgszp06e9bf7af/Hx8eaee+7xvq6trTV9+vQxOTk59fb/yU9+YiZMmODTlpCQYH7xi18YYxr3mWxPTR3ffzpz5ozp3r27eeGFF7xtaWlpZtKkSa1darM1dYzn+/fVavvwd7/7nenevbuprKz0tnW0fXhWY/4d+M1vfmO++93v+rSlpqaalJQU7+uWvmeNwWmpNrR//365XC4lJyd725xOpxISEpSfny9Jys/PV48ePRQXF+ftk5ycrICAAL3//vvtWm9r1FJYWKgPP/xQd9xxR51599xzj0JDQxUfH6/Vq1c36mfrW1NLxrdmzRqFhoZq2LBhyszM1IkTJ3zWGx0drbCwMG9bSkqKKioqtGvXrtYfSANa6++S2+1WSEiIOnXy/em59t5/NTU1Kiws9Pn8BAQEKDk52fv5+U/5+fk+/aWv98XZ/o35TLaX5ozvP504cUKnT59Wr169fNq3bt2q3r17a/Dgwbr77rv11VdftWrtjdXcMVZWVqpv376KiorSpEmTfD5HVtuHq1at0q233qquXbv6tHeUfdhU5/sMtsZ71hgX3Q9ntieXyyVJPl96Z1+fnedyudS7d2+f+Z06dVKvXr28fdpLa9SyatUqDRkyRGPGjPFpnzdvnq699loFBwfr73//u375y1+qsrJS9913X6vVfz7NHd9tt92mvn37qk+fPvr44481c+ZM7dmzR+vXr/eut759fHZee2mN/VdeXq758+frzjvv9Gn3x/4rLy9XbW1tve/tJ598Uu8yDe2Lb3/ezrY11Ke9NGd8/2nmzJnq06ePzxfF+PHj9aMf/Uj9+/fXvn379PDDD+sHP/iB8vPzFRgY2KpjOJ/mjHHw4MFavXq1hg8fLrfbrUWLFmnMmDHatWuXvvOd71hqHxYUFGjnzp1atWqVT3tH2odN1dBnsKKiQidPntS///3vFv+9b4yLPtzMmjVLTzzxxDn7FBcX68orr2ynilpfY8fYUidPntRLL72kOXPm1Jn37bYRI0aoqqpKCxcubJUvx7Ye37e/6KOjoxUREaHrrrtO+/bt08CBA5u93sZqr/1XUVGhCRMmaOjQoXr00Ud95rXl/kPzLFiwQGvXrtXWrVt9Lri99dZbvX+Ojo7W8OHDNXDgQG3dulXXXXedP0ptksTERCUmJnpfjxkzRkOGDNGzzz6r+fPn+7Gy1rdq1SpFR0crPj7ep/1C34cdwUUfbh588EFNmzbtnH0GDBjQrHWHh4dLksrKyhQREeFtLysrU2xsrLfP4cOHfZY7c+aMjh496l2+pRo7xpbW8sorr+jEiROaOnXqefsmJCRo/vz5qq6ubvHvj7TX+M5KSEiQJO3du1cDBw5UeHh4nSv9y8rKJKlV9mF7jO/48eMaP368unfvrldffVWdO3c+Z//W3H8NCQ0NVWBgoPe9PKusrKzB8YSHh5+zf2M+k+2lOeM7a9GiRVqwYIE2b96s4cOHn7PvgAEDFBoaqr1797b7F2NLxnhW586dNWLECO3du1eSdfZhVVWV1q5dq3nz5p13O/7ch03V0GcwJCREXbp0UWBgYIv/TjRKq129cxFp6gXFixYt8ra53e56Lyj+4IMPvH02bdrk1wuKm1tLUlJSnbtsGvLb3/7W9OzZs9m1NkdrvdfvvPOOkWQ++ugjY8w3FxR/+0r/Z5991oSEhJhTp0613gDOo7njc7vd5qqrrjJJSUmmqqqqUdtqr/0XHx9v7r33Xu/r2tpaExkZec4Lim+66SaftsTExDoXFJ/rM9memjo+Y4x54oknTEhIiMnPz2/UNkpLS43NZjMbNmxocb3N0ZwxftuZM2fM4MGDza9+9StjjDX2oTFff4/Y7XZTXl5+3m34ex+epUZeUDxs2DCftsmTJ9e5oLglfycaVWurreki8Pnnn5vt27d7b3Xevn272b59u88tz4MHDzbr16/3vl6wYIHp0aOH2bBhg/n444/NpEmT6r0VfMSIEeb9998377zzjrn88sv9eiv4uWr54osvzODBg83777/vs9xnn31mbDabeeutt+qs8/XXXzcrV640O3bsMJ999pn5wx/+YIKDg01WVlabj+c/NXV8e/fuNfPmzTMffPCB2b9/v9mwYYMZMGCAueaaa7zLnL0V/IYbbjAffvihyc3NNZdeeqnfbgVvyvjcbrdJSEgw0dHRZu/evT63np45c8YY49/9t3btWmO3283zzz9vdu/ebe68807To0cP751pU6ZMMbNmzfL2f/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');" ] }, { "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-02-03T04:01:50.234478Z", "iopub.status.busy": "2023-02-03T04:01:50.234306Z", "iopub.status.idle": "2023-02-03T04:01:50.395992Z", "shell.execute_reply": "2023-02-03T04:01:50.395594Z" }, "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\")" ] } ], "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": { "0193d1e8434f4aa0b4de7398fd54038c": { "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_b77641ae6763468c87f802086cea5c97", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "05325adc7e4142279da54d99d70f732a": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "0629c9b65f64423c8f4fb18744bbb130": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "0cce78236ded438587390addddc7ddd8": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "160d29a4f91745d590c24d087ecdaf77": { "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_d1dbfda6e6624e7a8af55330398fa9c2", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "25effd8418194712a90709bcd9499fee": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "26b9455c82814b1da9d7a4fd52e782fb": { "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_6151cf68fd97461ba4f87d8eb18f8a3c", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "2a06266e8fc44d799414e27f29665812": { "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_e54c108d0c234aeea99e75ef0b0802ff", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "2c46c051b0564d58b79317f87e94c63b": { "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_3923867c5fe54d119362449c9cc7f99f", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "2ca1f9c0d26a4f2c83f4b0430de20c70": { "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_667f9075f9c14a578d90644662744d0d", "msg_id": "", "outputs": [ { "data": { "text/html": "
% done (field decay = 6.42e-06) ━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━  60% 0:00:04\n% done (field decay = 6.42e-06) ━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━  60% 0:00:04
\n", "text/plain": "\r\u001b[2K% done (field decay = 6.42e-06) \u001b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;237m╺\u001b[0m\u001b[38;5;237m━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 60%\u001b[0m \u001b[36m0:00:04\u001b[0m\n% done (field decay = 6.42e-06) \u001b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;237m╺\u001b[0m\u001b[38;5;237m━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 60%\u001b[0m \u001b[36m0:00:04\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "309b0323460a4c63970e155f53e13a97": { "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_a0fd15fa62d74b5181094a3d50301c70", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "30eac6e96ea14edbbab2856969af57eb": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "3617cc581aed4bc3b74ac3cd418d5812": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "3923867c5fe54d119362449c9cc7f99f": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "43bb46ad7cfe4c1e885fe4878e925479": { "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_62463532656b4ffd97600250058b9cbd", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "4535a5ba7bc54e9ea4e51d7c7666b052": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "4af4f105ef6747f9a7330eb634202753": { "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_768b25e287914c039404149efb3a5553", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "4f5f11dbefc144c98d72b277ebf632d3": { "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_0cce78236ded438587390addddc7ddd8", "msg_id": "", "outputs": [ { "data": { "text/html": "
L=0.04: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.06: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.08: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.10: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.11: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.13: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.15: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.17: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.19: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.21: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.22: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.24: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.26: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.28: status = postprocess ━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━  71% 0:00:06\nL=0.04: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.06: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.08: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.10: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.11: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.13: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.15: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.17: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.19: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.21: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.22: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.24: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.26: status = success     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nL=0.28: status = postprocess ━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━  71% 0:00:06
\n", "text/plain": "\r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2KL=0.04: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.06: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.08: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.10: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.11: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.13: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.15: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.17: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.19: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.21: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.22: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.24: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.26: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.28: status = postprocess \u001b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;249;38;114m╸\u001b[0m\u001b[38;5;237m━━━━━━━━━━━\u001b[0m \u001b[35m 71%\u001b[0m \u001b[36m0:00:06\u001b[0m\nL=0.04: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.06: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.08: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.10: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.11: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.13: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.15: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.17: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.19: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.21: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.22: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.24: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.26: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nL=0.28: status = postprocess \u001b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;249;38;114m╸\u001b[0m\u001b[38;5;237m━━━━━━━━━━━\u001b[0m \u001b[35m 71%\u001b[0m \u001b[36m0:00:06\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "5c3e7512744d446c90591c2265c79f46": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5dab361c826847c48d71991a2319b45a": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6151cf68fd97461ba4f87d8eb18f8a3c": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "62463532656b4ffd97600250058b9cbd": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "626f4a3e4ca64633bdb7eb5360d44820": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "63e041fb597e4baaa9df732d95f2a1b1": { "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_c9e3a9218884475791b090d04efdbdcb", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "667f9075f9c14a578d90644662744d0d": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "75608aeb45b34de1b69f312b717bc280": { "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_b7cd7c12b3724e15bf52dd3758e7e29f", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "768b25e287914c039404149efb3a5553": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7b8cca26fa134f3c916f95b54010bd92": { "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_25effd8418194712a90709bcd9499fee", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "7bab7120c2f4479f8644133a769da79f": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7d7189c2c1e9479193c199d06fd902f1": { "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_05325adc7e4142279da54d99d70f732a", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━ 58.1%0.8/1.4 MB2.1 MB/s0:00:01\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━ 58.1%0.8/1.4 MB2.1 MB/s0:00:01
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;237m╺\u001b[0m\u001b[38;5;237m━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m58.1%\u001b[0m • \u001b[32m0.8/1.4 MB\u001b[0m • \u001b[31m2.1 MB/s\u001b[0m • \u001b[36m0:00:01\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;237m╺\u001b[0m\u001b[38;5;237m━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m58.1%\u001b[0m • \u001b[32m0.8/1.4 MB\u001b[0m • \u001b[31m2.1 MB/s\u001b[0m • \u001b[36m0:00:01\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "7e973f09dc0048da9229535d0ec39eb7": { "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_868c90a5b7b649b08ba024192b44d9cb", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "810203bcac0c4c98b330a8d5fcd2a868": { "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_30eac6e96ea14edbbab2856969af57eb", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "868c90a5b7b649b08ba024192b44d9cb": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "87897377994342df93700c1f4f8b1419": { "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_0629c9b65f64423c8f4fb18744bbb130", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "93d1558f5a1c4dd491ca8afa5be1a3cf": { "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_c133021dbbde45f4bf3f2f7571521b25", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "973e24a32d394b09bcff35afa3b3a900": { "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_c7ae96b09b0c42c6ae4eb4e4b3ffdcc0", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "994ba9a3e4eb422c9cc30f9c896f52a3": { "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_e5b09ef7645b4d7f8e142bc97e8a5dc6", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "9d097edde0144523b7ce0d33686761b8": { "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_b6c671923cfa4403a4d857c70b7d1e4a", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "a0bf41771a7541018a01e155dade9da2": { "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_7bab7120c2f4479f8644133a769da79f", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "a0fd15fa62d74b5181094a3d50301c70": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "a1670abed4c04e11ab13b78f93f39900": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "a1bafe2359c6411dbaf587c46c4e6e72": { "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_f91d42d3f1254e93b412125be19fb22a", "msg_id": "", "outputs": [ { "data": { "text/html": "
🚶  Finishing 'beam_steering_metasurface'...\n🚶  Finishing 'beam_steering_metasurface'...
\n", "text/plain": "\r\u001b[2K\u001b[32m🚶 \u001b[0m \u001b[1;32mFinishing 'beam_steering_metasurface'...\u001b[0m\n\u001b[32m🚶 \u001b[0m \u001b[1;32mFinishing 'beam_steering_metasurface'...\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "a250ffec178c4dc293b272bc4e6da1cd": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "aa0e0a19476e495a8def1289323f4b2e": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "ad640b34f5e847f2909983e973a40c7d": { "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_5c3e7512744d446c90591c2265c79f46", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "af50802adfaa4e1abd39200b1ee67376": { "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_a1670abed4c04e11ab13b78f93f39900", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "b6c671923cfa4403a4d857c70b7d1e4a": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b6dc4c54428541308d45c9093a5136ce": { "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_a250ffec178c4dc293b272bc4e6da1cd", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "b77641ae6763468c87f802086cea5c97": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b7cd7c12b3724e15bf52dd3758e7e29f": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "c133021dbbde45f4bf3f2f7571521b25": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "c13d59fa7a734e12b625e0eb918c7866": { "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_626f4a3e4ca64633bdb7eb5360d44820", "msg_id": "", "outputs": [ { "data": { "text/html": "
🏃  Starting 'beam_steering_metasurface'...\n🏃  Starting 'beam_steering_metasurface'...
\n", "text/plain": "\r\u001b[2K\u001b[32m🏃 \u001b[0m \u001b[1;32mStarting 'beam_steering_metasurface'...\u001b[0m\n\u001b[32m🏃 \u001b[0m \u001b[1;32mStarting 'beam_steering_metasurface'...\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "c7ab3ef98e8f44049be89ba3ee0915b3": { "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_f80694a0071442239ed53af26302c737", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "c7ae96b09b0c42c6ae4eb4e4b3ffdcc0": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "c9e3a9218884475791b090d04efdbdcb": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "cba1b416d009421ba3631a9d0ea23eee": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "cd66ee400c4e44898408736896e814d7": { "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_3617cc581aed4bc3b74ac3cd418d5812", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "d1dbfda6e6624e7a8af55330398fa9c2": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e54c108d0c234aeea99e75ef0b0802ff": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e5b09ef7645b4d7f8e142bc97e8a5dc6": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e790ef46c65d4e69a2d1d29c67b59a1c": { "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_4535a5ba7bc54e9ea4e51d7c7666b052", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "e840aa792c004f319854049abeddb426": { "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_5dab361c826847c48d71991a2319b45a", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/4.0 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/4.0 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "e84f88fb7b514bfe84c3265a88fc762f": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f43c9e1bc0484be78506d0ee305ea976": { "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_cba1b416d009421ba3631a9d0ea23eee", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "f80694a0071442239ed53af26302c737": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f91d42d3f1254e93b412125be19fb22a": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": 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, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "fcea85617f3544588594aed4638545ed": { "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_aa0e0a19476e495a8def1289323f4b2e", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/10.3 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/10.3 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/10.3 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/10.3 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "fec1e2a3a383421ebeeb01a77681db4e": { "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_e84f88fb7b514bfe84c3265a88fc762f", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/24.8 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/24.8 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }