{ "cells": [ { "cell_type": "markdown", "id": "60244b2c", "metadata": {}, "source": [ "## Photonic crystal slab band structure calculation\n", "\n", "In this notebook, we simulate a photonic crystal slab consisting of a square lattice of air holes in a dielectric slab. Our goal is to compute the band structure of this photonic crystal slab, as found in:\n", "\n", "> Shanhui Fan and J. D. Joannopoulos, \"Analysis of guided resonances in photonic crystal slabs,\" Phys. Rev. B 65, 235112 (2002).\n", "\n", "To this end, we excite the structure with several `PointDipole` sources, and we measure the response with several `FieldTimeMonitor` monitors. We excite modes with a fixed Bloch wavevector by using Bloch boundary conditions. We then use the `ResonanceFinder` to find the resonant frequencies. By sweeping the Bloch wavevector, we obtain the full band structure of the photonic crystal slab.\n", "\n", "See also the api reference for `ResonanceFinder` [here](https://docs.flexcompute.com/projects/tidy3d/en/v1.9.0rc1/_autosummary/tidy3d.plugins.ResonanceFinder.html)." ] }, { "cell_type": "code", "execution_count": 1, "id": "193cb096", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T05:01:47.316746Z", "iopub.status.busy": "2023-02-03T05:01:47.316281Z", "iopub.status.idle": "2023-02-03T05:01:48.387709Z", "shell.execute_reply": "2023-02-03T05:01:48.387322Z" } }, "outputs": [ { "data": { "text/html": [ "
[23:01:47] 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[23:01:47]\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=155674;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=358327;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=472395;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=736079;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": [ "# standard python imports\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import xarray as xr\n", "\n", "import tidy3d as td\n", "from tidy3d import web\n", "from tidy3d.plugins import ResonanceFinder\n" ] }, { "cell_type": "markdown", "id": "6022fa5a", "metadata": {}, "source": [ "We will randomly position our sources and monitors. Here, we seed the random number generator to guarantee reproducible results." ] }, { "cell_type": "code", "execution_count": 2, "id": "be1a51fc", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T05:01:48.389564Z", "iopub.status.busy": "2023-02-03T05:01:48.389376Z", "iopub.status.idle": "2023-02-03T05:01:48.391205Z", "shell.execute_reply": "2023-02-03T05:01:48.390929Z" } }, "outputs": [], "source": [ "rng = np.random.default_rng(12345)\n" ] }, { "cell_type": "markdown", "id": "5b3da68c", "metadata": {}, "source": [ "Now we define the parameters for the simulation, structure, sources, and monitors.\n", "\n", "We take the dipole polarization to be `Hz` and the symmetry to be `(0,0,1)` in order to excite only modes which are even with respect to the xy mirror plane." ] }, { "cell_type": "code", "execution_count": 3, "id": "da1f5f85", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T05:01:48.392641Z", "iopub.status.busy": "2023-02-03T05:01:48.392543Z", "iopub.status.idle": "2023-02-03T05:01:48.395993Z", "shell.execute_reply": "2023-02-03T05:01:48.395719Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total runtime = 6.74 ps\n" ] } ], "source": [ "# Simulation parameters\n", "runtime_fwidth = 200.0 # in units of 1/frequency bandwidth of the source\n", "t_start_fwidth = 5.0 # time to start monitoring after source has decayed, units of 1/frequency bandwidth\n", "dPML = 1.0 # space between PhC slabs and PML, in unit of longest wavelength of interest\n", "\n", "# Structure parameters (um)\n", "a_lattice = 1 # lattice constant \"a\"\n", "r_hole = 0.2 * a_lattice # radius of the air holes\n", "t_slab = 0.5 * a_lattice # slab thickness\n", "ep_slab = 12 # dielectric constant of the slab\n", "ep_hole = 1 # dielectric constant of the holes\n", "\n", "# Frequency range of interest (Hz)\n", "freq_range_unitless = np.array((0.1, 0.43)) # in units of c/a\n", "freq_scale = (\n", " td.constants.C_0 / a_lattice\n", ") # frequency scale determined by the lattice constant\n", "freq_range = freq_range_unitless * freq_scale\n", "lambda_range = (td.constants.C_0 / freq_range[1], td.constants.C_0 / freq_range[0])\n", "\n", "# Gaussian pulse parameters\n", "freq0 = np.sum(freq_range) / 2 # central frequency\n", "freqw = 0.3 * (freq_range[1] - freq_range[0]) # pulse width\n", "\n", "# Runtime\n", "run_time = runtime_fwidth / freqw\n", "print(f\"Total runtime = {(run_time*1e12):.2f} ps\")\n", "t_start = t_start_fwidth / freqw\n", "\n", "# Simulation size\n", "spacing = dPML * lambda_range[-1] # space between PhC slabs and PML\n", "sim_size = Lx, Ly, Lz = (a_lattice, a_lattice, 2 * spacing + t_slab)\n", "\n", "# Number of k values to sample, per edge of the irreducible Brillouin zone\n", "Nk = 4\n", "\n", "# Number of dipoles and monitors\n", "num_dipoles = 7\n", "num_monitors = 2\n", "\n", "# Dipole polarization and symmetry\n", "polarization = \"Hz\"\n", "symmetry = (0, 0, 1)\n" ] }, { "cell_type": "markdown", "id": "27c57eee", "metadata": {}, "source": [ "We define the materials and structures in terms of the above parameters. We take the photonic crystal slab to be lying in the xy plane. Because the photonic crystal slab is periodic in the x and y directions, we only need to simulate a single unit cell, containing the dielectric slab and a single air hole." ] }, { "cell_type": "code", "execution_count": 4, "id": "cbcc09f9", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T05:01:48.397427Z", "iopub.status.busy": "2023-02-03T05:01:48.397340Z", "iopub.status.idle": "2023-02-03T05:01:48.399959Z", "shell.execute_reply": "2023-02-03T05:01:48.399715Z" } }, "outputs": [], "source": [ "mat_slab = td.Medium(permittivity=ep_slab, name=\"mat_slab\")\n", "mat_hole = td.Medium(permittivity=ep_hole, name=\"mat_hole\")\n", "\n", "slab = td.Structure(\n", " geometry=td.Box(\n", " center=(0, 0, 0),\n", " size=(td.inf, td.inf, t_slab),\n", " ),\n", " medium=mat_slab,\n", " name=\"slab\",\n", ")\n", "\n", "hole = td.Structure(\n", " geometry=td.Cylinder(\n", " center=(0, 0, 0),\n", " axis=2,\n", " radius=r_hole,\n", " length=t_slab,\n", " ),\n", " medium=mat_hole,\n", " name=\"hole\",\n", ")\n", "\n", "structures = [slab, hole]\n" ] }, { "cell_type": "markdown", "id": "dbda5f33", "metadata": {}, "source": [ "We will excite the photonic crystal slab with several `PointDipole` sources. Each dipole will have a random position and phase." ] }, { "cell_type": "code", "execution_count": 5, "id": "7cd6c4ed", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T05:01:48.401362Z", "iopub.status.busy": "2023-02-03T05:01:48.401282Z", "iopub.status.idle": "2023-02-03T05:01:48.405869Z", "shell.execute_reply": "2023-02-03T05:01:48.405610Z" } }, "outputs": [], "source": [ "dipole_positions = rng.uniform(\n", " [-Lx / 2, -Ly / 2, 0], [Lx / 2, Ly / 2, 0], [num_dipoles, 3]\n", ")\n", "\n", "dipole_phases = rng.uniform(0, 2 * np.pi, num_dipoles)\n", "\n", "pulses = []\n", "dipoles = []\n", "for i in range(num_dipoles):\n", " pulse = td.GaussianPulse(freq0=freq0, fwidth=freqw, phase=dipole_phases[i])\n", " pulses.append(pulse)\n", " dipoles.append(\n", " td.PointDipole(\n", " source_time=pulse,\n", " center=tuple(dipole_positions[i]),\n", " polarization=polarization,\n", " name=\"dipole_\" + str(i),\n", " )\n", " )\n" ] }, { "cell_type": "markdown", "id": "700880a7", "metadata": {}, "source": [ "We create `FieldTimeMonitors` to record the field as a function of time at several random locations within the photonic crystal slab. Crucially, we start the monitors after the source pulse has decayed." ] }, { "cell_type": "code", "execution_count": 6, "id": "bc6dca60", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T05:01:48.407272Z", "iopub.status.busy": "2023-02-03T05:01:48.407185Z", "iopub.status.idle": "2023-02-03T05:01:48.409629Z", "shell.execute_reply": "2023-02-03T05:01:48.409355Z" } }, "outputs": [], "source": [ "monitor_positions = rng.uniform(\n", " [-Lx / 2, -Ly / 2, 0], [Lx / 2, Ly / 2, 0], [num_monitors, 3]\n", ")\n", "\n", "monitors_time = []\n", "for i in range(num_monitors):\n", " monitors_time.append(\n", " td.FieldTimeMonitor(\n", " fields=[\"Hz\"],\n", " center=tuple(monitor_positions[i]),\n", " size=(0, 0, 0),\n", " start=t_start,\n", " name=\"monitor_time_\" + str(i),\n", " )\n", " )\n" ] }, { "cell_type": "markdown", "id": "e6939eae", "metadata": {}, "source": [ "We will perform `3*Nk` different simulations, each with different Bloch boundary conditions, as we sweep the Bloch wavevector over the boundary of the irreducible Brillouin zone. We sweep over three lines, namely $\\Gamma X$, $XM$, and $M\\Gamma$. We use a PML in the z direction.\n", "\n", "Here, we simply define all of the boundary conditions we will use and put them into a single array." ] }, { "cell_type": "code", "execution_count": 7, "id": "84ec0547", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T05:01:48.410972Z", "iopub.status.busy": "2023-02-03T05:01:48.410887Z", "iopub.status.idle": "2023-02-03T05:01:48.414515Z", "shell.execute_reply": "2023-02-03T05:01:48.414247Z" } }, "outputs": [], "source": [ "bspecs_gammax = []\n", "bspecs_xm = []\n", "bspecs_mgamma = []\n", "for i in range(Nk):\n", " bspecs_gammax.append(\n", " td.BoundarySpec(\n", " x=td.Boundary.bloch((1 / 2) * i / Nk),\n", " y=td.Boundary.periodic(),\n", " z=td.Boundary.pml(),\n", " )\n", " )\n", " bspecs_xm.append(\n", " td.BoundarySpec(\n", " x=td.Boundary.bloch(1 / 2),\n", " y=td.Boundary.bloch((1 / 2) * i / Nk),\n", " z=td.Boundary.pml(),\n", " )\n", " )\n", " bspecs_mgamma.append(\n", " td.BoundarySpec(\n", " x=td.Boundary.bloch((1 / 2) * (1 - i / Nk)),\n", " y=td.Boundary.bloch((1 / 2) * (1 - i / Nk)),\n", " z=td.Boundary.pml(),\n", " )\n", " )\n", "bspecs = bspecs_gammax + bspecs_xm + bspecs_mgamma\n" ] }, { "cell_type": "markdown", "id": "e80d5995", "metadata": {}, "source": [ "Now we define the simulations we want to run. " ] }, { "cell_type": "code", "execution_count": 8, "id": "0c0a8a8a", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T05:01:48.415791Z", "iopub.status.busy": "2023-02-03T05:01:48.415704Z", "iopub.status.idle": "2023-02-03T05:01:48.423035Z", "shell.execute_reply": "2023-02-03T05:01:48.422787Z" } }, "outputs": [], "source": [ "sims = {}\n", "for i in range(3 * Nk):\n", " sims[f\"sim_{i}\"] = td.Simulation(\n", " center=(0, 0, 0),\n", " size=sim_size,\n", " grid_spec=td.GridSpec.auto(),\n", " structures=structures,\n", " sources=dipoles,\n", " monitors=monitors_time,\n", " run_time=run_time,\n", " shutoff=0,\n", " boundary_spec=bspecs[i],\n", " normalize_index=None,\n", " symmetry=symmetry,\n", " )\n" ] }, { "cell_type": "markdown", "id": "22ff9910", "metadata": {}, "source": [ "Let's check that the structure and source look correct. The source spectrum must fill the entire frequency range of interest." ] }, { "cell_type": "code", "execution_count": 9, "id": "443a41b7", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T05:01:48.424363Z", "iopub.status.busy": "2023-02-03T05:01:48.424280Z", "iopub.status.idle": "2023-02-03T05:01:48.775003Z", "shell.execute_reply": "2023-02-03T05:01:48.774082Z" } }, "outputs": [ { "data": { "text/html": [ "
[23:01:48] INFO Auto meshing using wavelength 3.7736 defined from sources. grid_spec.py:510\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:01:48]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m3.7736\u001b[0m defined from sources. \u001b]8;id=302674;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=808338;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#510\u001b\\\u001b[2m510\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuoAAAGGCAYAAAAtuaQaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABNiElEQVR4nO3deXxU1f3/8fcsmZnsIRASwg4iCCIgCEKlFI2CUAutUqVU0VKoC1qlWuGnBcWfolaRqihCtdR9+1bqVy2KCFoFQRH6QxRFBFkDxJCFLDOZmfP7AzNlspFAkrkzeT0fj/uAuXPu5HMzcO97zpx7rs0YYwQAAADAUuyRLgAAAABAdQR1AAAAwIII6gAAAIAFEdQBAAAACyKoAwAAABZEUAcAAAAsiKAOAAAAWBBBHQAAALAggjoAAABgQQR1oBmtXr1aNptNq1evjnQpAIAoxzkl9hHUgSbw2GOPaenSpZEu44Q8//zzWrBgQaTLkCQFg0Hdf//96tq1qzwej8444wy98MIL9d6+oKBA06ZNU0ZGhhITEzVy5Eh99tlnNbZ9/fXXdeaZZ8rj8ahTp06aM2eO/H5/Y+0KAJwwzimN68knn9Rpp50mj8ejHj166JFHHqn3tl6vV7feequys7MVHx+vIUOGaMWKFTW2XbNmjc455xwlJCQoKytLN9xwg44cOdKwYg2ARtenTx8zYsSIausDgYApKyszgUCg+Yuqp7Fjx5rOnTtHugxjjDEzZ840kszUqVPN4sWLzdixY40k88ILLxx320AgYIYNG2YSExPNHXfcYR599FHTu3dvk5ycbL7++uuwtm+99Zax2Wxm5MiRZvHixeb66683drvdXH311U21awBQb5xTGs+iRYuMJHPxxRebxYsXm8svv9xIMvfee2+9tr/sssuM0+k0N998s3niiSfM0KFDjdPpNP/+97/D2m3cuNF4PB4zYMAA8/jjj5vbbrvNuN1uM3r06AbVS1BHkzly5EikS4iY2g6q0cAqB9U9e/aYuLg4c91114XWBYNBM3z4cNOhQwfj9/vr3P6ll14ykswrr7wSWnfw4EGTlpZmJk6cGNa2d+/epl+/fqaioiK07rbbbjM2m818+eWXjbRHAE4G55QRkS7jhFjlnGKMMaWlpaZ169Zm7NixYesnTZpkEhMTTX5+fp3br1u3zkgyf/7zn0PrysrKTPfu3c3QoUPD2l544YWmXbt2prCwMLRuyZIlRpJ5++23610zQR31smfPHvOb3/zGtGvXzrhcLtOlSxdz9dVXG6/Xa4wx5m9/+5uRZFavXm2uueYak5GRYdLS0kLbL1y40PTu3du4XC7Trl07c+2115rDhw+H/Yyvv/7a/OIXvzCZmZnG7Xab9u3bm0svvdQUFBSE2rzzzjvmRz/6kUlNTTWJiYnm1FNPNbNmzTpu/fXZrry83MyePdt0797duFwu06FDB3PLLbeY8vLyaq/3zDPPmLPOOsvEx8ebtLQ0M3z48NB/vM6dOxtJYUvlAXbVqlVGklm1alXY67388svmzDPPNB6Px7Ru3dpMmjTJ7NmzJ6zN5MmTTWJiotmzZ48ZN26cSUxMNG3atDF/+MMfjhtajTFm2bJlZsyYMaH3sFu3bmbu3Llh244YMaJa7XUdYCdPnlytfeUyZ86c49ZUl4ULFxpJZsuWLWHrn3/+eSOpWu9FVRMmTDCZmZnVepqmTZtmEhISQu/rli1bjCSzcOHCsHZ79+41ksxdd911UvsBoDrOKeE4pxz11FNPGUnmySefDFt/9913G0nmzTffPG5ddXnzzTdrfJ01a9YYSeaZZ56pc/tbbrnFOByOsPBtjDH33HOPkWR27dpljDGmsLDQOJ1Oc8stt4S183q9JikpyUyZMqXeNTsbNlAGLdG+ffs0ePDg0HjfXr16ae/evXr11VdVWloql8sVanvttdcqIyNDs2fPVklJiSTpjjvu0J133qmcnBxdc801+uqrr/T444/rk08+0UcffaS4uDj5fD6NGjVKXq9X119/vbKysrR371698cYbKigoUGpqqrZs2aKf/vSnOuOMMzR37ly53W598803+uijj+qsvz7bBYNB/exnP9OHH36oadOm6bTTTtPmzZv10EMP6euvv9ayZctCbe+8807dcccdGjZsmObOnSuXy6V169bpvffe0wUXXKAFCxbo+uuvV1JSkm677TZJUmZmZq31LV26VFdddZXOOusszZs3TwcOHNBf/vIXffTRR9q4caPS0tJCbQOBgEaNGqUhQ4bogQce0LvvvqsHH3xQ3bt31zXXXFPn72Hp0qVKSkrSjBkzlJSUpPfee0+zZ89WUVGR/vznP0uSbrvtNhUWFmrPnj166KGHJElJSUm1vubvfvc75eTkhK1bvny5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\n", "text/plain": [ "
[23:01:49] INFO Created task 'sim_0' with task_id '425fbe84-a204-43ca-a331-08a2bd603db7'. webapi.py:120\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:01:49]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'sim_0'\u001b[0m with task_id \u001b[32m'425fbe84-a204-43ca-a331-08a2bd603db7'\u001b[0m. \u001b]8;id=77897;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=792231;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": "fe93e6659e2643e48ec1f5d75426144d", "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": [ "
[23:01:50] INFO Auto meshing using wavelength 3.7736 defined from sources. grid_spec.py:510\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:01:50]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m3.7736\u001b[0m defined from sources. \u001b]8;id=139557;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=364397;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#510\u001b\\\u001b[2m510\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO Created task 'sim_1' with task_id '524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2'. webapi.py:120\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'sim_1'\u001b[0m with task_id \u001b[32m'524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2'\u001b[0m. \u001b]8;id=198912;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=458791;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": "f66622a7417643119e4276080e3fafe2", "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": [ "
[23:01:51] INFO Auto meshing using wavelength 3.7736 defined from sources. grid_spec.py:510\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:01:51]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m3.7736\u001b[0m defined from sources. \u001b]8;id=179519;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=513203;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#510\u001b\\\u001b[2m510\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:01:52] INFO Created task 'sim_2' with task_id '8b30587b-3c92-40dd-9025-bba6f1aaddac'. webapi.py:120\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:01:52]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'sim_2'\u001b[0m with task_id \u001b[32m'8b30587b-3c92-40dd-9025-bba6f1aaddac'\u001b[0m. \u001b]8;id=132235;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=250088;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": "fc4b3b6c1f3d49ef8cdd14149ed42211", "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": [ "
[23:01:53] INFO Auto meshing using wavelength 3.7736 defined from sources. grid_spec.py:510\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:01:53]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m3.7736\u001b[0m defined from sources. \u001b]8;id=951801;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=345074;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#510\u001b\\\u001b[2m510\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO Created task 'sim_3' with task_id '719b283b-13c3-44e0-8b76-fa952db89bbf'. webapi.py:120\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'sim_3'\u001b[0m with task_id \u001b[32m'719b283b-13c3-44e0-8b76-fa952db89bbf'\u001b[0m. \u001b]8;id=915429;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=977459;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": "f861494b7a9c4051aaaedb9fe696dd89", "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": [ "
[23:01:54] INFO Auto meshing using wavelength 3.7736 defined from sources. grid_spec.py:510\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:01:54]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m3.7736\u001b[0m defined from sources. \u001b]8;id=41003;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=536242;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#510\u001b\\\u001b[2m510\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO Created task 'sim_4' with task_id '2059db83-e7cb-4486-81f5-dcc111ee48a1'. webapi.py:120\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'sim_4'\u001b[0m with task_id \u001b[32m'2059db83-e7cb-4486-81f5-dcc111ee48a1'\u001b[0m. \u001b]8;id=611310;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=318140;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": "a2739e972a884e8587967a967bbd24fb", "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": [ "
[23:01:55] INFO Auto meshing using wavelength 3.7736 defined from sources. grid_spec.py:510\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:01:55]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m3.7736\u001b[0m defined from sources. \u001b]8;id=199299;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=164199;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#510\u001b\\\u001b[2m510\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO Created task 'sim_5' with task_id '0f5ed6f3-cc9c-43e3-b3d5-dc83d60e194f'. webapi.py:120\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'sim_5'\u001b[0m with task_id \u001b[32m'0f5ed6f3-cc9c-43e3-b3d5-dc83d60e194f'\u001b[0m. \u001b]8;id=361119;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=429437;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": "fe1f026d29f84dd69a7870e13762acca", "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": [ "
[23:01:56] INFO Auto meshing using wavelength 3.7736 defined from sources. grid_spec.py:510\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:01:56]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m3.7736\u001b[0m defined from sources. \u001b]8;id=154835;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=86883;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#510\u001b\\\u001b[2m510\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:01:57] INFO Created task 'sim_6' with task_id 'e74e7171-af37-47ac-b584-8e92cbfa37ca'. webapi.py:120\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:01:57]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'sim_6'\u001b[0m with task_id \u001b[32m'e74e7171-af37-47ac-b584-8e92cbfa37ca'\u001b[0m. \u001b]8;id=569553;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=848645;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": "18ccbaef4b2b440fb2bb09f3377f938f", "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": [ "
[23:01:58] INFO Auto meshing using wavelength 3.7736 defined from sources. grid_spec.py:510\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:01:58]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m3.7736\u001b[0m defined from sources. \u001b]8;id=528627;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=177814;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#510\u001b\\\u001b[2m510\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO Created task 'sim_7' with task_id 'a941d525-dced-4a28-b46c-a1be17570ff8'. webapi.py:120\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'sim_7'\u001b[0m with task_id \u001b[32m'a941d525-dced-4a28-b46c-a1be17570ff8'\u001b[0m. \u001b]8;id=231967;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=615874;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": "de98ea6b35144a1193691be1e3516f19", "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": [ "
[23:01:59] INFO Auto meshing using wavelength 3.7736 defined from sources. grid_spec.py:510\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:01:59]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m3.7736\u001b[0m defined from sources. \u001b]8;id=9782;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=41694;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#510\u001b\\\u001b[2m510\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO Created task 'sim_8' with task_id 'feb89d62-370a-4b44-b7ff-c506d4249796'. webapi.py:120\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'sim_8'\u001b[0m with task_id \u001b[32m'feb89d62-370a-4b44-b7ff-c506d4249796'\u001b[0m. \u001b]8;id=844924;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=149843;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": "7e48e609d6e3416e9bcd23c5de5576ba", "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": [ "
[23:02:00] INFO Auto meshing using wavelength 3.7736 defined from sources. grid_spec.py:510\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:02:00]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m3.7736\u001b[0m defined from sources. \u001b]8;id=781859;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=541825;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#510\u001b\\\u001b[2m510\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:02:01] INFO Created task 'sim_9' with task_id '4a0fcb9a-a192-4b3b-bfbd-365b6e26881d'. webapi.py:120\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:02:01]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'sim_9'\u001b[0m with task_id \u001b[32m'4a0fcb9a-a192-4b3b-bfbd-365b6e26881d'\u001b[0m. \u001b]8;id=105844;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=629510;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": "d5135e9c18f34cb1a88b7e847dab4c90", "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 Auto meshing using wavelength 3.7736 defined from sources. grid_spec.py:510\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m3.7736\u001b[0m defined from sources. \u001b]8;id=146999;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=215177;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#510\u001b\\\u001b[2m510\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:02:02] INFO Created task 'sim_10' with task_id '6c6dc262-ecd4-4b4b-abc3-d1b4899fb3e1'. webapi.py:120\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:02:02]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'sim_10'\u001b[0m with task_id \u001b[32m'6c6dc262-ecd4-4b4b-abc3-d1b4899fb3e1'\u001b[0m. \u001b]8;id=616199;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=587063;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": "86658bcc8920427dbdf4fca4d5a6d0c9", "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": [ "
[23:02:03] INFO Auto meshing using wavelength 3.7736 defined from sources. grid_spec.py:510\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:02:03]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m3.7736\u001b[0m defined from sources. \u001b]8;id=806504;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=376080;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#510\u001b\\\u001b[2m510\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:02:04] INFO Created task 'sim_11' with task_id '0898cac9-d357-4895-bd29-e0da91946906'. webapi.py:120\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:02:04]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'sim_11'\u001b[0m with task_id \u001b[32m'0898cac9-d357-4895-bd29-e0da91946906'\u001b[0m. \u001b]8;id=358454;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=861266;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": "fa5f1018de6d4f15b69be423f3d457e7", "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": [ "
[23:02:10] Started working on Batch. container.py:361\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:02:10]\u001b[0m\u001b[2;36m \u001b[0mStarted working on Batch. \u001b]8;id=944711;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=449691;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": "da65089784ef4783955264f64214c930", "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": [ "
[23:03:16] Batch complete. container.py:382\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:16]\u001b[0m\u001b[2;36m \u001b[0mBatch complete. \u001b]8;id=75146;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=833728;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": [ "# initialize a batch and run them all\n", "batch = td.web.Batch(simulations=sims)\n", "\n", "# run the batch and store all of the data in the `data/` dir.\n", "batch_data = batch.run(path_dir=\"data\")\n" ] }, { "cell_type": "markdown", "id": "c865c155", "metadata": {}, "source": [ "Now that the simulations are complete, we can analyze the data. Let's first look at one of the FieldTimeMonitors to make sure the source has decayed." ] }, { "cell_type": "code", "execution_count": 11, "id": "4a97628f-c2d1-4e2f-82f2-ba97d88fe48e", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T05:03:17.417842Z", "iopub.status.busy": "2023-02-03T05:03:17.417763Z", "iopub.status.idle": "2023-02-03T05:03:19.441657Z", "shell.execute_reply": "2023-02-03T05:03:19.441405Z" } }, "outputs": [ { "data": { "text/html": [ "
[23:03:17] INFO downloading file \"output/monitor_data.hdf5\" to webapi.py:593\n", " \"data/524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2.hdf5\" \n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:17]\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=171158;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=197;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/524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2.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": "658eb468dd1a4688a94353cce5f05eaa", "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": [ "
[23:03:19] INFO loading SimulationData from data/524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:19]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2\u001b[0m.hdf5 \u001b]8;id=528923;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=282983;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 loading SimulationData from data/524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2\u001b[0m.hdf5 \u001b]8;id=348530;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=786154;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/plain": [ "Text(0, 0.5, 'Hz')" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
INFO loading SimulationData from data/524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2\u001b[0m.hdf5 \u001b]8;id=776741;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=358405;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 loading SimulationData from data/524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2\u001b[0m.hdf5 \u001b]8;id=348338;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=132454;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/plain": [ "Text(0, 0.5, 'Amplitude')" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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/Px85OfnS8sZGRkPf4FERCSL0rPMmIdILo9MC1FUVBROnTqFNWvWWLoqmDt3Ltzc3KRPQECApatERER3GT6YkZGI5PFIBKIJEyZg48aN2LlzJ2rVqiWt9/X1RUFBAdLS0gzKJycnw9fXVypz/6yzkuUHlXF1dTVqHQKA6dOnIz09XfpcuXLloa+RiIjkxzxEcrFoIBJCYMKECfjxxx+xY8cOBAYGGmwPDg6Gra0ttm/fLq07d+4cEhMTERoaCgAIDQ3FyZMncfPmTalMTEwMXF1d0aRJE6lM6WOUlCk5xv20Wi1cXV0NPkRE9GhgBiJzsOgYoqioKKxatQo///wzXFxcpDE/bm5ucHBwgJubG8aMGYMpU6bAw8MDrq6umDhxIkJDQ9G+fXsAQI8ePdCkSRMMHz4c8+bNQ1JSEt59911ERUVBq9UCAF599VV89tlnePvttzF69Gjs2LEDa9euxaZNmyx27UREVDXsJiNzsGgL0dKlS5Geno4uXbrAz89P+kRHR0tlFi1ahGeffRYDBw5Ep06d4Ovrix9++EHartFosHHjRmg0GoSGhuIf//gHRowYgTlz5khlAgMDsWnTJsTExKBly5ZYsGABli9fjoiIiGq9XiIikhezEcnlkXoO0aOKzyEiInp07Dx3E6NWHAQA7H6rC+rUcLJwjehRpdjnEBERET2QwSwzy1WDHi8MREREpFjMQyQXBiIiIlIUgwczsomIZMJAREREisIMRObAQERERIrFbERyYSAiIiJFERxUTWbAQERERIoiKlgiqioGIiIiUiy2EJFcGIiIiEhRSs8sYx4iuTAQERERkdVjICIiIkUp3SrELjOSCwMREREpisEsM3aakUwYiIiISLHYQkRyYSAiIiKFKf3qDgtWgx4rDERERKQo7DIjc2AgIiIiIqvHQERERIrCWWZkDgxERESkKAxBZA4MREREpFgMRyQXBiIiIlKU0gOpOaia5MJAREREimIwy4x5iGTCQERERERWj4GIiIgURZTzNdHDYCAiIiJFEUKU+TXRw2AgIiIixWIcIrkwEBERkWKxgYjkwkBERESKYhiCmIhIHgxEREREZPUYiIiISFEMHszIBiKSCQMREREpisGDGS1XDXrMMBAREZFisYWI5MJAREREimL46g4mIpIHAxERESkKn1RN5sBARERERFaPgYiIiBTF8NUdFqwIPVYYiIiISFEMu8yYiEgeDERERKRczEMkEwYiIiJSFj6HiMyAgYiIiBSFT6omc2AgIiIiIqvHQERERIpi+OoONhGRPBiIiIhIUQxmmTEPkUwYiIiISLGYh0guDERERKQofJcZmQMDERERKYrBLDML1oMeLwxEREREZPUYiIiISFEEX3dPZsBAREREisJ3mZE5MBAREZFicUw1yYWBiIiIlEXw1R0kPwYiIiJSFA4hInNgICIiIiKrx0BERESKwgczkjkwEBERkaKUDkGMQyQXBiIiIlIsNhCRXBiIiIhIUUQFS0RVxUBERESKYjiGyHL1oMcLAxERERFZPQYiIiJSFD6HiMyBgYiIiBRF8EnVZAYMREREpFh8uSvJxaKBKDY2Fn379oW/vz9UKhV++ukng+2RkZFQqVQGn549exqUSU1NxbBhw+Dq6gp3d3eMGTMGWVlZBmVOnDiBsLAw2NvbIyAgAPPmzTP3pRERUTVgCxHJxaKBKDs7Gy1btsSSJUvKLdOzZ0/cuHFD+qxevdpg+7Bhw3D69GnExMRg48aNiI2Nxcsvvyxtz8jIQI8ePVCnTh0cPnwY//nPfzBr1ix88cUXZrsuIiIyH4NZZparBj1mbCx58l69eqFXr14VltFqtfD19S1z29mzZ7FlyxYcPHgQbdu2BQAsXrwYvXv3xvz58+Hv74/vv/8eBQUF+Prrr2FnZ4emTZvi2LFjWLhwoUFwIiIiIuv1yI8h2rVrF7y9vdGoUSOMHz8et2/flrbFxcXB3d1dCkMAEB4eDrVajT///FMq06lTJ9jZ2UllIiIicO7cOdy5c6fMc+bn5yMjI8PgQ0REj4bS44b4LjOSyyMdiHr27Ilvv/0W27dvx0cffYTdu3ejV69e0Ol0AICkpCR4e3sb7GNjYwMPDw8kJSVJZXx8fAzKlCyXlLnf3Llz4ebmJn0CAgLkvjQiIiJ6hFi0y+xBhgwZIn3dvHlztGjRAkFBQdi1axe6detmtvNOnz4dU6ZMkZYzMjIYioiIHhF8UjWZwyPdQnS/evXqwdPTExcvXgQA+Pr64ubNmwZlioqKkJqaKo078vX1RXJyskGZkuXyxiZptVq4uroafIiI6NFg+GBGJiKSh6IC0dWrV3H79m34+fkBAEJDQ5GWlobDhw9LZXbs2AG9Xo+QkBCpTGxsLAoLC6UyMTExaNSoEZ544onqvQAiIpIVW4hILhYNRFlZWTh27BiOHTsGAEhISMCxY8eQmJiIrKwsvPXWW9i/fz8uXbqE7du3o1+/fqhfvz4iIiIAAE8++SR69uyJcePG4cCBA9i7dy8mTJiAIUOGwN/fHwDw0ksvwc7ODmPGjMHp06cRHR2NTz75xKBLjIiIlIMhiMzBooHo0KFDaN26NVq3bg0AmDJlClq3bo0ZM2ZAo9HgxIkTeO6559CwYUOMGTMGwcHB2LNnD7RarXSM77//Ho0bN0a3bt3Qu3dvdOzY0eAZQ25ubti2bRsSEhIQHByMN954AzNmzOCUeyIihTKcZWbBitBjxaKDqrt06VLhlMmtW7c+8BgeHh5YtWpVhWVatGiBPXv2mFw/IiJ6tDEPkVwUNYaIiIjIcJYZIxHJg4GIiIgUi3GI5MJAREREysVERDJhICIiIkVhNxmZAwMREREpiuHb7hmOSB5VCkRpaWlYvnw5pk+fjtTUVADAkSNHcO3aNVkrR0REVBE2FpFcTJ52f+LECYSHh8PNzQ2XLl3CuHHj4OHhgR9++AGJiYn49ttvzVFPIiIiAPe/uoNIHia3EE2ZMgWRkZG4cOEC7O3tpfW9e/dGbGysrJUjIiK6H1/uSuZgciA6ePAgXnnlFaP1NWvWRFJSkiyVIiIiqgyOISK5mByItFotMjIyjNafP38eXl5eslSKiIioPAxBZA4mB6LnnnsOc+bMkd4er1KpkJiYiKlTp2LgwIGyV5CIiKg0dpmROZgciBYsWICsrCx4e3sjNzcXnTt3Rv369eHi4oIPPvjAHHUkIiIqE/MQycXkWWZubm6IiYnBH3/8gRMnTiArKwtt2rRBeHi4OepHRERkwCAEsYmIZFLlt9137NgRHTt2lLMuRERED1YqBDEOkVwqFYg+/fTTSh9w0qRJVa4MERGRKdhARHKpVCBatGiRwfKtW7eQk5MDd3d3AMVPrnZ0dIS3tzcDERERmZXBgxmZiEgmlRpUnZCQIH0++OADtGrVCmfPnkVqaipSU1Nx9uxZtGnTBv/617/MXV8iIrJyzEBkDibPMnvvvfewePFiNGrUSFrXqFEjLFq0CO+++66slSMiIqoIsxHJxeRAdOPGDRQVFRmt1+l0SE5OlqVSRERE5Sn9YEa2FpFcTA5E3bp1wyuvvIIjR45I6w4fPozx48dz6j0REZmdwYMZLVcNesyYHIi+/vpr+Pr6om3bttBqtdBqtWjXrh18fHywfPlyc9SRiIioTBxUTXIx+TlEXl5e+O2333D+/Hn89ddfAIDGjRujYcOGsleOiIjofoxAZA5VfjBjw4YNGYKIiKjasVGIzMHkQDR69OgKt3/99ddVrgwREZEpGI5ILiYHojt37hgsFxYW4tSpU0hLS0PXrl1lqxgREVFZDGaZsQONZGJyIPrxxx+N1un1eowfPx5BQUGyVIqIiKhcpWeZMQ+RTEyeZVbmQdRqTJkyxegVH0RERObEPERykSUQAUB8fHyZD2wkIiKSk+G7zCxWDXrMmNxlNmXKFINlIQRu3LiBTZs2YeTIkbJVjIiIqCx89hCZg8mB6OjRowbLarUaXl5eWLBgwQNnoBEREcmJg6pJLiYHop07d5qjHkRERJUiOKiazMDkMURdu3ZFWlqa0fqMjAxOuyciIrNjBiJzMDkQ7dq1CwUFBUbr8/LysGfPHlkqRUREVBkcT0RyqXSX2YkTJ6Svz5w5g6SkJGlZp9Nhy5YtqFmzpry1IyIiug+7zMgcKh2IWrVqBZVKBZVKVWbXmIODAxYvXixr5YiIiO7HgdRkDpUORAkJCRBCoF69ejhw4AC8vLykbXZ2dvD29oZGozFLJYmIiMrCaERyqXQgqlOnDoDi13QQERFZCrvMyBwqFYh++eUX9OrVC7a2tvjll18qLPvcc8/JUjEiIqIHYfcZyaVSgah///5ISkqCt7c3+vfvX245lUoFnU4nV92IiIgqxBYikkulAlHpbjJ2mRERkSWVnmrPPERyke3lrkRERNWBIYjMoVItRJ9++mmlDzhp0qQqV4aIiMgk7DMjmVQqEC1atKhSB1OpVAxERERkVgazzCxXDXrMVCoQJSQkmLseRERElVJ6ZhkbiEguDzWGSAjB98gQEZHFcNo9yaVKgeirr75Cs2bNYG9vD3t7ezRr1gzLly+Xu25ERERG+GBGModKP6m6xIwZM7Bw4UJMnDgRoaGhAIC4uDi8/vrrSExMxJw5c2SvJBERUQlmIDIHkwPR0qVL8eWXX2Lo0KHSuueeew4tWrTAxIkTGYiIiKjaMByRXEzuMissLETbtm2N1gcHB6OoqEiWShEREZWHXWZkDiYHouHDh2Pp0qVG67/44gsMGzZMlkoRERFVBgdVk1xM7jIDigdVb9u2De3btwcA/Pnnn0hMTMSIESMwZcoUqdzChQvlqSUREZGEDyIi+ZkciE6dOoU2bdoAAOLj4wEAnp6e8PT0xKlTp6RyKpVKpioSERHdwwczkjmYHIh27txpjnoQERERWQxf7kpERIpiOKiabUQkD5NbiPLy8rB48WLs3LkTN2/ehF6vN9h+5MgR2SpHRER0P766g8zB5EA0ZswYbNu2DYMGDUK7du04VoiIiCyGeYjkYnIg2rhxI3777Tc8/fTT5qgPERFRhfgcIjIHk8cQ1axZEy4uLuaoCxER0QMJg6+ZiEgeJgeiBQsWYOrUqbh8+bI56kNERERU7UzuMmvbti3y8vJQr149ODo6wtbW1mB7amqqbJUjIiK6H7vMyBxMbiEaOnQorl27hg8//BCLFy/GokWLDD6miI2NRd++feHv7w+VSoWffvrJYLsQAjNmzICfnx8cHBwQHh6OCxcuGJRJTU3FsGHD4OrqCnd3d4wZMwZZWVkGZU6cOIGwsDDY29sjICAA8+bNM/WyiYjoEcFuMjIHk1uI9u3bh7i4OLRs2fKhT56dnY2WLVti9OjRGDBggNH2efPm4dNPP8U333yDwMBAvPfee4iIiMCZM2dgb28PABg2bBhu3LiBmJgYFBYWYtSoUXj55ZexatUqAEBGRgZ69OiB8PBwLFu2DCdPnsTo0aPh7u6Ol19++aGvgYiILIfPISK5mByIGjdujNzcXFlO3qtXL/Tq1avMbUIIfPzxx3j33XfRr18/AMC3334LHx8f/PTTTxgyZAjOnj2LLVu24ODBg2jbti0AYPHixejduzfmz58Pf39/fP/99ygoKMDXX38NOzs7NG3aFMeOHcPChQsZiIiIlIiv7iAzMLnL7N///jfeeOMN7Nq1C7dv30ZGRobBRy4JCQlISkpCeHi4tM7NzQ0hISGIi4sDAMTFxcHd3V0KQwAQHh4OtVqNP//8UyrTqVMn2NnZSWUiIiJw7tw53Llzp8xz5+fnm+26iIjo4RjMMmMiIpmY3ELUs2dPAEC3bt0M1gshoFKpoNPpZKlYUlISAMDHx8dgvY+Pj7QtKSkJ3t7eBtttbGzg4eFhUCYwMNDoGCXbnnjiCaNzz507F7Nnz5blOoiIiOjRJ+vLXU+ePPlQlXlUTJ8+HVOmTJGWMzIyEBAQYMEaERFRidLjhjjAmuRiciDq3LmzwXJmZiZWr16N5cuX4/Dhw5gwYYIsFfP19QUAJCcnw8/PT1qfnJyMVq1aSWVu3rxpsF9RURFSU1Ol/X19fZGcnGxQpmS5pMz9tFottFqtLNdBRETyYpcZmUOV33YfGxuLkSNHws/PD/Pnz0fXrl2xf/9+2SoWGBgIX19fbN++XVqXkZGBP//8E6GhoQCA0NBQpKWl4fDhw1KZHTt2QK/XIyQkRCoTGxuLwsJCqUxMTAwaNWpUZncZEREpB/MQycWkFqKkpCSsXLkSX331FTIyMjB48GDk5+fjp59+QpMmTUw+eVZWFi5evCgtJyQk4NixY/Dw8EDt2rUxefJkvP/++2jQoIE07d7f3x/9+/cHADz55JPo2bMnxo0bh2XLlqGwsBATJkzAkCFD4O/vDwB46aWXMHv2bIwZMwZTp07FqVOn8Mknn5j8zCQiIno08MGMZA6VDkR9+/ZFbGws+vTpg48//hg9e/aERqPBsmXLqnzyQ4cO4ZlnnpGWS8btjBw5EitXrsTbb7+N7OxsvPzyy0hLS0PHjh2xZcsW6RlEAPD9999jwoQJ6NatG9RqNQYOHIhPP/1U2u7m5oZt27YhKioKwcHB8PT0xIwZMzjlnohIoUQFS0RVpRKVfKqVjY0NJk2ahPHjx6NBgwbSeltbWxw/frxKLURKkZGRATc3N6Snp8PV1dXS1SEismoTVx/Fr8evAwCGtgvA3AEtLFwjelSZ8vu70mOI/vjjD2RmZiI4OBghISH47LPPkJKS8tCVJSIiMoXBLDM2EJFMKh2I2rdvjy+//BI3btzAK6+8gjVr1sDf3x96vR4xMTHIzMw0Zz2JiIgAcJYZmYfJs8ycnJwwevRo/PHHHzh58iTeeOMN/Pvf/4a3tzeee+45c9SRiIioTHwOEcmlytPuAaBRo0aYN28erl69itWrV8tVJyIiovJxlhmZwUMFohIajQb9+/fHL7/8IsfhiIiIylW6VYh5iOQiSyAiIiIiUjIGIiIiUhQ+mJHMgYGIiIgUxTAQMRGRPBiIiIhIsfQMRCQTBiIiIlKU0oOq9cxDJBMGIiIiUpTSjUJsISK5MBAREZFiMRCRXBiIiIhIUUpHIL3eYtWgxwwDERERKUrpRiEdW4hIJgxERESkWJx2T3JhICIiIoXhLDOSHwMREREpikGXGRMRyYSBiIiIFIuzzEguDERERKQoBrPMGIhIJgxERESkKKUHUnPaPcmFgYiIiBSLLUQkFwYiIiJSFHaZkTkwEBERkaIYvsvMcvWgxwsDERERKRZbiEguDERERKQohu8yYyAieTAQERGRohjMMmMeIpkwEBERkWLxSdUkFwYiIiJSLI4hIrkwEBERkaKUzkDMQyQXBiIiIlIsHRMRyYSBiIiIFEWg9KBqBiKSBwMREREpisGDGTmommTCQERERIrFPERyYSAiIiJFMXx1BxMRyYOBiIiIFMVgDBGbiEgmDERERKRYzEMkFwYiIiJSFHaZkTkwEBERkWIxEJFcGIiIiEhRDN52zzxEMmEgIiIiZSkVgvhyV5ILAxERESkWu8xILgxERESkKKWn3TMPkVwYiIiISFEEu8zIDBiIiIhIsdhlRnJhICIiIkUxnGXGQETyYCAiIiJFEaVCEHvMSC4MREREpFhsISK5MBAREZGilI5AQhi2GBFVFQMREREpyv35h91mJAcGIiIiUjR2m5EcGIiIiEhR7o8/fBYRyYGBiIiIlOW+FiE2EJEcGIiIiEjRdExEJAMGIiIiUpT74w/HEJEcGIiIiEhR7s8/Qm+ZetDjhYGIiIgUjV1mJAcGIiIiUhRxX6cZu8xIDgxERESkKEYPZuS0e5IBAxERESka8xDJgYGIiIgUxfjVHUxE9PAe6UA0a9YsqFQqg0/jxo2l7Xl5eYiKikKNGjXg7OyMgQMHIjk52eAYiYmJ6NOnDxwdHeHt7Y233noLRUVF1X0pREQkEz6pmszBxtIVeJCmTZvi999/l5ZtbO5V+fXXX8emTZuwbt06uLm5YcKECRgwYAD27t0LANDpdOjTpw98fX2xb98+3LhxAyNGjICtrS0+/PDDar8WIiJ6eDq94Tx7NhCRHB75QGRjYwNfX1+j9enp6fjqq6+watUqdO3aFQCwYsUKPPnkk9i/fz/at2+Pbdu24cyZM/j999/h4+ODVq1a4V//+hemTp2KWbNmwc7Orrovh4iIHlKRjrPMSH6PdJcZAFy4cAH+/v6oV68ehg0bhsTERADA4cOHUVhYiPDwcKls48aNUbt2bcTFxQEA4uLi0Lx5c/j4+EhlIiIikJGRgdOnT5d7zvz8fGRkZBh8iIjo0VCgM2wh4nOISA6PdCAKCQnBypUrsWXLFixduhQJCQkICwtDZmYmkpKSYGdnB3d3d4N9fHx8kJSUBABISkoyCEMl20u2lWfu3Llwc3OTPgEBAfJeGBERVdn9LUSCgYhk8Eh3mfXq1Uv6ukWLFggJCUGdOnWwdu1aODg4mO2806dPx5QpU6TljIwMhiIiokdE0X1jiHR8dQfJ4JFuIbqfu7s7GjZsiIsXL8LX1xcFBQVIS0szKJOcnCyNOfL19TWadVayXNa4pBJarRaurq4GHyIiejQUcgwRmYGiAlFWVhbi4+Ph5+eH4OBg2NraYvv27dL2c+fOITExEaGhoQCA0NBQnDx5Ejdv3pTKxMTEwNXVFU2aNKn2+hMR0cMrvK9JiIGI5PBId5m9+eab6Nu3L+rUqYPr169j5syZ0Gg0GDp0KNzc3DBmzBhMmTIFHh4ecHV1xcSJExEaGor27dsDAHr06IEmTZpg+PDhmDdvHpKSkvDuu+8iKioKWq3WwldHRERVYTTLjF1mJINHOhBdvXoVQ4cOxe3bt+Hl5YWOHTti//798PLyAgAsWrQIarUaAwcORH5+PiIiIvD5559L+2s0GmzcuBHjx49HaGgonJycMHLkSMyZM8dSl0RERA9BCIHCuwnITqNGgU7PFiKShUpweP4DZWRkwM3NDenp6RxPRERkQUU6Peq/sxkA4KK1QWZ+EX54rQPa1H7CwjWjR5Epv78VNYaIiIisW1Gp13RobYt/hfHvepIDAxERESlG6QHVdpriX2F8lRnJgYGIiIgUo/SAaq2tBgBf7kryYCAiIiLFKGkhUqsAG7UKAKfdkzwYiIiISDEK77YG2WjUUKvuBiJOuycZMBAREZFiFN1tIbJVq3A3D7GFiGTBQERERIpR0mVma6OGhl1mJCMGIiIiUoyS95jZqEt1mTEQkQwYiIiISDFKZpnZalRQqzmGiOTDQERERIpR8toOG41KmmVWxEREMmAgIiIixSgsujuGSKOG1qb4V1h+EQMRPTwGIiIiUoySV3fYqtWwv/tgxrxCnSWrRI8JBiIiIlKMkllmNhoV7O++yyyvkC1E9PAYiIiISDGkWWYaNbQ2xS1E+UVsIaKHx0BERESKUfJgRju2EJHMGIiIiEgxpFd3qO+1EHEMEcmBgYiIiBSjyGAMUUkgYgsRPTwGIiIiUoxCqcus9LR7thDRw2MgIiIixbg3qJotRCQvBiIiIlKMe11m6nuDqtlCRDJgICIiIsUoaSGyVd9rIcrnoGqSAQMREREpRsm7zPjqDpIbAxERESlGUakHM/LVHSQnBiIiIlKM7IIiAICTnYYPZiRZMRAREZFiZOXdDURaG9jz1R0kIwYiIiJSjKz84kDkYm8DLVuISEYMREREpBjZdwORs9aGr+4gWTEQERGRYmSW7jLjoGqSEQMREREpRsmgamd7G2lQNafdkxwYiIiISDFKBlU7a23gZGcDoDgQFTAU0UNiICIiIsXIyi/uHnPW2sDVwRYqVfH6tNwCC9aKHgcMREREpBhZ+YUAigORRq2Cm4MtACAtp9CS1aLHAAMREREpQpFOL02xd9YWd5c94WgHALiTzRYiejgMREREpAjZ+fdmkzndDUTujndbiHLZQkQPh4GIiIgUIfNud5mdjRp2d1/s6i51mbGFiB4OAxERESlCyTOIXO62DgGlusw4hogeEgMRERFVSAghvTLDkm5m5gMAvFy00jp3KRCxhYgeDgMRERFVaMbPp9Fs5lacvp5u0XokZ+QBALxd7aV1T5SMIcpmCxE9HAYiIiKq0P/2XwYAfLr9gkXrcetuC5FPqRYiD+fiFqKUrHyL1IkeHwxERERUKToLPwz6XgvRvUBU090BAHD1Tq5F6kSPDwYiIiKqFJ3esonoZsbdFqJSXWYBHo4AgKt3ciCEsEi96PHAQEREROUqHTKK9JYNHMmZd1uIXIxbiLILdJxpRg+FgYiIiMpV8mRoANBbuAXm2t1uMV83B2mdva1GCkhX7+RYpF70eGAgIiKicmXk3Wt1yS+0XJdZem6hNO2+npeTwbZaTxQHpMu3GYio6hiIiIioXOmlXolhyWf9XLyZBQDwcdXC1d7WYFsjX1cAwJkbGdVeL3p8MBAREVG5MgwCkeXG6MTfDUQNvF2MtjWrWRyITl2z7HOSSNkYiIiIqFylu8zScgqgt9DA6rNJxa0/9b2djbY183cDAJy+nsGZZlRlDERERFSujNx7r+zQC8t1mx26dAcA0Lq2u9G2xn4u0NqokZpdIHWtEZmKgYiIiMpVegwRAKRkVX8gysovkl4b0i7Qw2i71kYjrd99/la11o0eHwxERERUrqS7T4cuUfL6jOq092IK9AII8HCAX6kp96V1bugFANh2Jrk6q0aPEQYiIiIq1400w1diWOKdYVtOJQEAejTxLbdM7+Z+UKmAAwmpSHyMpt/vu5iCRTHnobPwQzGtAQMRERGV63pacQuRRq0CUP0tROm5hdh6ujgQ9WpWfiDyd3dAx/qeAIAV+xLMXq/qCChCCLy0/E98sv0CNhy+avbzWTsGIiIiKtf19OIWoha1imdy3armFqI1BxKRU6BDQx9nBNd5osKy48LqAQBW/ZmIv2+ZZ3D1rcx8PP/5XoQv3G321rIrqfda507ykQJmx0BERERl0ukFktKLW4ha1CwORCnV2EJ0J7sAn++KBwCM7VgPKpWqwvJhDTzRsb4n8ov0eGPdcRTp5H+y9js/nsTRxDQkpGRj8fYLsh+/tP1/35a+PsuHTpodAxEREZXpelouivQCGrUKrWsXt87Ep2RXy7mFEHj3p1NIzy1EQx9nDGhT84H7qFQqzBvUAi5aGxxNTMO7P52S9blJJ66mGQza/uHINRQUme91JkevpN0797V0s56LGIiIiKgcfyakAgCa1XSTnv9z9noG8ot0Zj2vEAIfbTmHTSdvQKNWYd6glrDRVO7Xlb+7Az4a1AJqFbDm4BVMXHPU4OGSD1On+dvOAwD6t/KHt4sWmflF2Bef8tDHLs+Z6/e6yQqK9NKjB8g8GIiIiKhMcfHFXTYdgmqgtocjPJzsUKDT48x183Xf5BQUYeqGE1i2u7irbE6/pmgV4G7SMXo398OiF1tBo1Zh04kbiFgUi7WHrjxUC8v/9l9G7PlbsFGrMDm8Ibo38QEAbD1tnmn+hTo9ziZlArj3MtsjiWlmORcVYyAiIiIjpWd3hdX3hEqlQpu73WbmeNaPXi+w+eQN9PpkD9YeugqVCvjw+eYYFlKnSsfr16om1r4SitoejriRnoe3159A+7nbMefXM9h7MQV5hZVr5UrNLsCHv53FjJ9PAwDe6NEIdT2d0PPujLeYM0lmmXF2+noGCor0cNbaYGCbWgCAnX/dlP08dI+NpStARESPnoXbziErvwiNfFzQvl4NAMCg4Fr4/Wwyog9ewSud6sHd0e6hz5N4Owe/nriOtYeu4PLd5wf5udnjP4NaomMDz4c6dnCdJ7Dt9U74Zt8lfPVHAm5m5uPrvQn4em8CbDUqBHo6IcjLGbU9HOHqYAsXexuoAOQU6HAtLRfnkjJx+PIdFN0NPGM7BuLVzsUz2drXqwE3B1ukZBVgx183pRYjufx28gYAoHMjLzzX0h/zt53DHxdTcPFmVpnvc6OHx0BERESStJwCLIw5j2/jLgMApvVuDPXdZxCFP+mNel5O+PtWNl797jAWDm4Ff/eynxxdltwCHf5OycLJq+k4fjUdfybcxt+37g3SdtHaYFTHQIwLC4SLva0s12Nvq8ErnYMwpmMgYi/cwsYTN7Dv4m0kZeThfHIWzic/eHp+s5qumNytIcJLhR5bjRpD29XGst3x+Pj383imkVelxzk9SHpuofTcob4t/BHg4Yiujbyx/a+beHv9cXw3NgSOdvz1LTeVsKJXAy9ZsgT/+c9/kJSUhJYtW2Lx4sVo167dA/fLyMiAm5sb0tPT4erqWg01JSIyPyEE0nIKcTk1ByevpWN//G1s/ysZeYXFY22m92qMVzoHGexz6lo6XvxvHLILdLDTqNGpoSea+LvB09kOTnY20OkFCvV6ZOQW4XZWPm5nF+BGei4u387BjfQ8ozrYqFVoW/cJDGxTC31a+FXLL3ohBK6l5eLizSzE38rG9bRcZOYVIjOv+EW2DrYaeLlo0cDHBa1ruyPIq+wWmZSsfHSdvwsZeUWI7FAXM55tIoXHqsor1GHi6qOIOZOMIC8nbJncCbYaNa6k5qD3J3uQmV+EAA8HvNG9EXo09WEwegBTfn9bTSCKjo7GiBEjsGzZMoSEhODjjz/GunXrcO7cOXh7e1e4LwMREVmSEAJFelEcNnR66PTFy4U6PfIK9cgr1CG/qPi/xR898ot0yC/UI69Ih5wCHdJzC5GWU4i0nAKk5RTiTk4BrqXlSiGgtCZ+rpjaq7H0frD7nbmegTkbT2P/36kmX4urvQ2a+ruhZYA7WgW4o0P9GnCVqTXIEjaduIGoVUcAFL94dnqvxmgV4P7AZyaVJoTA1Tu52HYmGf+Lu4RLt3NgZ6PGqrEhaFv33stsjyTewWvfHZHeL2dno0YTP1c09XdFrScc4e9uDz83BzzhaAtnexu42NvC0Vbz0CFNyRiIyhASEoKnnnoKn332GQBAr9cjICAAEydOxLRp0yrc11yBqEinR0IZz/Qo7xtS3ndKlLNHueVNOI6p/zpkq2O5xy+jjibWpbw9HlQXIe6d32BdyZIoo/zdJVFq2/3HuLefuFfO6FjC4LjSHmWc0+hYpY5x/7WWrl9F50RZ5StxTpS61nvXVsa6ytaxnHMKIaAXgP7uf3Hfckk5vf6+ZSGgFyVflxynjGVAOp4QpfeF0bL+buX0QkCvh7S/EEIKMkW6kq/1d0POvW06vV4KP0W64jLmfkuEj6sW9b2dERJYAx0beKJ1JX+hn7qWjrj420i4nY3UrAJkFxTBVqOGRq2Cq70tPJ3t4OFkB29XLerUcEJgDSe4O9qaFBaUYMPhq3jv51PIKSgeqB3g4YCn6njgST9X+Ls7wM3BFjYaFQqK9EjPLUR6biFSswtw7U4urqbl4FxSJlKyCqTjeblo8cmLrdChvvEYquz8Iizfk4ANR64iMfXB72xTqQBnrQ2c7GxgZ6OG1kYNu7uf4q81sNMUf621UcNGo4JGrYaNWgWNWlX8X83d/96/XtpuuN5GU1a54n8XNnePZaNWS19r1CrYatSw1ajh62Yv3zcGDERGCgoK4OjoiPXr16N///7S+pEjRyItLQ0///yzQfn8/Hzk5997GmtGRgYCAgJkD0Q3M/PQ7oPtsh2PiKyLjVoFe1sN7G3V0NpooLVVw96meLl4/b2v3R3s4O5oC3dHW7g5FH/83R0Q8IQjHOw0lr4UxUu8nYOPt5/HphM3kF+F6f02ahVa1HJDv1Y1MSi4Fpy0FXeFCSFw6XYOTlxNw7mkTCSl5+F6ei6S0vOQnlvc/VdUDe9bk5OnsxaH3g2X9ZimBCKr6HxMSUmBTqeDj4/hLAAfHx/89ddfRuXnzp2L2bNnm71eKqjg4VT2LI3y/n4q/w+rsjeUV96U46tkO7ZpfxWWe3wL1FFV6gvVfWVVpc5TUo/ShyldrmRbeeVVpRZKl793njKOhdI7l71NOkYZ60rXs7LnlGpfyXNK12pUvuxz3r8NpY8hnaeYWqWCWn2vvFqlglp1d1l1b1l9d6fSyyXXJ62727VgUEZVUqacZdxbX+F/AekvZI1aDduSv5zL+ov87l/MRn9hawz/Mn/cWlqUrHYNRywc3Aqzn2uKI4lpOHz5DhJSsnEjLRdZ+cXhxEatksKou6Mtaro7ouYTDgj0dEJTf1fY21Y+mKpUxbPkAj2dytwuhEB+kR4Zd8dG5eTrUKAr7lotKNJL/y0o0qNAp0d+oQ4Furutk7p7XbRGrZYG2/UovG/ZcL9S6w2OeW+56O45i3QCjhYO5lYRiEw1ffp0TJkyRVouaSGSm5eLFkfe6y77cYmIyDJc7G3RuaFXueOvqotKpZJaCb1dLFoVxbCKQOTp6QmNRoPkZMOHiSUnJ8PX19eovFarhVarra7qERERkYVZxZOq7ezsEBwcjO3b743X0ev12L59O0JDQy1YMyIiInoUWEULEQBMmTIFI0eORNu2bdGuXTt8/PHHyM7OxqhRoyxdNSIiIrIwqwlEL774Im7duoUZM2YgKSkJrVq1wpYtW4wGWhMREZH1sYpp9w+LD2YkIiJSHlN+f1vFGCIiIiKiijAQERERkdVjICIiIiKrx0BEREREVo+BiIiIiKweAxERERFZPQYiIiIisnoMRERERGT1GIiIiIjI6lnNqzseRsnDvDMyMixcEyIiIqqskt/blXkpBwNRJWRmZgIAAgICLFwTIiIiMlVmZibc3NwqLMN3mVWCXq/H9evX4eLiApVKZenqPBIyMjIQEBCAK1eu8P1uZsZ7XX14r6sP73X1seZ7LYRAZmYm/P39oVZXPEqILUSVoFarUatWLUtX45Hk6upqdT9glsJ7XX14r6sP73X1sdZ7/aCWoRIcVE1ERERWj4GIiIiIrB4DEVWJVqvFzJkzodVqLV2Vxx7vdfXhva4+vNfVh/e6cjiomoiIiKweW4iIiIjI6jEQERERkdVjICIiIiKrx0BEREREVo+BiMq1ZMkS1K1bF/b29ggJCcGBAwcqtd+aNWugUqnQv39/81bwMWLqvU5LS0NUVBT8/Pyg1WrRsGFD/Pbbb9VUW2Uz9V5//PHHaNSoERwcHBAQEIDXX38deXl51VRb5YqNjUXfvn3h7+8PlUqFn3766YH77Nq1C23atIFWq0X9+vWxcuVKs9fzcWDqvf7hhx/QvXt3eHl5wdXVFaGhodi6dWv1VPYRxkBEZYqOjsaUKVMwc+ZMHDlyBC1btkRERARu3rxZ4X6XLl3Cm2++ibCwsGqqqfKZeq8LCgrQvXt3XLp0CevXr8e5c+fw5ZdfombNmtVcc+Ux9V6vWrUK06ZNw8yZM3H27Fl89dVXiI6Oxv/93/9Vc82VJzs7Gy1btsSSJUsqVT4hIQF9+vTBM888g2PHjmHy5MkYO3Ysf1FXgqn3OjY2Ft27d8dvv/2Gw4cP45lnnkHfvn1x9OhRM9f0ESeIytCuXTsRFRUlLet0OuHv7y/mzp1b7j5FRUWiQ4cOYvny5WLkyJGiX79+1VBT5TP1Xi9dulTUq1dPFBQUVFcVHxum3uuoqCjRtWtXg3VTpkwRTz/9tFnr+bgBIH788ccKy7z99tuiadOmButefPFFERERYcaaPX4qc6/L0qRJEzF79mz5K6QgbCEiIwUFBTh8+DDCw8OldWq1GuHh4YiLiyt3vzlz5sDb2xtjxoypjmo+Fqpyr3/55ReEhoYiKioKPj4+aNasGT788EPodLrqqrYiVeVed+jQAYcPH5a61f7++2/89ttv6N27d7XU2ZrExcUZfG8AICIiosL/55A89Ho9MjMz4eHhYemqWBRf7kpGUlJSoNPp4OPjY7Dex8cHf/31V5n7/PHHH/jqq69w7Nixaqjh46Mq9/rvv//Gjh07MGzYMPz222+4ePEiXnvtNRQWFmLmzJnVUW1Fqsq9fumll5CSkoKOHTtCCIGioiK8+uqr7DIzg6SkpDK/NxkZGcjNzYWDg4OFavb4mz9/PrKysjB48GBLV8Wi2EJEDy0zMxPDhw/Hl19+CU9PT0tX57Gn1+vh7e2NL774AsHBwXjxxRfxzjvvYNmyZZau2mNn165d+PDDD/H555/jyJEj+OGHH7Bp0yb861//snTViGSxatUqzJ49G2vXroW3t7elq2NRbCEiI56entBoNEhOTjZYn5ycDF9fX6Py8fHxuHTpEvr27Sut0+v1AAAbGxucO3cOQUFB5q20Qpl6rwHAz88Ptra20Gg00ronn3wSSUlJKCgogJ2dnVnrrFRVudfvvfcehg8fjrFjxwIAmjdvjuzsbLz88st45513oFbzb0q5+Pr6lvm9cXV1ZeuQmaxZswZjx47FunXrjLorrRF/msmInZ0dgoODsX37dmmdXq/H9u3bERoaalS+cePGOHnyJI4dOyZ9nnvuOWm2SEBAQHVWX1FMvdcA8PTTT+PixYtS6ASA8+fPw8/Pj2GoAlW51zk5OUahpySICr4GUlahoaEG3xsAiImJKfd7Qw9n9erVGDVqFFavXo0+ffpYujqPBkuP6qZH05o1a4RWqxUrV64UZ86cES+//LJwd3cXSUlJQgghhg8fLqZNm1bu/pxlVnmm3uvExETh4uIiJkyYIM6dOyc2btwovL29xfvvv2+pS1AMU+/1zJkzhYuLi1i9erX4+++/xbZt20RQUJAYPHiwpS5BMTIzM8XRo0fF0aNHBQCxcOFCcfToUXH58mUhhBDTpk0Tw4cPl8r//fffwtHRUbz11lvi7NmzYsmSJUKj0YgtW7ZY6hIUw9R7/f333wsbGxuxZMkScePGDemTlpZmqUt4JDAQUbkWL14sateuLezs7ES7du3E/v37pW2dO3cWI0eOLHdfBiLTmHqv9+3bJ0JCQoRWqxX16tUTH3zwgSgqKqrmWiuTKfe6sLBQzJo1SwQFBQl7e3sREBAgXnvtNXHnzp3qr7jC7Ny5UwAw+pTc35EjR4rOnTsb7dOqVSthZ2cn6tWrJ1asWFHt9VYiU+91586dKyxvrVRCsN2XiIiIrBvHEBEREZHVYyAiIiIiq8dARERERFaPgYiIiIisHgMRERERWT0GIiIiIrJ6DERERERk9RiIiIiqSUFBAerXr499+/bJetwtW7agVatWBq9zIXoUxMbGom/fvvD394dKpcJPP/1k0v55eXmIjIxE8+bNYWNjg/79+1dYfu/evbCxsUGrVq1MrisDERFVSWRkJFQqldHn4sWLlq7aI2vZsmUIDAxEhw4dpHXl/ZKIjIx84P/8S/Ts2RO2trb4/vvvZaopkTyys7PRsmVLLFmypEr763Q6ODg4YNKkSQ98AW1aWhpGjBiBbt26VelcDEREVGU9e/bEjRs3DD6BgYFG5QoKCixQu0eLEAKfffYZxowZY5bjR0ZG4tNPPzXLsYmqqlevXnj//ffx/PPPl7k9Pz8fb775JmrWrAknJyeEhIRg165d0nYnJycsXboU48aNg6+vb4XnevXVV/HSSy9V+YXADEREVGVarRa+vr4GH41Ggy5dumDChAmYPHkyPD09ERERAQA4deoUevXqBWdnZ/j4+GD48OFISUmRjpednY0RI0bA2dkZfn5+WLBgAbp06YLJkydLZcpqUXF3d8fKlSul5StXrmDw4MFwd3eHh4cH+vXrh0uXLknbS1pf5s+fDz8/P9SoUQNRUVEoLCyUyuTn52Pq1KkICAiAVqtF/fr18dVXX0EIgfr162P+/PkGdTh27FiFLWSHDx9GfHx8ld4sfunSpTJb47p06SKV6du3Lw4dOoT4+HiTj09kKRMmTEBcXBzWrFmDEydO4IUXXkDPnj1x4cIFk46zYsUK/P3335g5c2aV68JARERm8c0338DOzg579+7FsmXLkJaWhq5du6J169Y4dOgQtmzZguTkZAwePFja56233sLu3bvx888/Y9u2bdi1axeOHDli0nkLCwsREREBFxcX7NmzB3v37oWzszN69uxp0FK1c+dOxMfHY+fOnfjmm2+wcuVKg1A1YsQIrF69Gp9++inOnj2L//73v3B2doZKpcLo0aOxYsUKg/OuWLECnTp1Qv369cus1549e9CwYUO4uLiYdD0AEBAQYNAKd/ToUdSoUQOdOnWSytSuXRs+Pj7Ys2ePyccnsoTExESsWLEC69atQ1hYGIKCgvDmm2+iY8eORj9fFblw4QKmTZuG7777DjY2NlWuT9X3JCKrt3HjRjg7O0vLvXr1wrp16wAADRo0wLx586Rt77//Plq3bo0PP/xQWvf1118jICAA58+fh7+/P7766it899130hiAb775BrVq1TKpTtHR0dDr9Vi+fDlUKhWA4rDi7u6OXbt2oUePHgCAJ554Ap999hk0Gg0aN26MPn36YPv27Rg3bhzOnz+PtWvXIiYmRhq3UK9ePekckZGRmDFjBg4cOIB27dqhsLAQq1atMmo1Ku3y5cvw9/cvc9vQoUOh0WgM1uXn50utSRqNRuouyMvLQ//+/REaGopZs2YZ7OPv74/Lly+bcLeILOfkyZPQ6XRo2LChwfr8/HzUqFGjUsfQ6XR46aWXMHv2bKPjmIqBiIiq7JlnnsHSpUulZScnJ+nr4OBgg7LHjx/Hzp07DQJUifj4eOTm5qKgoAAhISHSeg8PDzRq1MikOh0/fhwXL140aonJy8sz6E5q2rSpQQjx8/PDyZMnARR3f2k0GnTu3LnMc/j7+6NPnz74+uuv0a5dO/z666/Iz8/HCy+8UG69cnNzYW9vX+a2RYsWGQ0YnTp1KnQ6nVHZ0aNHIzMzEzExMVCrDRv5HRwckJOTU24diB4lWVlZ0Gg0OHz4sNEfBGX9f6IsmZmZOHToEI4ePYoJEyYAAPR6PYQQsLGxwbZt29C1a9dKHYuBiIiqzMnJqdwuotLhCCj+n1/fvn3x0UcfGZX18/Or9Ow0lUoFIYTButJjf7KyshAcHFzmjCsvLy/pa1tbW6Pjlkxbd3BweGA9xo4di+HDh2PRokVYsWIFXnzxRTg6OpZb3tPTUwpc9/P19TW6jy4uLkhLSzNY9/7772Pr1q04cOBAmV1vqampBtdI9Chr3bo1dDodbt68ibCwsCodw9XV1ejn6vPPP8eOHTuwfv36Mid5lIeBiIiqRZs2bbBhwwbUrVu3zH7+oKAg2Nra4s8//0Tt2rUBAHfu3MH58+cNWmq8vLxw48YNafnChQsGrSJt2rRBdHQ0vL294erqWqW6Nm/eHHq9Hrt37y53qm/v3r2lGTBbtmxBbGxshcds3bo1li5dCiGE1JVnig0bNmDOnDnYvHkzgoKCjLaXtIC1bt3a5GMTmUtWVpbBHzsJCQk4duwYPDw80LBhQwwbNgwjRozAggUL0Lp1a9y6dQvbt29HixYtpC7jM2fOoKCgAKmpqcjMzMSxY8cAAK1atYJarUazZs0Mzunt7Q17e3uj9Q/CQdVEVC2ioqKQmpqKoUOH4uDBg4iPj8fWrVsxatQo6HQ6ODs7Y8yYMXjrrbewY8cOnDp1CpGRkUbdQl27dsVnn32Go0eP4tChQ3j11VcNWnuGDRsGT09P9OvXD3v27EFCQgJ27dqFSZMm4erVq5Wqa926dTFy5EiMHj0aP/30k3SMtWvXSmU0Gg0iIyMxffp0NGjQ4IFTfZ955hlkZWXh9OnTJty1YqdOncKIESMwdepUNG3aFElJSUhKSkJqaqpUZv/+/dBqtVWeckxkDocOHULr1q2loD5lyhS0bt0aM2bMAFA8vm/EiBF444030KhRI/Tv3x8HDx6U/igCiv/4aN26NX799Vfs2rXL4HhyYiAiomrh7++PvXv3QqfToUePHmjevDkmT54Md3d3KfT85z//QVhYGPr27Yvw8HB07NjRaCzSggULEBAQgLCwMLz00kt48803DbqqHB0dERsbi9q1a2PAgAF48sknMWbMGOTl5ZnUYrR06VIMGjQIr732Gho3boxx48YhOzvboMyYMWNQUFCAUaNGPfB4NWrUwPPPP1+lhyceOnQIOTk5eP/99+Hn5yd9BgwYIJVZvXo1hg0bVmG3HVF169KlC4QQRp+SGZ22traYPXs2EhISUFBQgOvXr+OHH35A8+bNpWNcunSpzGOUZ9asWVIrkilUoqKjEhFZWJcuXdCqVSt8/PHHlq6KkT179qBbt264cuUKfHx8Hlj+xIkT6N69O+Lj4ys9aLQyUlJS0KhRIxw6dMikMRNEdA9biIiITJSfn4+rV69i1qxZeOGFFyoVhgCgRYsW+Oijj5CQkCBrfS5duoTPP/+cYYjoIXBQNRGRiVavXo0xY8agVatW+Pbbb03aNzIyUvb6tG3bFm3btpX9uETWhF1mREREZPXYZUZERERWj4GIiIiIrB4DEREREVk9BiIiIiKyegxEREREZPUYiIiIiMjqMRARERGR1WMgIiIiIqvHQERERERW7/8BXm10D1TtHhkAAAAASUVORK5CYII=\n", "text/plain": [ "
INFO loading SimulationData from data/524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2\u001b[0m.hdf5 \u001b]8;id=397529;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=265950;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 Running ResonanceFinder (nfreqs = 200) resonance.py:187\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m200\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=867334;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=870867;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#187\u001b\\\u001b[2m187\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:03:20] INFO Completed ResonanceFinder (nfreqs = 5) resonance.py:201\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:20]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Completed ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m5\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=690016;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=716356;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#201\u001b\\\u001b[2m201\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", " | decay | \n", "Q | \n", "amplitude | \n", "phase | \n", "error | \n", "
---|---|---|---|---|---|
freq | \n", "\n", " | \n", " | \n", " | \n", " | \n", " |
9.788253e+13 | \n", "7.430813e+11 | \n", "413.826865 | \n", "0.008332 | \n", "1.656388 | \n", "0.000041 | \n", "
1.061235e+14 | \n", "9.529783e+10 | \n", "3498.472629 | \n", "0.037352 | \n", "3.054479 | \n", "0.000009 | \n", "
1.131265e+14 | \n", "2.128035e+12 | \n", "167.007322 | \n", "0.038965 | \n", "1.695435 | \n", "0.000051 | \n", "
1.191562e+14 | \n", "1.150597e+12 | \n", "325.344332 | \n", "0.022350 | \n", "-2.133775 | \n", "0.000034 | \n", "
1.372927e+14 | \n", "1.121520e+12 | \n", "384.583068 | \n", "0.031599 | \n", "-0.707254 | \n", "0.000053 | \n", "
INFO downloading file \"output/monitor_data.hdf5\" to webapi.py:593\n", " \"data/425fbe84-a204-43ca-a331-08a2bd603db7.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=946940;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=10779;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/425fbe84-a204-43ca-a331-08a2bd603db7.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": "373f833ec80f4ed0ac0bd813f0140190", "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": [ "
[23:03:22] INFO loading SimulationData from data/425fbe84-a204-43ca-a331-08a2bd603db7.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:22]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m425fbe84-a204-43ca-a331-08a2bd603db7\u001b[0m.hdf5 \u001b]8;id=434474;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=562957;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 Running ResonanceFinder (nfreqs = 200) resonance.py:187\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m200\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=633915;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=465478;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#187\u001b\\\u001b[2m187\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO Iterated ResonanceFinder (nfreqs = 3) resonance.py:203\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Iterated ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m3\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=835426;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=454499;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#203\u001b\\\u001b[2m203\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO Completed ResonanceFinder (nfreqs = 3) resonance.py:201\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Completed ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m3\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=292849;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=258475;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#201\u001b\\\u001b[2m201\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO loading SimulationData from data/524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m524d39cf-9f84-4f05-9d5c-f8d13bd6b5c2\u001b[0m.hdf5 \u001b]8;id=286360;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=735490;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": [ "
[23:03:23] INFO Running ResonanceFinder (nfreqs = 200) resonance.py:187\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:23]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m200\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=798079;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=859086;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#187\u001b\\\u001b[2m187\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO Completed ResonanceFinder (nfreqs = 5) resonance.py:201\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Completed ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m5\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=567877;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=445938;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#201\u001b\\\u001b[2m201\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:03:24] INFO downloading file \"output/monitor_data.hdf5\" to webapi.py:593\n", " \"data/8b30587b-3c92-40dd-9025-bba6f1aaddac.hdf5\" \n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:24]\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=496236;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=264611;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/8b30587b-3c92-40dd-9025-bba6f1aaddac.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": "ab351bf354d5499a9e151ccc4af672fb", "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": [ "
[23:03:25] INFO loading SimulationData from data/8b30587b-3c92-40dd-9025-bba6f1aaddac.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:25]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m8b30587b-3c92-40dd-9025-bba6f1aaddac\u001b[0m.hdf5 \u001b]8;id=215656;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=17467;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 Running ResonanceFinder (nfreqs = 200) resonance.py:187\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m200\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=196198;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=266067;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#187\u001b\\\u001b[2m187\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:03:26] INFO Completed ResonanceFinder (nfreqs = 6) resonance.py:201\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:26]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Completed ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m6\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=8196;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=12553;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#201\u001b\\\u001b[2m201\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/719b283b-13c3-44e0-8b76-fa952db89bbf.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=60938;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=702221;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/719b283b-13c3-44e0-8b76-fa952db89bbf.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": "7b5783a030c54bd7ba3e0b1b84b894f4", "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": [ "
[23:03:28] INFO loading SimulationData from data/719b283b-13c3-44e0-8b76-fa952db89bbf.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:28]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m719b283b-13c3-44e0-8b76-fa952db89bbf\u001b[0m.hdf5 \u001b]8;id=363095;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=424275;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 Running ResonanceFinder (nfreqs = 200) resonance.py:187\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m200\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=572779;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=92042;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#187\u001b\\\u001b[2m187\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:03:29] INFO Completed ResonanceFinder (nfreqs = 6) resonance.py:201\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:29]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Completed ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m6\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=519771;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=384110;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#201\u001b\\\u001b[2m201\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/2059db83-e7cb-4486-81f5-dcc111ee48a1.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=357210;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=759401;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/2059db83-e7cb-4486-81f5-dcc111ee48a1.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": "bf5f82299a1143b5b0f85c22878f4362", "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": [ "
[23:03:30] INFO loading SimulationData from data/2059db83-e7cb-4486-81f5-dcc111ee48a1.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:30]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m2059db83-e7cb-4486-81f5-dcc111ee48a1\u001b[0m.hdf5 \u001b]8;id=619069;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=199534;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 Running ResonanceFinder (nfreqs = 200) resonance.py:187\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m200\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=464243;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=89909;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#187\u001b\\\u001b[2m187\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:03:31] INFO Completed ResonanceFinder (nfreqs = 6) resonance.py:201\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:31]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Completed ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m6\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=272508;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=570488;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#201\u001b\\\u001b[2m201\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/0f5ed6f3-cc9c-43e3-b3d5-dc83d60e194f.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=837828;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=104186;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/0f5ed6f3-cc9c-43e3-b3d5-dc83d60e194f.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": "8d68297af68543468bbd2e56203d9d2d", "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": [ "
[23:03:33] INFO loading SimulationData from data/0f5ed6f3-cc9c-43e3-b3d5-dc83d60e194f.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:33]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m0f5ed6f3-cc9c-43e3-b3d5-dc83d60e194f\u001b[0m.hdf5 \u001b]8;id=170081;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=561464;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 Running ResonanceFinder (nfreqs = 200) resonance.py:187\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m200\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=343414;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=418327;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#187\u001b\\\u001b[2m187\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:03:34] INFO Iterated ResonanceFinder (nfreqs = 5) resonance.py:203\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:34]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Iterated ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m5\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=418100;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=604737;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#203\u001b\\\u001b[2m203\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO Completed ResonanceFinder (nfreqs = 5) resonance.py:201\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Completed ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m5\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=20247;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=180993;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#201\u001b\\\u001b[2m201\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/e74e7171-af37-47ac-b584-8e92cbfa37ca.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=302178;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=882915;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/e74e7171-af37-47ac-b584-8e92cbfa37ca.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": "298ccdd72d224259b0636ad1d0cce945", "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": [ "
[23:03:36] INFO loading SimulationData from data/e74e7171-af37-47ac-b584-8e92cbfa37ca.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:36]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93me74e7171-af37-47ac-b584-8e92cbfa37ca\u001b[0m.hdf5 \u001b]8;id=533715;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=485841;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 Running ResonanceFinder (nfreqs = 200) resonance.py:187\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m200\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=999579;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=648136;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#187\u001b\\\u001b[2m187\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:03:37] INFO Iterated ResonanceFinder (nfreqs = 4) resonance.py:203\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:37]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Iterated ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m4\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=369026;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=947726;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#203\u001b\\\u001b[2m203\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO Completed ResonanceFinder (nfreqs = 4) resonance.py:201\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Completed ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m4\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=354840;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=628239;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#201\u001b\\\u001b[2m201\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/a941d525-dced-4a28-b46c-a1be17570ff8.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=377086;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=153267;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/a941d525-dced-4a28-b46c-a1be17570ff8.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": "7624bdbab83e48f88647ca7bc346987a", "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": [ "
[23:03:39] INFO loading SimulationData from data/a941d525-dced-4a28-b46c-a1be17570ff8.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:39]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93ma941d525-dced-4a28-b46c-a1be17570ff8\u001b[0m.hdf5 \u001b]8;id=453343;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=171683;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 Running ResonanceFinder (nfreqs = 200) resonance.py:187\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m200\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=948348;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=981167;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#187\u001b\\\u001b[2m187\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO Completed ResonanceFinder (nfreqs = 4) resonance.py:201\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Completed ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m4\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=70423;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=119326;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#201\u001b\\\u001b[2m201\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/feb89d62-370a-4b44-b7ff-c506d4249796.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=705908;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=179379;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/feb89d62-370a-4b44-b7ff-c506d4249796.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": "dac5f20ef7b04279b466cfcd21d52610", "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": [ "
[23:03:41] INFO loading SimulationData from data/feb89d62-370a-4b44-b7ff-c506d4249796.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:41]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93mfeb89d62-370a-4b44-b7ff-c506d4249796\u001b[0m.hdf5 \u001b]8;id=157859;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=818917;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 Running ResonanceFinder (nfreqs = 200) resonance.py:187\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m200\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=404867;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=240581;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#187\u001b\\\u001b[2m187\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:03:42] INFO Completed ResonanceFinder (nfreqs = 3) resonance.py:201\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:42]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Completed ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m3\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=241977;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=448293;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#201\u001b\\\u001b[2m201\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/4a0fcb9a-a192-4b3b-bfbd-365b6e26881d.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=426113;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=766437;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/4a0fcb9a-a192-4b3b-bfbd-365b6e26881d.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": "0c119b9a035447efb37e92e847f460b2", "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": [ "
[23:03:44] INFO loading SimulationData from data/4a0fcb9a-a192-4b3b-bfbd-365b6e26881d.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:44]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m4a0fcb9a-a192-4b3b-bfbd-365b6e26881d\u001b[0m.hdf5 \u001b]8;id=112594;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=724586;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 Running ResonanceFinder (nfreqs = 200) resonance.py:187\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m200\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=909011;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=731737;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#187\u001b\\\u001b[2m187\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:03:45] INFO Completed ResonanceFinder (nfreqs = 5) resonance.py:201\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:45]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Completed ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m5\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=571799;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=89192;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#201\u001b\\\u001b[2m201\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/6c6dc262-ecd4-4b4b-abc3-d1b4899fb3e1.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=663719;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=818729;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/6c6dc262-ecd4-4b4b-abc3-d1b4899fb3e1.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": "a79cde4524f545c2a9e956e905852768", "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": [ "
[23:03:46] INFO loading SimulationData from data/6c6dc262-ecd4-4b4b-abc3-d1b4899fb3e1.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:46]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m6c6dc262-ecd4-4b4b-abc3-d1b4899fb3e1\u001b[0m.hdf5 \u001b]8;id=730547;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=446811;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 Running ResonanceFinder (nfreqs = 200) resonance.py:187\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m200\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=615525;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=353767;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#187\u001b\\\u001b[2m187\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:03:47] INFO Completed ResonanceFinder (nfreqs = 6) resonance.py:201\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:47]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Completed ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m6\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=995927;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=709640;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#201\u001b\\\u001b[2m201\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/0898cac9-d357-4895-bd29-e0da91946906.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=157884;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=67444;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/0898cac9-d357-4895-bd29-e0da91946906.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": "5250812daf6c45f2adc8b24de28a1b86", "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": [ "
[23:03:49] INFO loading SimulationData from data/0898cac9-d357-4895-bd29-e0da91946906.hdf5 webapi.py:415\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:49]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m0898cac9-d357-4895-bd29-e0da91946906\u001b[0m.hdf5 \u001b]8;id=83338;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=985377;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 Running ResonanceFinder (nfreqs = 200) resonance.py:187\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m200\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=465024;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=356909;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#187\u001b\\\u001b[2m187\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[23:03:50] INFO Completed ResonanceFinder (nfreqs = 6) resonance.py:201\n", "\n" ], "text/plain": [ "\u001b[2;36m[23:03:50]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Completed ResonanceFinder \u001b[1m(\u001b[0mnfreqs = \u001b[1;36m6\u001b[0m\u001b[1m)\u001b[0m \u001b]8;id=305831;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py\u001b\\\u001b[2mresonance.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=903738;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/plugins/resonance/resonance.py#201\u001b\\\u001b[2m201\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "