{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Germanium Fano metasurface \n",
    "\n",
    "<b>Author: Romil Audhkhasi, University of Southern California</b>\n",
    "\n",
    "In this example, we reproduce the findings of Campione et al. (2016), which is linked [here](https://pubs.acs.org/doi/abs/10.1021/acsphotonics.6b00556?casa_token=v7Cq9VMW40UAAAAA:AWrBfYCHrwGQ9PYBYgdprrQ8X8i-nOairIplRs1Ejo2sbDmFT9nsV1M6UEXpvOfYSnwMjagD9IT97Ph2).\n",
    "\n",
    "The paper investigates the resonances of Germanium structures by measuring their transmission spectrum under varying geometric parameters.\n",
    "\n",
    "The paper uses a different commercial finite-difference time-domain software, which matches the result from Tidy3D.\n",
    "\n",
    "<!-- <img src=\"img/Ge_struct.png\" alt=\"diagram\" width=\"300\"/> -->\n",
    "\n",
    "To do this calculation, we use a broadband pulse and frequency monitor to measure the flux on the opposite side of the structure.\n",
    "\n",
    "Please check out another case study where we investigated a high-Q [silicon Fano resonator](https://www.flexcompute.com/tidy3d/examples/notebooks/HighQSi/). For more simulation examples, please visit our [examples page](https://www.flexcompute.com/tidy3d/examples/). If you are new to the finite-difference time-domain (FDTD) method, we highly recommend going through our [FDTD101](https://www.flexcompute.com/fdtd101/) tutorials. FDTD simulations can diverge due to various reasons. If you run into any simulation divergence issues, please follow the steps outlined in our [troubleshooting guide](https://www.flexcompute.com/tidy3d/examples/notebooks/DivergedFDTDSimulation/) to resolve it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "execution": {
     "iopub.execute_input": "2023-08-18T20:08:09.130542Z",
     "iopub.status.busy": "2023-08-18T20:08:09.129817Z",
     "iopub.status.idle": "2023-08-18T20:08:10.685532Z",
     "shell.execute_reply": "2023-08-18T20:08:10.684930Z"
    },
    "id": "8WfOAGgkyh3K",
    "outputId": "f02b3adf-9117-42b1-a69c-b5f4f3f0a6c5",
    "tags": []
   },
   "outputs": [],
   "source": [
    "# standard python imports\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "# tidy3D import\n",
    "import tidy3d as td\n",
    "from tidy3d import web"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Set Up Simulation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2023-08-18T20:08:10.687853Z",
     "iopub.status.busy": "2023-08-18T20:08:10.687588Z",
     "iopub.status.idle": "2023-08-18T20:08:10.708159Z",
     "shell.execute_reply": "2023-08-18T20:08:10.707520Z"
    },
    "id": "gy7J23c5yh3S",
    "tags": []
   },
   "outputs": [],
   "source": [
    "Nfreq = 1000\n",
    "wavelengths = np.linspace(8, 12, Nfreq)\n",
    "freqs = td.constants.C_0 / wavelengths\n",
    "freq0 = freqs[len(freqs) // 2]\n",
    "freqw = freqs[0] - freqs[-1]\n",
    "\n",
    "# Define material properties\n",
    "n_BaF2 = 1.45\n",
    "n_Ge = 4\n",
    "BaF2 = td.Medium(permittivity=n_BaF2**2)\n",
    "Ge = td.Medium(permittivity=n_Ge**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2023-08-18T20:08:10.710311Z",
     "iopub.status.busy": "2023-08-18T20:08:10.710167Z",
     "iopub.status.idle": "2023-08-18T20:08:10.729801Z",
     "shell.execute_reply": "2023-08-18T20:08:10.729210Z"
    },
    "id": "mGFiHbvhyh3T",
    "tags": []
   },
   "outputs": [],
   "source": [
    "# space between resonators and source\n",
    "spc = 8\n",
    "\n",
    "# geometric parameters\n",
    "Px = Py = P = 4.2\n",
    "h = 2.53\n",
    "L1 = 3.036\n",
    "L2 = 2.024\n",
    "w1 = w2 = w = 1.265\n",
    "\n",
    "# resolution (should be commensurate with periodicity)\n",
    "dl = P / 32"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2023-08-18T20:08:10.731789Z",
     "iopub.status.busy": "2023-08-18T20:08:10.731640Z",
     "iopub.status.idle": "2023-08-18T20:08:10.754624Z",
     "shell.execute_reply": "2023-08-18T20:08:10.754095Z"
    },
    "id": "Ol9GwSGUyh3U",
    "tags": []
   },
   "outputs": [],
   "source": [
    "# total size in z and [x,y,z]\n",
    "Lz = spc + h + h + spc\n",
    "sim_size = [Px, Py, Lz]\n",
    "\n",
    "# BaF2 substrate\n",
    "substrate = td.Structure(\n",
    "    geometry=td.Box(\n",
    "        center=[0, 0, -Lz / 2],\n",
    "        size=[td.inf, td.inf, 2 * (spc + h)],\n",
    "    ),\n",
    "    medium=BaF2,\n",
    "    name=\"substrate\",\n",
    ")\n",
    "\n",
    "# Define structure\n",
    "\n",
    "cell1 = td.Structure(\n",
    "    geometry=td.Box(\n",
    "        center=[(L1 / 2) - L2, -w1 / 2, h / 2],\n",
    "        size=[L1, w1, h],\n",
    "    ),\n",
    "    medium=Ge,\n",
    "    name=\"cell1\",\n",
    ")\n",
    "\n",
    "cell2 = td.Structure(\n",
    "    geometry=td.Box(\n",
    "        center=[-L2 / 2, w2 / 2, h / 2],\n",
    "        size=[L2, w2, h],\n",
    "    ),\n",
    "    medium=Ge,\n",
    "    name=\"cell2\",\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2023-08-18T20:08:10.756631Z",
     "iopub.status.busy": "2023-08-18T20:08:10.756484Z",
     "iopub.status.idle": "2023-08-18T20:08:10.775203Z",
     "shell.execute_reply": "2023-08-18T20:08:10.774640Z"
    },
    "id": "YO2yKasKyh3U",
    "tags": []
   },
   "outputs": [],
   "source": [
    "# time dependence of source\n",
    "gaussian = td.GaussianPulse(freq0=freq0, fwidth=freqw)\n",
    "\n",
    "# plane wave source\n",
    "source = td.PlaneWave(\n",
    "    source_time=gaussian,\n",
    "    size=(td.inf, td.inf, 0),\n",
    "    center=(0, 0, Lz / 2 - spc + 2 * dl),\n",
    "    direction=\"-\",\n",
    "    pol_angle=0,\n",
    ")\n",
    "\n",
    "# Simulation run time.  Note you need to run a long time to calculate high Q resonances.\n",
    "run_time = 8e-11"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2023-08-18T20:08:10.776937Z",
     "iopub.status.busy": "2023-08-18T20:08:10.776795Z",
     "iopub.status.idle": "2023-08-18T20:08:10.795007Z",
     "shell.execute_reply": "2023-08-18T20:08:10.794521Z"
    },
    "id": "4TZn_s8kyh3V",
    "tags": []
   },
   "outputs": [],
   "source": [
    "# monitor fields on other side of structure (substrate side) at range of frequencies\n",
    "monitor = td.FluxMonitor(\n",
    "    center=[0.0, 0.0, -Lz / 2 + spc - 2 * dl],\n",
    "    size=[td.inf, td.inf, 0],\n",
    "    freqs=freqs,\n",
    "    name=\"flux\",\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Define Case Studies\n",
    "\n",
    "Here we define the two simulations to run\n",
    "\n",
    "- With no resonator (normalization)\n",
    "- With Ge resonator\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "execution": {
     "iopub.execute_input": "2023-08-18T20:08:10.796846Z",
     "iopub.status.busy": "2023-08-18T20:08:10.796705Z",
     "iopub.status.idle": "2023-08-18T20:08:10.820804Z",
     "shell.execute_reply": "2023-08-18T20:08:10.820233Z"
    },
    "id": "fnpi5BiZyh3W",
    "outputId": "d25c2f44-d5a2-4241-b69b-0ffe5369ec5b",
    "tags": []
   },
   "outputs": [],
   "source": [
    "grid_spec = td.GridSpec(\n",
    "    grid_x=td.UniformGrid(dl=dl),\n",
    "    grid_y=td.UniformGrid(dl=dl),\n",
    "    grid_z=td.AutoGrid(min_steps_per_wvl=32),\n",
    ")\n",
    "\n",
    "# normalizing run (no Ge) to get baseline transmission vs freq\n",
    "# can be run for shorter time as there are no resonances\n",
    "sim_empty = td.Simulation(\n",
    "    size=sim_size,\n",
    "    grid_spec=grid_spec,\n",
    "    structures=[substrate],\n",
    "    sources=[source],\n",
    "    monitors=[monitor],\n",
    "    run_time=run_time / 10,\n",
    "    boundary_spec=td.BoundarySpec(\n",
    "        x=td.Boundary.periodic(), y=td.Boundary.periodic(), z=td.Boundary.pml()\n",
    "    ),\n",
    ")\n",
    "\n",
    "# run with Ge nanorod\n",
    "sim_actual = td.Simulation(\n",
    "    size=sim_size,\n",
    "    grid_spec=td.GridSpec.uniform(dl=dl),\n",
    "    structures=[substrate, cell1, cell2],\n",
    "    sources=[source],\n",
    "    monitors=[monitor],\n",
    "    run_time=run_time,\n",
    "    boundary_spec=td.BoundarySpec(\n",
    "        x=td.Boundary.periodic(), y=td.Boundary.periodic(), z=td.Boundary.pml()\n",
    "    ),\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 513
    },
    "execution": {
     "iopub.execute_input": "2023-08-18T20:08:10.822795Z",
     "iopub.status.busy": "2023-08-18T20:08:10.822652Z",
     "iopub.status.idle": "2023-08-18T20:08:11.497393Z",
     "shell.execute_reply": "2023-08-18T20:08:11.496875Z"
    },
    "id": "T8YFcftUyh3X",
    "outputId": "93b60986-ceb3-4064-eb8d-71a75495c11d",
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1EAAAIjCAYAAADiGJHUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB70klEQVR4nO3dd3xUZdr/8W/qJKRBIBAiCAFdUPoisiAKSKQsFnRlxVWKBRWDiqwFLDRL1gasDdRdQcWC+qywi7soIEUFC+15RAVBqYHQJBXIJJnz+4PfzGZSp8+Zyef9es1L5swp1wyei/u673PuE2EYhiEAAAAAgEsigx0AAAAAAIQSiigAAAAAcANFFAAAAAC4gSIKAAAAANxAEQUAAAAAbqCIAgAAAAA3UEQBAAAAgBsoogAAAADADRRRAAAAAOAGiqggWrNmjSIiIrRmzZpghwIgRJA3AAAIPoqoAHj55Ze1cOHCYIfhkXfeeUdz584NdhhO/v73v+u8885TXFyczj33XL3wwgsub1taWqoHH3xQGRkZio+PV+/evbVixYoa112/fr369eunRo0aKT09XXfffbeKi4t99TWAOpE3/M9ms+npp59WZmam4uLi1LVrV7377rsubXvo0CFNmTJFAwcOVFJSUr2FLfkEAMKMAb/r1KmT0b9//2rLKyoqjFOnThkVFRWBD8pFw4cPN9q0aRPsMBzmz59vSDL+8Ic/GK+++qoxevRoQ5Lxl7/8xaXtR40aZURHRxv33Xef8corrxh9+vQxoqOjjc8//9xpvS1bthhxcXFGjx49jHnz5hkPP/ywYbFYjKFDh/rjawHVkDf8b8qUKYYkY/z48carr75qDB8+3JBkvPvuu/Vuu3r1akOSce655xp9+vQxJBmrV6+ucV3yCQCEn4AVUcXFxYE6lOnU1hgKBWZqDJ08edJo2rSpMXz4cKflN9xwg5GQkGD8+uuvdW7/9ddfG5KMZ555xrHs1KlTRvv27Y0+ffo4rTts2DCjZcuWRkFBgWPZa6+9ZkgyPvnkEx98G7iCvNE/2GF4xEx5ozYHDhwwYmJijOzsbMcym81mXHzxxUarVq2M8vLyOrcvLCw0jh8/bhiGYXzwwQd1FlHkEwAIPx5dzpebm6tbbrlFGRkZslgsyszM1IQJE2S1WiVJCxcuVEREhNauXas777xTzZs3V6tWrRzbv/zyy+rUqZMsFosyMjKUnZ2t/Px8p2Ps3LlTf/jDH5Senq64uDi1atVKo0aNUkFBgWOdFStWqF+/fmrcuLESExPVoUMHPfTQQ/XG78p2paWlmj59us455xxZLBa1bt1aDzzwgEpLS6vtb9GiRbrwwgvVqFEjNWnSRJdccok+/fRTSVLbtm31/fffa+3atYqIiFBERIQGDBggqfZ7Gz744AP17NlT8fHxatasmW688Ubl5uY6rTNu3DglJiYqNzdXI0aMUGJiotLS0nTfffepoqKi3t9g6dKlGj58uOPvsH379nrsscecth0wYIA+/vhj7d271xF727Zta93nggULFBERoddff91p+ZNPPqmIiAj9+9//rjeuuqxevVrHjx/XnXfe6bQ8OztbJSUl+vjjj+vc/sMPP1RUVJRuu+02x7K4uDjdcsst2rBhg/bv3y9JKiws1IoVK3TjjTcqOTnZse6YMWOUmJio999/36vv0VCRN5yRN87o37+/unXrVuNnHTp00JAhQ+qNyxNLly5VWVmZUz6JiIjQhAkTdODAAW3YsKHO7ZOSkpSamlrvccgnABCeot3d4ODBg7rwwguVn5+v2267TR07dlRubq4+/PBDnTx5UrGxsY5177zzTqWlpWnatGkqKSmRJM2YMUMzZ85UVlaWJkyYoB07dmjevHn69ttv9eWXXyomJkZWq1VDhgxRaWmp7rrrLqWnpys3N1fLli1Tfn6+UlJS9P333+vyyy9X165dNWvWLFksFu3atUtffvllnfG7sp3NZtOVV16pL774QrfddpvOO+88fffdd5ozZ45++uknLVmyxLHuzJkzNWPGDPXt21ezZs1SbGysvv76a3322WcaPHiw5s6dq7vuukuJiYl6+OGHJUktWrSoNb6FCxfqpptuUq9evZSTk6PDhw/rr3/9q7788ktt2bJFjRs3dqxbUVGhIUOGqHfv3nr22We1cuVKPffcc2rfvr0mTJhQ5++wcOFCJSYmavLkyUpMTNRnn32madOmqbCwUM8884wk6eGHH1ZBQYEOHDigOXPmSJISExNr3edNN92kf/zjH5o8ebIuu+wytW7dWt99951mzpypW265Rb///e8d6544ccKlRlujRo3UqFEjSdKWLVskSRdccIHTOj179lRkZKS2bNmiG2+8sdZ9bdmyRb/5zW+cGjKSdOGFF0qStm7d6oi5vLy82nFiY2PVvXt3RxxwHXmDvFGb0aNHa/z48dq2bZs6d+7sWP7tt9/qp59+0iOPPOJY5kneqM2WLVuUkJCg8847z2m5PR9s2bJF/fr1q/dY9SGfAECYcnfoasyYMUZkZKTx7bffVvvMZrMZhmEYCxYsMCQZ/fr1c7ok4siRI0ZsbKwxePBgp+v5X3zxRUOS8frrrxuGceb6cUnGBx98UGscc+bMMSQZR48edSt+V7Z76623jMjIyGr3ydjvx/nyyy8NwzCMnTt3GpGRkcbVV19d7f4E+29hGLVflmO/pt5+CYjVajWaN29udO7c2Th16pRjvWXLlhmSjGnTpjmWjR071pBkzJo1y2mfPXr0MHr27Fn3j2CcuTSuqttvv91o1KiRcfr0accydy/LOXTokJGammpcdtllRmlpqdGjRw/j7LPPdrqMxTAMo02bNoakel/Tp093bJOdnW1ERUXVeNy0tDRj1KhRdcbWqVMn49JLL622/PvvvzckGfPnzzcM47+X5qxbt67auiNHjjTS09Pr+xlQBXmDvFGb/Px8Iy4uznjwwQedlt99991GQkKC0yWdnuSN2gwfPtxo165dteUlJSWGJGPKlCkuxW8YdV/ORz4BgPDk1uV8NptNS5Ys0RVXXFGtV006cylEZePHj1dUVJTj/cqVK2W1WjVp0iRFRkY6rZecnOy4HCslJUWS9Mknn+jkyZM1xmLvWV26dKlsNpvL38GV7T744AOdd9556tixo44dO+Z4XXrppZLOXFYmSUuWLJHNZtO0adOcvo9U/bdwxcaNG3XkyBHdeeediouLcywfPny4OnbsWOPlanfccYfT+4svvli//PJLvceKj493/LmoqEjHjh3TxRdfrJMnT2r79u1ux26Xnp6ul156SStWrNDFF1+srVu36vXXX682+vP2229rxYoV9b7GjBnj2ObUqVNOIxaVxcXF6dSpU3XGdurUKVkslhq3tX9e+b+1rVvfceCMvEHeqEtKSoquuuoqvfvuuzIMQ9KZ0bLFixdrxIgRSkhIcKzrSd6ojav5wFvkEwAIT25dznf06FEVFhY6XXJRl8zMTKf3e/fulXTmOvfKYmNj1a5dO8fnmZmZmjx5smbPnq23335bF198sa688krdeOONjobSddddp7/97W+69dZbNWXKFA0aNEjXXHONrr322moN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3yiiAAAAAMANFFEwHXqRAXiDHAIA8DeKKAAAAABwA0UUTIdeZADeIIcAdVuzZo0iIiK0Zs2aYIcChCyKKAAAgDD08ssva+HChcEOwyPvvPOO5s6dG+wwJEk2m01PP/20MjMzFRcXp65du+rdd991adtDhw5pypQpGjhwoJKSkuotXtevX69+/fqpUaNGSk9P1913363i4mIffRP4EkUUTIdeZADeIIcAZ9RWRF1yySU6deqULrnkksAH5SIzFVEPP/ywHnzwQV122WV64YUXdPbZZ+tPf/qT3nvvvXq33bFjh5566inl5uaqS5cuda67detWDRo0SCdPntTs2bN166236tVXX9XIkSN99VXgQ9HBDgAAAMBfSkpKlJCQEOwwTCUyMlJxcXHBDiMk5Obm6rnnnlN2drZefPFFSdKtt96q/v376/7779fIkSMVFRVV6/Y9e/bU8ePHlZqaqg8//LDOguihhx5SkyZNtGbNGiUnJ0uS2rZtq/Hjx+vTTz/V4MGDffvl4BVGomA69CID8AY5JHzl5ubqlltuUUZGhiwWizIzMzVhwgRZrVZJ0sKFCxUREaG1a9fqzjvvVPPmzdWqVSvH9i+//LI6deoki8WijIwMZWdnKz8/3+kYO3fu1B/+8Aelp6crLi5OrVq10qhRo1RQUOBYZ8WKFerXr58aN26sxMREdejQQQ899FC98buyXWlpqaZPn65zzjlHFotFrVu31gMPPKDS0tJq+1u0aJEuvPBCNWrUSE2aNNEll1yiTz/9VNKZxvf333+vtWvXOs6HAQMGSKr9nqgPPvhAPXv2VHx8vJo1a6Ybb7xRubm5TuuMGzdOiYmJys3N1YgRI5SYmKi0tDTdd999qqioqPc3WLp0qYYPH+74O2zfvr0ee+wxp20HDBigjz/+WHv37nXE3rZt21r3OW7cOKfzvvJrxowZ9cZUX7xlZWW68847HcsiIiI0YcIEHThwQBs2bKhz+6SkJKWmptZ7nMLCQq1YsUI33nijo4CSpDFjxigxMVHvv/++518CfsFIFEyHBhAAb5BDwtPBgwd14YUXKj8/X7fddps6duyo3Nxcffjhhzp58qRiY2Md6955551KS0vTtGnTVFJSIkmaMWOGZs6cqaysLE2YMEE7duzQvHnz9O233+rLL79UTEyMrFarhgwZotLSUt11111KT09Xbm6uli1bpvz8fKWkpOj777/X5Zdfrq5du2rWrFmyWCzatWuXvvzyyzrjd2U7m82mK6+8Ul988YVuu+02nXfeefruu+80Z84c/fTTT1qyZIlj3ZkzZ2rGjBnq27evZs2apdjYWH399df67LPPNHjwYM2dO1d33XWXEhMT9fDDD0uSWrRoUWt8Cxcu1E033aRevXopJydHhw8f1l//+ld9+eWX2rJlixo3buxYt6KiQkOGDFHv3r317LPPauXKlXruuefUvn17TZgwoc7fYeHChUpMTNTkyZOVmJiozz77TNOmTVNhYaGeeeYZSWcunysoKNCBAwc0Z84cSVJiYmKt+7z99tuVlZXltGz58uV6++231bx5c8eyY8eO1RmbXVJSkiwWiyRpy5YtSkhI0Hnnnee0zoUXXuj4vF+/fi7tty7fffedysvLdcEFFzgtj42NVffu3bVlyxavjwEfM+CkoKDAkGQUFBQEO5SQ5M3vZ9/2oosuMvr3729cdNFF/F0g5JBDvEMOQW3GjBljREZGGt9++221z2w2m2EYhrFgwQJDktGvXz+jvLzc8fmRI0eM2NhYY/DgwUZFRYVj+YsvvmhIMl5//XXDMAxjy5YthiTjgw8+qDWOOXPmGJKMo0ePuhW/K9u99dZbRmRkpPH55587LZ8/f74hyfjyyy8NwzCMnTt3GpGRkcbVV1/t9H0M47+/hWEYRqdOnYz+/ftXO87q1asNScbq1asNwzAMq9VqNG/e3OjcubNx6tQpx3rLli0zJBnTpk1zLBs7dqwhyZg1a5bTPnv06GH07Nmz7h/BMIyTJ09WW3b77bcbjRo1Mk6fPu1YNnz4cKNNmzb17q8mO3fuNFJSUozLLrvM6f8DSS69FixY4BRHu3btqh2jpKTEkGRMmTLF5bg++OADp9+9ps/WrVtX7bORI0ca6enpLh8HgcHlfDAdepEBeIMcEn5sNpuWLFmiK664olpPvaRqf9fjx493uk9l5cqVslqtmjRpkiIjI53WS05O1scffyxJSklJkSR98sknOnnyZI2x2Edkli5dKpvN5vJ3cGW7Dz74QOedd546duyoY8eOOV6XXnqpJGn16tWSpCVLlshms2natGlO30eq/lu4YuPGjTpy5IjuvPNOp3ulhg8fro4dOzp+n8ruuOMOp/cXX3yxfvnll3qPFR8f7/hzUVGRjh07posvvlgnT57U9u3b3Y69qpKSEl199dVq0qSJ3n33Xaf/D1asWOHSa8iQIY5tTp065RiVqsz+O506dcrrmCvvp7Zj+eo48B0u5wMAAKZ29OhRFRYWqnPnzi6tn5mZ6fR+7969kqQOHTo4LY+NjVW7du0cn2dmZmry5MmaPXu23n77bV188cW68sordeONNzoKrOuuu05/+9vfdOutt2rKlCkaNGiQrrnmGl177bXVCprKXNlu586d+vHHH5WWllbjPo4cOSJJ+vnnnxUZGanzzz/fpd+jPrX9PpLUsWNHffHFF07L4uLiqsXYpEkTnThxot5jff/993rkkUf02WefqbCw0OmzyvedeWr8+PH6+eeftX79ejVt2tTps6qX/LkiPj6+xvvRTp8+7fjcF+z7qe1YvjoOfIciCqZDLzIAb5BD4E2D87nnntO4ceO0dOlSffrpp7r77ruVk5Ojr776Sq1atVJ8fLzWrVun1atX6+OPP9by5cu1ePFiXXrppfr0009rnanNle1sNpu6dOmi2bNn17iP1q1be/y9fKmu2ejqkp+fr/79+ys5OVmzZs1S+/btFRcXp82bN+vBBx90a2SvJn/961/17rvvatGiRerevXu1z/Py8lzaT0pKiuP/oZYtW2r16tUyDMMppxw6dEiSlJGR4VXMdi1btnTab2WHDh3y2XHgO1zOBwAATC0tLU3Jycnatm2bR9u3adNG0pln9lRmtVq1e/dux+d2Xbp00SOPPKJ169bp888/V25urubPn+/4PDIyUoMGDdLs2bP1ww8/6IknntBnn33muNyuNvVt1759e/36668aNGiQsrKyqr3sI0Xt27eXzWbTDz/8UOfxXO1IqO33sS+r+vt4as2aNTp+/LgWLlyoe+65R5dffrmysrLUpEmTauu62wny+eef67777tOkSZN0ww031LhOy5YtXXotXrzYsU337t118uRJ/fjjj077+vrrrx2f+0Lnzp0VHR2tjRs3Oi23Wq3aunWrz44D36GIgul42ou8bt06XXHFFcrIyFBERITTLEZlZWV68MEH1aVLFyUkJCgjI0NjxozRwYMHfRw9gGDzZiSKPGJOkZGRGjFihP71r39Va2RKkmEYdW6flZWl2NhYPf/8807r/v3vf1dBQYGGDx8u6cw00+Xl5U7bdunSRZGRkY7LrH799ddq+7c3cGu6FMvOle3++Mc/Kjc3V6+99lq1dU+dOuWYaXDEiBGKjIzUrFmzqo3eVP5+CQkJ1aZwr8kFF1yg5s2ba/78+U7f4T//+Y9+/PFHx+/jLfsIVuUYrVarXn755WrrJiQkuHx536FDh/THP/5R/fr1c8zwVxNP7om66qqrFBMT4xSjYRiaP3++zjrrLPXt29cpju3bt6usrMyluCtLSUlRVlaWFi1apKKiIsfyt956S8XFxTxw14S4nA9ho6SkRN26ddPNN9+sa665xumzkydPavPmzXr00UfVrVs3nThxQvfcc4+uvPLKGv9BBtAwkUfM68knn9Snn36q/v37O6b/PnTokD744AN98cUXTlNwV5WWlqapU6dq5syZGjp0qK688krt2LFDL7/8snr16qUbb7xRkvTZZ59p4sSJGjlypH7zm9+ovLxcb731lqKiovSHP/xBkjRr1iytW7dOw4cPV5s2bXTkyBG9/PLLatWqVZ1TXbuy3ejRo/X+++/rjjvu0OrVq3XRRRepoqJC27dv1/vvv69PPvlEF1xwgc455xw9/PDDeuyxx3TxxRfrmmuukcVi0bfffquMjAzl5ORIOvOg13nz5unxxx/XOeeco+bNmzsmqagsJiZGTz31lG666Sb1799f119/vWOK87Zt2+ree+/19K/NSd++fdWkSRONHTtWd999tyIiIvTWW2/VWAT37NlTixcv1uTJk9WrVy8lJibqiiuuqHG/d999t44ePaoHHnhA7733ntNnXbt2VdeuXSV5dk9Uq1atNGnSJD3zzDMqKytTr169tGTJEn3++ed6++23nS5tnDp1qt544w3t3r3b6blWjz/+uKQz94NJZwoj+31mjzzyiGO9J554Qn379nX8P37gwAE999xzGjx4sIYOHep27PCzIM4MaEpMT+wdX0xP3L9/f2PQoEFG//79Pd6XJOOjjz6qc51vvvnGkGTs3bvX7f0DtSGHeMcsOcQwyCNmtHfvXmPMmDFGWlqaYbFYjHbt2hnZ2dlGaWmpYRj/neK8pmnQDePMlOYdO3Y0YmJijBYtWhgTJkwwTpw44fj8l19+MW6++Wajffv2RlxcnJGammoMHDjQWLlypWOdVatWGVdddZWRkZFhxMbGGhkZGcb1119v/PTTT3XG7up2VqvVeOqpp4xOnToZFovFaNKkidGzZ09j5syZ1f5ffv31140ePXo41uvfv7+xYsUKx+d5eXnG8OHDjaSkJMe5YRjVpzi3W7x4sWN/qampxg033GAcOHDAaZ2xY8caCQkJ1b7f9OnTDVealV9++aXxu9/9zoiPjzcyMjKMBx54wPjkk0+qxVNcXGz86U9/Mho3bmxIqnO6c/u5XtNr+vTp9cZUn4qKCuPJJ5802rRpY8TGxhqdOnUyFi1aVG09+/Tvu3fvdlpeW2w1/V6ff/650bdvXyMuLs5IS0szsrOzjcLCQq+/A3wvwjDqGQNvYAoLC5WSkqKCggKnJ0bDNd78fvZtBwwYoOjoaJWXl2vNmjXav3+/074sFkuNU4BWFhERoY8++kgjRoyodZ2VK1dq8ODBys/P5+8aPkMO8Y5ZcohEHgEA1I57omB6rVu3VkpKiuNlv0zBG6dPn9aDDz6o66+/noYPEOb8kUMk8ggANGTcEwXTqXpTeE29yN4oKyvTH//4RxmGoXnz5nm1LwDm4+8cIpFHAKCho4iC6SUnJ/usl9fe8Nm7d68+++wzeo+BBsCXOUQijwAAKKJgQv56UKa94bNz506tXr262pPMAYQHfz5slzwCAJAoohBGiouLtWvXLsf73bt3a+vWrUpNTVXLli117bXXavPmzVq2bJkqKiocTy5PTU1VbGxssMIGYCLkEQCAKyiiYDqe9iJv3LhRAwcOdLyfPHmyJGns2LGaMWOG/vnPf0qq/nTx1atXa8CAAV7FDMA8vBmJIo8En81m08GDB5WUlOSX0UQgXBiGoaKiImVkZCgy0v254k6fPi2r1VrverGxsYqLi/MkxLBGEYWwMWDAgDqfWs9s/gDqQx4JvoMHD6p169bBDgMIGfv371erVq3c2ub06dOKj493ad309HTt3r2bQqoKiiiYjj/vZwAQ/sghwZWTk6N//OMf2r59u+Lj49W3b1899dRT6tChg0vbJyUlSao+qyIAZ4WFhWrdurXjnHGHKyNQdnl5ebJarRRRVYRVETVjxgzNnDnTaVmHDh20ffv2IEUET9H4QbCQR8IDOSR41q5dq+zsbPXq1Uvl5eV66KGHNHjwYP3www9KSEiod3v7352vZ1UEwpU3+a6+DifDMBiBr0VYFVGS1KlTJ61cudLxPjo67L4iAD8jjwCeW758udP7hQsXqnnz5tq0aZMuueSSIEUFoCaRkZH1FlEVFRUBjCh0hF3LIDo6Wunp6cEOA17gUhwEG3kktJFDzKWgoEDSmRkMa1JaWqrS0lLH+8LCwoDEBaD+kSjUzv2pPExu586dysjIULt27XTDDTdo3759da5fWlqqwsJCpxeAhs2dPEIOAWpns9k0adIkXXTRRercuXON6+Tk5CglJcXxYlIJIHAqdzrV9kLNwqqI6t27txYuXKjly5dr3rx52r17ty6++GIVFRXVug3J23w4cRFM7uYRcoj5kEPMIzs7W9u2bdN7771X6zpTp05VQUGB47V///4ARgg0bBRRngury/mGDRvm+HPXrl3Vu3dvtWnTRu+//75uueWWGreZOnWq4zkg0n9nOgHQMLmbR8ghQM0mTpyoZcuWad26dXVOv2yxWGSxWAIYGQA7V+6JQs3CqoiqqnHjxvrNb37j9PT5qkje5kPvB8ykvjxCDjEfckhwGYahu+66Sx999JHWrFmjzMzMYIcEoBbkSs+F1eV8VRUXF+vnn39Wy5Ytgx0KgBBFHgHck52drUWLFumdd95RUlKS8vLylJeXp1OnTgU7NABVcDmf58KqiLrvvvu0du1a7dmzR+vXr9fVV1+tqKgoXX/99cEODW7gxEUwkUdCHzkkuObNm6eCggINGDBALVu2dLwWL14c7NAAVOHrImrdunW64oorlJGRoYiICC1ZssTp83HjxlXb/9ChQ+vd70svvaS2bdsqLi5OvXv31jfffONWXP4QVpfzHThwQNdff72OHz+utLQ09evXT1999ZXS0tKCHRrcQAMIwUQeCX3kkODiHgogdPj6nqiSkhJ169ZNN998s6655poa1xk6dKgWLFjgeF/fJfGLFy/W5MmTNX/+fPXu3Vtz587VkCFDtGPHDjVv3tyt+HwprIqoumb/AQBXkEcAAA2Frzuchg0b5jRBU00sFotbz2KcPXu2xo8fr5tuukmSNH/+fH388cd6/fXXNWXKFK/i9UZYXc6H8EAvMgBvkEMAwDWuXs5X9XmIlR+Q7a41a9aoefPm6tChgyZMmKDjx4/Xuq7VatWmTZuUlZXlWBYZGamsrCxt2LDB4xh8gSIKAAAAaIBcLaJat27t9EzEnJwcj443dOhQvfnmm1q1apWeeuoprV27VsOGDVNFRUWN6x87dkwVFRVq0aKF0/IWLVooLy/Poxh8Jawu50N4oBcZgDfIIQDgmoiICEVG1j6mYrPZJEn79+9XcnKyY7mnj/YYNWqU489dunRR165d1b59e61Zs0aDBg3yaJ/BwkgUAAAA0AC5OhKVnJzs9PLV8xHbtWunZs2a1fosxmbNmikqKkqHDx92Wn748GG37qvyB4oomA69yAC8QQ4BANcE+zlRBw4c0PHjx2t9FmNsbKx69uypVatWOZbZbDatWrVKffr08Wts9aGIAgAAABogXxdRxcXF2rp1q7Zu3SpJ2r17t7Zu3ap9+/apuLhY999/v7766ivt2bNHq1at0lVXXaVzzjlHQ4YMcexj0KBBevHFFx3vJ0+erNdee01vvPGGfvzxR02YMEElJSWO2fqChXuiYDr0IgPwBjkEAFwTGRlZ5z1R7tq4caMGDhzoeD958mRJ0tixYzVv3jz93//9n9544w3l5+crIyNDgwcP1mOPPeZ0eeDPP/+sY8eOOd5fd911Onr0qKZNm6a8vDx1795dy5cvrzbZRKBRRAEAAAANUH0dTu52Rg0YMKDOB/R+8skn9e5jz5491ZZNnDhREydOdCsWf6OIgunQiwzAG+QQAHCNr4uohoQiCqZDAwiAN8ghAOAaiijPUUQBAAAADZCv74lqSCiiYDr0IgPwBjkEAFzDSJTnKKIAAACABogiynMUUTAdepEBeIMcAgCu4XI+z1FEAQAAAA0QI1Geo4iC6dCLDMAb5BAAcA1FlOcoogAAAIAGiCLKcxRRMB16kQF4gxwCAK6JiIio854owzACGE1ooYiC6dAAAuANcggAuIaRKM9RRAEAAAANEEWU5yiiYDr0IgPwBjkEAFxDEeU5iigAAACgAarvOVHcE1U7iiiYDr3IALxBDgEA1zAS5TmKKAAAAKABoojyHEUUTImTFoA3yCEAUD+KKM9RRAEAAAANEPdEeY4iCqbD/QwAvEEOAQDXMBLlOYoomA4NIADeIIcAgGsoojxHEQUAqFHuunWKTUxU027dFBkVFexw0IDRkDMHLu0KPxRRnqOIgunQiwyYw9bZs1VWVKSEjAydPWSIzurfX4mtWwc7rHqRQwDANdwT5TmKKABAjYyKChmGoeLcXH3/2mva/tZbatqli86+7DK1vOgixSQmBjtEAIAXGInyXO2lJxAk9CIDgWHYbCorKan1JUlRsbGKb9ZM8WlpioyK0pFvv9XGJ5/Up3/6k7Y895yObt4sW0VFkL+JM3IIALiucs6s+nLXunXrdMUVVygjI0MRERFasmSJ47OysjI9+OCD6tKlixISEpSRkaExY8bo4MGDde5zxowZ1eLq2LGj27H5GiNRtSgsL5TKgx1F6CksLwx2CIAphEIO+WH2C8r7bF2tn9usVkXGxqjCqJAipMiEeFkS4mWrqJC1uFg/L1mi3R8vU3xGS2Vcdqma979ICa3O8iomcggABE59l/PV9VlNSkpK1K1bN91888265pprnD47efKkNm/erEcffVTdunXTiRMndM899+jKK6/Uxo0b69xvp06dtHLlSsf76OjglzDBj8Ck1hSsUSNbo2CHEXJOFp30eh/0IiMchEIOsR76XrbCX6Wk+JpXiJUUF6WIihoKm8QIGQkWyVqu0wd268Rrr+mHtxYq4rxWirrkfEVeeI4iEuLcjokcAgCB4+vL+YYNG6Zhw4bV+FlKSopWrFjhtOzFF1/UhRdeqH379unss8+udb/R0dFKT093KxZ/o4gCgIYsOlIRCRaPNo2IiJAsMZIlRoZhyDhplbF1t2xbdysiuZEif/cbRQ3srMiO3o1OAQD8w9UiqrDQuTPNYrHIYvHs347KCgoKFBERocaNG9e53s6dO5WRkaG4uDj16dNHOTk5dRZdgcA9UTAdepGB0BMREXGmGGuWJDWKlXE4XxUrtqrshX/LsNkCHws5BADqVdf9UJXzaOvWrZWSkuJ45eTkeH3s06dP68EHH9T111+v5OTkWtfr3bu3Fi5cqOXLl2vevHnavXu3Lr74YhUVFXkdgzcYiYLp0AACQo9RViGVnJas5VJsjCK7tlFk/06K6ttBEW5eU+8tcggAuMbVe6L279/vVOh4OwpVVlamP/7xjzIMQ/Pmzatz3cqXB3bt2lW9e/dWmzZt9P777+uWW27xKg5vUETVYkDKgDqr4kBav2+9th/bXm1547jGuvq8q03VUCiM5KZwQDJXDikqLdKSH5eozFbmtDypqEQJVkOxBTXPrhcREaHo5KRaH7Rr2GwqLylRxclTUmSkLM3SlX5pf6UPuFhJ57b3KDeRQ0LfunXr9Mwzz2jTpk06dOiQPvroI40YMSLYYQGogauX8yUnJ/vs3zR7AbV371599tlnbu+3cePG+s1vfqNdu3b5JB5PUUTVIjk6WcnR5mgAPb/heW08uFExkTGOZRVGhVLiUnTluVcqNT41iNFV4YP/o+hFRjgwUw7ZuH+jnv78aZXZyhSh/55XfSuiNSQ9U21Tan6AbklenoyTpxVV6R84wzBUcfq0rEVFkmEoJiFBLS8dpNaDBqnFhRcqyttr5MkhIa+u2bkAmEugnxNlL6B27typ1atXq2nTpm7vo7i4WD///LNGjx7t09jcRREVAmyGTXHRcWqe0NyxrMhapApbBU+SrqS+3k/DMDR9+nS99tprys/P10UXXaR58+bp3HPPDV7QQICU2crUIqGFoiL/O6r0ZeeD6txzoG4dML3GbZZdcYVsZWdGr2xlZbIWFclmtSrKYlGTjh119uDByrjkEsU3axaQ7xAI5BHv1TU7V01KS0tVWlrqeF/1BnYA/uPrIqq4uNhphGj37t3aunWrUlNT1bJlS1177bXavHmzli1bpoqKCuXl5UmSUlNTFRsbK0kaNGiQrr76ak2cOFGSdN999+mKK65QmzZtdPDgQU2fPl1RUVG6/vrr3f26PkUR5WN+6fm8UVKatL9k/3+XxUqKlJo1ayad8u3hgl2YedqLXF/v59NPP63nn39eb7zxhjIzM/Xoo49qyJAh+uGHHxQX5/5UzEB9TDMSkinpGulQ8SGp8umddOYhhjPWzqhxs6fbt1fC/78e3iapoLxc3xYVaXNRkfavXCm98krQ80VNvBmJIo8EXk5OjmbOnBnsMIAGydfPidq4caMGDhzoeD958mRJ0tixYzVjxgz985//lCR1797dabvVq1drwIABkqSff/5Zx44dc3x24MABXX/99Tp+/LjS0tLUr18/ffXVV0pLS3MrNl+jiELYqKv30zAMzZ07V4888oiuuuoqSdKbb76pFi1aaMmSJRo1alQgQwVCQqnNpkhJP5SUaGNRkX48eVJlJiyafIk8EnhTp051NLSkMyNRrVvXfIkpAN/y9UjUgAED6uxcc6Xjbc+ePU7v33vvPbdiCBSKKJhO1V5kXzybYPfu3crLy1NWVpZjWUpKinr37q0NGzbQ+AFqMD83V0UVFSqsqHniCbPyRw6RyCP+4qvnzQBwX6DviQonPCcKpueLZxPYr7lt0aKF0/IWLVo4PgPgLNdqDbkCqia+er4JeQRAuHH1OVGojpEomE7VE9fXzyYAEN7IIQDgGl/fE9WQUESZUYKkiyXZJ9FqVMe6l0mydxRvkXTQj3EFSNUGkC+eTZCeni5JOnz4sFq2bOlYfvjw4Wo3NwJh4XydmVBCkuLrWK+1pOH//88nJa32Z1CB4Y8cIpFHXFXX7Fxnn312ECMDUBNGmzxDeWlGsZJ+I6mTpI6SkiSVVlmnTFKMpHN1prF0nqSUAMYYYjIzM5Wenq5Vq1Y5lhUWFurrr79Wnz59ghgZ4CctJHXRmRzSRmem16t6P6/1/6/X8f+v204S/5bWijzimo0bN6pHjx7q0aOHpDOzc/Xo0UPTpk0LcmQAquJyPs8xEmVGJ3RmRKmNpKJa1jEqfRavM0XVL/4PLRA8PXHr6/2cNGmSHn/8cZ177rmOqYkzMjKcngEDhI2fJHXXmQ6Y8lrWKdV/O2iSJf2o6oVWCPLmH3/yiPfqm50LgHkwsYTnKKLM6kedKaIiVH+jJkbS96o+WtXA1PVsgoULF+qBBx5QSUmJbrvtNuXn56tfv35avnw5z3ZBeDoo6VdJTSUV17NurM50xOzwd1DmRx4B0JBwT5TnKKLM6medeYhunOp+mG60ztwTFUaNH097kevr/YyIiNCsWbM0a9Ysb0MEzM+Q9IOk/i6sa5G0X9Jxv0YUMN6MRJFHADQkjER5jvLSrE5L2qX6y9w4SfmSDvg7IAAh5yedue+prsno7P8+/uj/cAAA5sI9UZ6jiDKzHTpzM3hUHetE6Exvcxhdfs6JC/hIgc6MMMXWsY5F/+20CRPkEABwjf1yvrpeqBm/jJnt15lGUG2X2tvvY/gpYBEBCDX2Eabasn2M/nv5MACgQWEkynMUUWZm05lRptpGoiyScnVmNr8wwokL+NAvOvP8p5ou6YvSmVHs7QGNyO/IIQDgGoooz1FEmZ39noaql+OE8X0MnLiAD1l15tLgmu6vjNOZ0e59AY3I78ghAOAaiijPUUSZ3a86M1Vx1V5k+6x9Pwc8IgChxn5/ZdVCKkpnOmJsAY8IAGAC3BPlOX6ZUGAfbarcGRCjM6NUYfpsKHo+AB+yPzOq8v2VYf5sKHIIANSPkSjPUUSFgsrPjJLC8tlQAPzI/syoyhnfIumQwubZUAAA91FEeY4iKhRUfWZUmD8bihMX8IPKz4wK43sqJXIIALiKIspzFFGhovI9DWH4bCgAflb5mVFh+GwoAID7uCfKc/wyocL+zKgkhf2zoej9APzEPvJkUVg/G4ocAgCuYxTKMxRRocL+zChDYflsKAABYH9mVIXC7tlQAAD3cTmf5yiiQslPkooUtvcx2HHiAn5if2ZUvsLu2VCVkUMAwDUUUZ6r6fGLMKtfJX0o6ViwA/EvTlzAj76UtElh/WwocggAuKa++564J6p2FFGh5miwAwAQ0koVts+XAwC4p74OJzqjakd5CdOhFxmAN8ghAOAaX1/Ot27dOl1xxRXKyMhQRESElixZ4vS5YRiaNm2aWrZsqfj4eGVlZWnnzp317vell15S27ZtFRcXp969e+ubb75xKy5/oIgCAAAAGiBfF1ElJSXq1q2bXnrppRo/f/rpp/X8889r/vz5+vrrr5WQkKAhQ4bo9OnTte5z8eLFmjx5sqZPn67NmzerW7duGjJkiI4cOeJWbL5GEQXToRcZgDfIIQDgGlefE1VYWOj0Ki2t+brwYcOG6fHHH9fVV19d7TPDMDR37lw98sgjuuqqq9S1a1e9+eabOnjwYLURq8pmz56t8ePH66abbtL555+v+fPnq1GjRnr99dd98ht4iiIKAAAAaIBcHYlq3bq1UlJSHK+cnBy3j7V7927l5eUpKyvLsSwlJUW9e/fWhg0batzGarVq06ZNTttERkYqKyur1m0ChYklYDr0IgPwBjkEAFzj6sQS+/fvV3JysmO5xWJx+1h5eXmSpBYtWjgtb9GiheOzqo4dO6aKiooat9m+PbgPPKSIAgAAABogV4uo5ORkpyIKXM4HE6IXGYA3yCEA4BpX74nyhfT0dEnS4cOHnZYfPnzY8VlVzZo1U1RUlFvbBApFFEyHBhAAb5BDAMA1vp6dry6ZmZlKT0/XqlWrHMsKCwv19ddfq0+fPjVuExsbq549ezptY7PZtGrVqlq3CRQu5wMAAAAaIF8/bLe4uFi7du1yvN+9e7e2bt2q1NRUnX322Zo0aZIef/xxnXvuucrMzNSjjz6qjIwMjRgxwrHNoEGDdPXVV2vixImSpMmTJ2vs2LG64IILdOGFF2ru3LkqKSnRTTfd5N6X9TGKKJgOvcgAvEEOAQDXRERE1HnJnrt5dOPGjRo4cKDj/eTJkyVJY8eO1cKFC/XAAw+opKREt912m/Lz89WvXz8tX75ccXFxjm1+/vlnHTt2zPH+uuuu09GjRzVt2jTl5eWpe/fuWr58ebXJJgKNIgoAAABogHw9EjVgwAAZhlHn/mbNmqVZs2bVus6ePXuqLZs4caJjZMosKKJgOvQiA/AGOQQAXOPrIqohoYgCAAAAGiCKKM9RRMF06EUG4A1yCAC4pr5pzH05xXm4oYgCAAAAGiBGojxHEQXToRcZgDfIIQDgGoooz1FEAQAAAA0QRZTnKKJgOvQiA/AGOQQAXMM9UZ6jiILp0AAC4A1yCAC4hpEoz1FeAm6w2Wx6/fXXgx0GgBBGHgFgFpU7nWp7hQtf596wLKJeeukltW3bVnFxcerdu7e++eabYIcEN5j5xI2MjNQrr7wS7DDgZ+SQ0GbmHCI1nDzCeQSYX0Mqonyde8OuiFq8eLEmT56s6dOna/PmzerWrZuGDBmiI0eOBDs0hIkLLrhAL774YrDDgJ+QQxAIgcgjY8eO1bp16/x6jNpwHgGhwX5PVF2vcOLL3OvRL3PppZdq5syZ1ZafOHFCl156qddBeWP27NkaP368brrpJp1//vmaP3++GjVqxKUTIcTsvR8HDhzQ7Nmz1bZtW/3pT39STk6Oli1bFuywQgo5BP5k9hwiBSaPFBQUKCsrS+eee66efPJJ5ebm+nT/deE8AkJDQxqJknybez0qotasWaMXX3xRI0aMUElJiWO51WrV2rVrPQrEF6xWqzZt2qSsrCzHssjISGVlZWnDhg01blNaWqrCwkKnF1CXpUuX6pdfftG2bdt0zz33KC0tTStXrgx2WCGFHIKGLhB5ZMmSJcrNzdWECRO0ePFitW3bVsOGDdOHH36osrIynx6rMnfPI84hIHgaWhHly9zr8ex8K1eu1O23367f/e53+te//qW2bdt6uiufOXbsmCoqKtSiRQun5S1atND27dtr3CYnJ6fGHvFff/3Vo39kjh075vY2ZnP8+HGPty0qKvJJDGY6abOysvTnP/9Zw4YNc1reqFEj9e7dW7179w5SZKGtIeSQcMgH9fEmX9QkHHOIFLw8kpaWpsmTJ2vy5MnavHmzFixYoNGjRysxMVE33nij7rzzTp177rk+Paa751Ft5xDMx2znlbsMwwh2CKYU6n+vdfFn7vX4QseWLVtq7dq16tKli3r16qU1a9Z4HEQwTZ06VQUFBY7X/v37gx0STGbjxo2OBv7evXsdy//2t79p9OjRQYoq9JFD0JAEO48cOnRIK1as0IoVKxQVFaXf//73+u6773T++edrzpw5fj9+XTiHgOAJ93ui/Jl7Pfpl7BWrxWLRO++8o3vuuUdDhw7Vyy+/7FUw3mrWrJmioqJ0+PBhp+WHDx9Wenp6jdtYLBYlJyc7vRBcZhtCtlqtSkpKkiR16dJFv/zyiySpb9++WrVqVTBDC1nkEPiT2XKIFJw8UlZWpv/5n//R5ZdfrjZt2uiDDz7QpEmTdPDgQb3xxhtauXKl3n//fc2aNcunx3X3POIcAoIn3C/n82fu9aiIqjoc+sgjj+jtt9/Wc88951Uw3oqNjVXPnj2dfhSbzaZVq1apT58+QYwM7jDbiXvuuefqm2++UUFBgUpKSlRQUCBJSkpK0q+//hrk6EITOQT+ZLYcIgUnj7Rs2VLjx49XmzZt9M0332jjxo264447nIqUgQMHqnHjxj49LucREDrCvYjyZ+716J6o3bt3Ky0tzWnZH/7wB3Xs2FEbN270KiBvTZ48WWPHjtUFF1ygCy+8UHPnzlVJSYluuummoMaF0HXXXXdp/Pjxatu2rbp27aq///3vevHFF/X5559Xu+YfriGHoKEJRh6ZM2eORo4cqbi4uFrXady4sXbv3u3zY3MeAaGhvkv2Qv1yPn/mXo+KqDZt2tS4vFOnTurUqZNXAXnruuuu09GjRzVt2jTl5eWpe/fuWr58OY3dEGK23o9bb71Vqamp+umnnzR+/HiNGjVK7dq106FDhzRx4sRghxeSyCHwJ7PlECk4eSSY92xyHgGhob5caaY86gl/5l6PZ+czs4kTJ9K4hU9dc801jj//5z//0UcffSSr1apRo0YFMSr4CzkE/tDQ8gjnEWB+4V5ESf7LvWFZRCG0mbEXubLo6GiNHDky2GEAqIXZc4hEHgFgDg2hiKrMl7mXIgoAAABogML9nih/4peB6YRCLzIA8yKHAIBrfD07X9u2bWvcR3Z2do3rL1y4sNq6dU2GYyaMRAEAAAANkK8v5/v2229VUVHheL9t2zZddtlldV5Cl5ycrB07dnh8zGBhJAqm40nvR0VFhR599FFlZmYqPj5e7du312OPPVbteUQAwp+nPajkEQANja9HotLS0pSenu54LVu2TO3bt1f//v3rjKHyNqEyiycjUTAdT07cp556SvPmzdMbb7yhTp06aePGjbrpppuUkpKiu+++24/RAjAbT//xJ48AaGhcvSeqsLDQabnFYpHFYqlz31arVYsWLdLkyZPrzMfFxcVq06aNbDabfvvb3+rJJ58M+uNOXMFIFMLC+vXrddVVV2n48OFq27atrr32Wg0ePFjffPNNsEMDECLIIwAaGldHolq3bq2UlBTHKycnp959L1myRPn5+Ro3blyt63To0EGvv/66li5dqkWLFslms6lv3746cOCAr76i3zASBdOpeuK60vvRt29fvfrqq/rpp5/0m9/8Rv/7v/+rL774QrNnzw5Y3ADMwZMcIpFHADRMroza79+/X8nJyY739Y1CSdLf//53DRs2TBkZGbWu06dPH/Xp08fxvm/fvjrvvPP0yiuv6LHHHqv3GMFEEQXTa926tdP76dOna8aMGU7LpkyZosLCQnXs2FFRUVGqqKjQE088oRtuuCGAkQIwI1dyiEQeAdDwuDqxRHJyslMRVZ+9e/dq5cqV+sc//uFWPDExMerRo4d27drl1nbBQBEF06nai+xK78f777+vt99+W++88446deqkrVu3atKkScrIyNDYsWMDFjuA4PMkh0jkEQANj7+eE7VgwQI1b95cw4cPd2u7iooKfffdd/r973/v0XEDiSIKpudK78f999+vKVOmaNSoUZKkLl26aO/evcrJyaHxAzRwrvagkkcANDS+nuJckmw2mxYsWKCxY8cqOtq51BgzZozOOussxz1Vs2bN0u9+9zudc845ys/P1zPPPKO9e/fq1ltvdfu4gUYRBdPxZGatkydPVustiYqKks1m83V4AEzO09n5yCMAGhp/FFErV67Uvn37dPPNN1f7bN++fU559sSJExo/frzy8vLUpEkT9ezZU+vXr9f555/v9nEDjSIKYeGKK67QE088obPPPludOnXSli1bNHv27BpPYACoCXkEQEPjjyJq8ODBtT5fb82aNU7v58yZozlz5rh9DDOgiILpeNKL/MILL+jRRx/VnXfeqSNHjigjI0O33367pk2b5sdIAZiRpyNR5BEADY2/7olqCCiiYDqeNICSkpI0d+5czZ0713+BAQgJnhZR5BEADY0/RqIaCoooAAAAoAGiiPIcRRRMx9NeZACQyCEA4Cou5/McRRQAAADQADES5TmKKJgOvcgAvEEOAQDXUER5jiIKAAAAaIAoojxHEQXToRcZgDfIIQDgGu6J8hxFFAAAANBA0eHkGYoomA69yAC8QQ4BANdwOZ/nKKJgOjSAAHiDHAIArqGI8hxFFAAAANAAcU+U5yiiYEr0fADwBjkEAOrHSJTnKKIAAACA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wCiiYDpVe5GTk5OdGkA1admypc4//3ynZeedd57+53/+x29xAjAnT3KIRB4B0PD4uohavny50/uFCxeqefPm2rRpky655JI6j5Oenu7WsYKNy/kQFi666KJqw8U//fST2rRpE6SIAIQa8giAhsbVe6Jcvbe0qoKCAklSampqnesVFxerTZs2at26ta666ip9//333n2xAKCIgul4cjPjvffeq6+++kpPPvmkdu3apXfeeUevvvqqsrOz/RgpADPy9IZo8giAhsbVe6Jcvbe0MpvNpkmTJumiiy5S586da12vQ4cOev3117V06VItWrRINptNffv21YEDB3z2Pf2By/kQFnr16qWPPvpIU6dO1axZs5SZmam5c+fqhhtuCHZoAEIEeQRAQ+Pq5Xyu3ltaWXZ2trZt26YvvviizvX69OmjPn36ON737dtX5513nl555RU99thj9R4nWCiiYDqe9iJffvnluvzyy/0UFYBQ4c3UvOQRAA2Jq0WUq/eW2k2cOFHLli3TunXr1KpVK7diiomJUY8ePbRr1y63tgs0LucDAAAAGiBfT3FuGIYmTpyojz76SJ999plHDyyvqKjQd999p5YtW7q9bSAxEgXT4QFvALxBDgEA1/h6dr7s7Gy98847Wrp0qZKSkpSXlydJSklJUXx8vCRpzJgxOuussxz3Vc2aNUu/+93vdM455yg/P1/PPPOM9u7dq1tvvdXDbxUYFFEwHRpAALxBDgEA1/kyV86bN0+SNGDAAKflCxYs0Lhx4yRJ+/btcxrhOnHihMaPH6+8vDw1adJEPXv21Pr166s9csJsKKIAAACABsjXI1GGYdS7zpo1a5zez5kzR3PmzHHrOGZAEQXToRcZgDfIIQDgmvrue3L3nqiGhCIKAAAAaIB8PRLVkFBEwXToRQbgDXIIALiGIspzYTVG17ZtW6d/PCMiIvSXv/wl2GEBCBHkEABAQ1L137yaXqhZWBVR0plpEg8dOuR43XXXXcEOCW7ixEUwkUNCHzkkePbs2aNbbrlFmZmZio+PV/v27TV9+nRZrdZghwagBr5+TlRDEnaX8yUlJSk9PT3YYQAIUeQQwHPbt2+XzWbTK6+8onPOOUfbtm3T+PHjVVJSomeffTbY4QGogsv5PBd25eVf/vIXNW3aVD169NAzzzyj8vLyOtcvLS1VYWGh0wvBRS8ygokc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RLlp165deuGFF3T77bcH7JjHjh1TRUWFWrRo4bS8RYsWysvLC1gcdbHZbJo0aZIuuugide7cOdjhAKYVjBwikUcAAPClBltETZkyRREREXW+tm/f7rRNbm6uhg4dqpEjR2r8+PFBitycsrOztW3bNr333nvBDgUICHKI75FHAAChIjrYAQTLn//8Z40bN67Oddq1a+f488GDBzVw4ED17dtXr776qp+jc9asWTNFRUXp8OHDTssPHz6s9PT0gMZSk4kTJ2rZsmVat26dWrVqFexwgIAIpRwikUcAAPClBltEpaWlKS0tzaV1c3NzNXDgQPXs2VMLFixQZGRgB/BiY2PVs2dPrVq1SiNGjJB05rKXVatWaeLEiQGNpTLDMHTXXXfpo48+0po1a5SZmRm0WIBAC6UcIpFHAADwpQZbRLkqNzdXAwYMUJs2bfTss8/q6NGjjs8C2Xs7efJkjR07VhdccIEuvPBCzZ07VyUlJbrpppsCFkNV2dnZeuedd7R06VIlJSU57qtISUlRfHx80OICzMQsOUQijwAA4CtMcV6PhQsX1trACPRP9+KLL+qZZ55RXl6eunfvrueff169e/cOaAyVRURE1Lh8wYIF9V7mBDQUZsohEnkEAABfoIgCAAAAADc02Nn5AAAAAMATFFEAAAAA4AaKKAAAAABwA0UUAAAAALiBIgoAAAAA3EARBQAAAABuoIgCAAAAADdQRAEAAACAGyiiAAAAAMANFFEAAAAA4AaKKAAAAABwA0VUCHjzzTfVtGlTlZaWOi0fMWKERo8eHaSoAISKo0ePKj09XU8++aRj2fr16xUbG6tVq1YFMTIAAEJThGEYRrCDQN1OnTqlli1b6rXXXtPIkSMlSUeOHNFZZ52lTz/9VAMHDgxyhADM7t///rdGjBih9evXq0OHDurevbuuuuoqzZ49O9ihAQAQciiiQsSdd96pPXv26N///rckafbs2XrppZe0a9cuRUREBDk6AKEgOztbK1eu1AUXXKDvvvtO3377rSwWS7DDAgAg5FBEhYgtW7aoV69e2rt3r8466yx17dpVI0eO1KOPPhrs0ACEiFOnTqlz587av3+/Nm3apC5dugQ7JAAAQhL3RIWIHj16qFu3bnrzzTe1adMmff/99xo3blywwwIQQn7++WcdPHhQNptNe/bsCXY4AACELEaiQsi8efM0d+5cXXbZZdq5c6c++eSTYIcEIERYrVZdeOGF6t69uzp06KC5c+fqu+++U/PmzYMdGgAAIYciKoQUFBQoIyND5eXlevPNN3XdddcFOyQAIeL+++/Xhx9+qP/93/9VYmKi+vfvr5SUFC1btizYoQEAEHK4nC+EpKSk6A9/+IMSExM1YsSIYIcDIESsWbNGc+fO1VtvvaXk5GRFRkbqrbfe0ueff6558+YFOzwAAEIOI1EhZtCgQerUqZOef/75YIcCAAAANEgUUSHixIkTWrNmja699lr98MMP6tChQ7BDAgAAABqk6GAHANf06NFDJ06c0FNPPUUBBQAAAAQRI1EAAAAA4AYmlgAAAAAAN1BEAQAAAIAbKKIAAAAAwA0UUQAAAADgBoooAAAAAHADRRQAAAAAuIEiCgAAAADcQBEFAAAAAG74f+p66VBgwnCkAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1000x600 with 6 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Structure visualization in various planes\n",
    "\n",
    "fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(10, 6))\n",
    "sim_actual.plot_eps(x=0, ax=ax1)\n",
    "sim_actual.plot_eps(y=-0.1, ax=ax2)\n",
    "sim_actual.plot_eps(z=0.1, ax=ax3)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Run Simulations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "execution": {
     "iopub.execute_input": "2023-08-18T20:08:11.499832Z",
     "iopub.status.busy": "2023-08-18T20:08:11.499646Z",
     "iopub.status.idle": "2023-08-18T20:09:24.730491Z",
     "shell.execute_reply": "2023-08-18T20:09:24.729734Z"
    },
    "id": "IG0QZ-PDyh3Y",
    "outputId": "332212da-3f04-4920-e593-801457a5e339",
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[13:08:11] </span>Created task <span style=\"color: #008000; text-decoration-color: #008000\">'norm'</span> with task_id                        <a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">webapi.py</span></a><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">:</span><a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#188\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">188</span></a>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span><span style=\"color: #008000; text-decoration-color: #008000\">'fdve-22830c9d-a671-4e6a-be5a-6a257d8d6a42v1'</span>.          <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">             </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[13:08:11]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'norm'\u001b[0m with task_id                        \u001b]8;id=459809;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=311755;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#188\u001b\\\u001b[2m188\u001b[0m\u001b]8;;\u001b\\\n",
       "\u001b[2;36m           \u001b[0m\u001b[32m'fdve-22830c9d-a671-4e6a-be5a-6a257d8d6a42v1'\u001b[0m.          \u001b[2m             \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>View task using web UI at                               <a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">webapi.py</span></a><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">:</span><a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#190\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">190</span></a>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-22830c9d-a671-4e6a-be5a-6a257d8d6a42v1\" target=\"_blank\"><span style=\"color: #008000; text-decoration-color: #008000\">'https://tidy3d.simulation.cloud/workbench?taskId=fdve-</span></a> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">             </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-22830c9d-a671-4e6a-be5a-6a257d8d6a42v1\" target=\"_blank\"><span style=\"color: #008000; text-decoration-color: #008000\">22830c9d-a671-4e6a-be5a-6a257d8d6a42v1'</span></a>.                <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">             </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0mView task using web UI at                               \u001b]8;id=63291;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=117365;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#190\u001b\\\u001b[2m190\u001b[0m\u001b]8;;\u001b\\\n",
       "\u001b[2;36m           \u001b[0m\u001b]8;id=565572;https://tidy3d.simulation.cloud/workbench?taskId=fdve-22830c9d-a671-4e6a-be5a-6a257d8d6a42v1\u001b\\\u001b[32m'https://tidy3d.simulation.cloud/workbench?\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=296148;https://tidy3d.simulation.cloud/workbench?taskId=fdve-22830c9d-a671-4e6a-be5a-6a257d8d6a42v1\u001b\\\u001b[32mtaskId\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=565572;https://tidy3d.simulation.cloud/workbench?taskId=fdve-22830c9d-a671-4e6a-be5a-6a257d8d6a42v1\u001b\\\u001b[32m=\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=360503;https://tidy3d.simulation.cloud/workbench?taskId=fdve-22830c9d-a671-4e6a-be5a-6a257d8d6a42v1\u001b\\\u001b[32mfdve\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=565572;https://tidy3d.simulation.cloud/workbench?taskId=fdve-22830c9d-a671-4e6a-be5a-6a257d8d6a42v1\u001b\\\u001b[32m-\u001b[0m\u001b]8;;\u001b\\ \u001b[2m             \u001b[0m\n",
       "\u001b[2;36m           \u001b[0m\u001b]8;id=565572;https://tidy3d.simulation.cloud/workbench?taskId=fdve-22830c9d-a671-4e6a-be5a-6a257d8d6a42v1\u001b\\\u001b[32m22830c9d-a671-4e6a-be5a-6a257d8d6a42v1'\u001b[0m\u001b]8;;\u001b\\.                \u001b[2m             \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f23c1f72576b43deb18b02ff86b9b4e1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[13:08:12] </span>Created task <span style=\"color: #008000; text-decoration-color: #008000\">'actual'</span> with task_id                      <a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">webapi.py</span></a><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">:</span><a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#188\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">188</span></a>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span><span style=\"color: #008000; text-decoration-color: #008000\">'fdve-3a0307fa-e221-47f4-981f-b26a276a3b39v1'</span>.          <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">             </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[13:08:12]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'actual'\u001b[0m with task_id                      \u001b]8;id=358731;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=2120;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#188\u001b\\\u001b[2m188\u001b[0m\u001b]8;;\u001b\\\n",
       "\u001b[2;36m           \u001b[0m\u001b[32m'fdve-3a0307fa-e221-47f4-981f-b26a276a3b39v1'\u001b[0m.          \u001b[2m             \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>View task using web UI at                               <a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">webapi.py</span></a><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">:</span><a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#190\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">190</span></a>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-3a0307fa-e221-47f4-981f-b26a276a3b39v1\" target=\"_blank\"><span style=\"color: #008000; text-decoration-color: #008000\">'https://tidy3d.simulation.cloud/workbench?taskId=fdve-</span></a> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">             </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-3a0307fa-e221-47f4-981f-b26a276a3b39v1\" target=\"_blank\"><span style=\"color: #008000; text-decoration-color: #008000\">3a0307fa-e221-47f4-981f-b26a276a3b39v1'</span></a>.                <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">             </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0mView task using web UI at                               \u001b]8;id=970452;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=682415;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#190\u001b\\\u001b[2m190\u001b[0m\u001b]8;;\u001b\\\n",
       "\u001b[2;36m           \u001b[0m\u001b]8;id=336204;https://tidy3d.simulation.cloud/workbench?taskId=fdve-3a0307fa-e221-47f4-981f-b26a276a3b39v1\u001b\\\u001b[32m'https://tidy3d.simulation.cloud/workbench?\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=632686;https://tidy3d.simulation.cloud/workbench?taskId=fdve-3a0307fa-e221-47f4-981f-b26a276a3b39v1\u001b\\\u001b[32mtaskId\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=336204;https://tidy3d.simulation.cloud/workbench?taskId=fdve-3a0307fa-e221-47f4-981f-b26a276a3b39v1\u001b\\\u001b[32m=\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=849018;https://tidy3d.simulation.cloud/workbench?taskId=fdve-3a0307fa-e221-47f4-981f-b26a276a3b39v1\u001b\\\u001b[32mfdve\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=336204;https://tidy3d.simulation.cloud/workbench?taskId=fdve-3a0307fa-e221-47f4-981f-b26a276a3b39v1\u001b\\\u001b[32m-\u001b[0m\u001b]8;;\u001b\\ \u001b[2m             \u001b[0m\n",
       "\u001b[2;36m           \u001b[0m\u001b]8;id=336204;https://tidy3d.simulation.cloud/workbench?taskId=fdve-3a0307fa-e221-47f4-981f-b26a276a3b39v1\u001b\\\u001b[32m3a0307fa-e221-47f4-981f-b26a276a3b39v1'\u001b[0m\u001b]8;;\u001b\\.                \u001b[2m             \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "501b669cdbc748dc9cec89c6625fa530",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[13:08:13] </span>Started working on Batch.                            <a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">container.py</span></a><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">:</span><a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#475\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">475</span></a>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[13:08:13]\u001b[0m\u001b[2;36m \u001b[0mStarted working on Batch.                            \u001b]8;id=713470;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\u001b\\\u001b[2mcontainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=494943;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#475\u001b\\\u001b[2m475\u001b[0m\u001b]8;;\u001b\\\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[13:08:23] </span>Maximum FlexCredit cost: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.054</span> for the whole batch.  <a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">container.py</span></a><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">:</span><a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#479\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">479</span></a>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>Use <span style=\"color: #008000; text-decoration-color: #008000\">'Batch.real_cost()'</span> to get the billed FlexCredit <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">                </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>cost after the Batch has completed.                  <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">                </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[13:08:23]\u001b[0m\u001b[2;36m \u001b[0mMaximum FlexCredit cost: \u001b[1;36m0.054\u001b[0m for the whole batch.  \u001b]8;id=199058;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\u001b\\\u001b[2mcontainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=121566;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#479\u001b\\\u001b[2m479\u001b[0m\u001b]8;;\u001b\\\n",
       "\u001b[2;36m           \u001b[0mUse \u001b[32m'Batch.real_cost\u001b[0m\u001b[32m(\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m to get the billed FlexCredit \u001b[2m                \u001b[0m\n",
       "\u001b[2;36m           \u001b[0mcost after the Batch has completed.                  \u001b[2m                \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9524287e33dd4f88b3f6f8dd15e1f0d8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[13:09:24] </span>Batch complete.                                      <a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">container.py</span></a><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">:</span><a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#522\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">522</span></a>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[13:09:24]\u001b[0m\u001b[2;36m \u001b[0mBatch complete.                                      \u001b]8;id=151506;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\u001b\\\u001b[2mcontainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=645320;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#522\u001b\\\u001b[2m522\u001b[0m\u001b]8;;\u001b\\\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# run all simulations, take about 2-3 minutes each with some download time\n",
    "batch = web.Batch(simulations={\"norm\": sim_empty, \"actual\": sim_actual}, verbose=True)\n",
    "batch_data = batch.run(path_dir=\"data\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The normalizing run computes the transmitted flux for an air -> SiO2 interface, which is just below unity due to some reflection.\n",
    "\n",
    "While not technically necessary for this example, since this transmission can be computed analytically, it is often a good idea to run a normalizing run so you can accurately measure the *change* in output when the structure is added.  For example, for multilayer structures, the normalizing run displays frequency dependence, which would make it prudent to include in the calculation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2023-08-18T20:09:26.015504Z",
     "iopub.status.busy": "2023-08-18T20:09:26.015367Z",
     "iopub.status.idle": "2023-08-18T20:09:27.361696Z",
     "shell.execute_reply": "2023-08-18T20:09:27.361024Z"
    }
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f6b1fe7f17884e0aadd3d8d41017cab7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[13:09:26] </span>loading SimulationData from                             <a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">webapi.py</span></a><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">:</span><a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#590\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">590</span></a>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>data/fdve-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">3a0307fa-e221-47f4-981f-b26a276a3b39</span>v1.hdf5   <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">             </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[13:09:26]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from                             \u001b]8;id=972550;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=889407;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#590\u001b\\\u001b[2m590\u001b[0m\u001b]8;;\u001b\\\n",
       "\u001b[2;36m           \u001b[0mdata/fdve-\u001b[93m3a0307fa-e221-47f4-981f-b26a276a3b39\u001b[0mv1.hdf5   \u001b[2m             \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e6a97a0975fe413da6364904f5179f0e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[13:09:27] </span>loading SimulationData from                             <a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">webapi.py</span></a><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">:</span><a href=\"file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#590\" target=\"_blank\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">590</span></a>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>data/fdve-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">22830c9d-a671-4e6a-be5a-6a257d8d6a42</span>v1.hdf5   <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">             </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[13:09:27]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from                             \u001b]8;id=752890;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=806617;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#590\u001b\\\u001b[2m590\u001b[0m\u001b]8;;\u001b\\\n",
       "\u001b[2;36m           \u001b[0mdata/fdve-\u001b[93m22830c9d-a671-4e6a-be5a-6a257d8d6a42\u001b[0mv1.hdf5   \u001b[2m             \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "batch_data = batch.load(path_dir=\"data\")\n",
    "transmission = batch_data[\"actual\"][\"flux\"].flux / batch_data[\"norm\"][\"flux\"].flux\n",
    "reflection = 1 - transmission"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 311
    },
    "execution": {
     "iopub.execute_input": "2023-08-18T20:09:27.377339Z",
     "iopub.status.busy": "2023-08-18T20:09:27.377181Z",
     "iopub.status.idle": "2023-08-18T20:09:27.551338Z",
     "shell.execute_reply": "2023-08-18T20:09:27.550819Z"
    },
    "id": "x10TjU0uyh3a",
    "outputId": "b74cd9e6-f5a4-468f-f1d0-90c8d9861ed9",
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x450 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot transmission, compare to paper results, look similar\n",
    "fig, ax = plt.subplots(1, 1, figsize=(6, 4.5))\n",
    "plt.plot(wavelengths, reflection, \"k\", label=\"R\")\n",
    "plt.plot(wavelengths, transmission, \"r--\", label=\"T\")\n",
    "plt.xlabel(\"wavelength ($\\mu m$)\")\n",
    "plt.ylabel(\"Magnitude\")\n",
    "plt.xlim([8.8, 12])\n",
    "plt.ylim([0.0, 1.0])\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- <img src=\"img/Ge_plot.png\" alt=\"diagram\" width=\"300\"/> -->"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Besides the metasurface demonstrated in this notebook, in Tidy3D's example library we have demonstrated a [dielectric metasurface absorber](https://www.flexcompute.com/tidy3d/examples/notebooks/DielectricMetasurfaceAbsorber/), a [gradient metasurface reflector](https://www.flexcompute.com/tidy3d/examples/notebooks/GradientMetasurfaceReflector/), a [metalens at the visible frequency](https://www.flexcompute.com/tidy3d/examples/notebooks/Metalens/), and a [graphene metamaterial absorber](https://www.flexcompute.com/tidy3d/examples/notebooks/GrapheneMetamaterial/). "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "applications": [
   "Metamaterials, gratings, and other periodic structures"
  ],
  "colab": {
   "collapsed_sections": [],
   "name": "Ge_HighQ.ipynb",
   "provenance": []
  },
  "description": "This notebook demonstrates how to model a germanium Fano metasurface in Tidy3D FDTD.",
  "feature_image": "./img/fano_metasurface.png",
  "features": [],
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "keywords": "Fano metasurface, Tidy3D, FDTD",
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.0"
  },
  "title": "Germanium Fano Metasurface Modeling in Tidy3D | Flexcompute",
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {
     "10e00e5f7f844e16a79267ba03127f80": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "31f9d1b9b76b49edaec822da011c48d8": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "501b669cdbc748dc9cec89c6625fa530": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/output",
       "_model_module_version": "1.0.0",
       "_model_name": "OutputModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/output",
       "_view_module_version": "1.0.0",
       "_view_name": "OutputView",
       "layout": "IPY_MODEL_b5154d0d825f495b84115c24db82c2ac",
       "msg_id": "",
       "outputs": [
        {
         "data": {
          "text/html": "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #800000; text-decoration-color: #800000; font-weight: bold\">↑</span> <span style=\"color: #000080; text-decoration-color: #000080; font-weight: bold\">simulation.hdf5.gz</span> <span style=\"color: #729c1f; text-decoration-color: #729c1f\">━━━━━━━━━━━━━━━━━━━━━━━</span> <span style=\"color: #800080; text-decoration-color: #800080\">100.0%</span> • <span style=\"color: #008000; text-decoration-color: #008000\">11.6/11.6 kB</span> • <span style=\"color: #800000; text-decoration-color: #800000\">?</span> • <span style=\"color: #008080; text-decoration-color: #008080\">0:00:00</span>\n</pre>\n",
          "text/plain": "\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.hdf5.gz\u001b[0m \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100.0%\u001b[0m • \u001b[32m11.6/11.6 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m0:00:00\u001b[0m\n"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ],
       "tabbable": null,
       "tooltip": null
      }
     },
     "56499120dd6d4ddf8673d684de42bc2a": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "9524287e33dd4f88b3f6f8dd15e1f0d8": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/output",
       "_model_module_version": "1.0.0",
       "_model_name": "OutputModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/output",
       "_view_module_version": "1.0.0",
       "_view_name": "OutputView",
       "layout": "IPY_MODEL_56499120dd6d4ddf8673d684de42bc2a",
       "msg_id": "",
       "outputs": [
        {
         "data": {
          "text/html": "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">norm: status = success   <span style=\"color: #729c1f; text-decoration-color: #729c1f\">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</span> <span style=\"color: #800080; text-decoration-color: #800080\">100%</span> <span style=\"color: #008080; text-decoration-color: #008080\">0:00:00</span>\nactual: status = success <span style=\"color: #729c1f; text-decoration-color: #729c1f\">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</span> <span style=\"color: #800080; text-decoration-color: #800080\">100%</span> <span style=\"color: #008080; text-decoration-color: #008080\">0:00:00</span>\n</pre>\n",
          "text/plain": "norm: status = success   \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nactual: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ],
       "tabbable": null,
       "tooltip": null
      }
     },
     "b5154d0d825f495b84115c24db82c2ac": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "b7bb3444d5a1436db85f0f4be98e3772": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "e6a97a0975fe413da6364904f5179f0e": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/output",
       "_model_module_version": "1.0.0",
       "_model_name": "OutputModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/output",
       "_view_module_version": "1.0.0",
       "_view_name": "OutputView",
       "layout": "IPY_MODEL_b7bb3444d5a1436db85f0f4be98e3772",
       "msg_id": "",
       "outputs": [
        {
         "data": {
          "text/html": "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #008000; text-decoration-color: #008000; font-weight: bold\">↓</span> <span style=\"color: #000080; text-decoration-color: #000080; font-weight: bold\">monitor_data.hdf5</span> <span style=\"color: #729c1f; text-decoration-color: #729c1f\">━━━━━━━━━━━━━━━━━━━━━━</span> <span style=\"color: #800080; text-decoration-color: #800080\">100.0%</span> • <span style=\"color: #008000; text-decoration-color: #008000\">105.3/105.3 kB</span> • <span style=\"color: #800000; text-decoration-color: #800000\">?</span> • <span style=\"color: #008080; text-decoration-color: #008080\">0:00:00</span>\n</pre>\n",
          "text/plain": "\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100.0%\u001b[0m • \u001b[32m105.3/105.3 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m0:00:00\u001b[0m\n"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ],
       "tabbable": null,
       "tooltip": null
      }
     },
     "f23c1f72576b43deb18b02ff86b9b4e1": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/output",
       "_model_module_version": "1.0.0",
       "_model_name": "OutputModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/output",
       "_view_module_version": "1.0.0",
       "_view_name": "OutputView",
       "layout": "IPY_MODEL_31f9d1b9b76b49edaec822da011c48d8",
       "msg_id": "",
       "outputs": [
        {
         "data": {
          "text/html": "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #800000; text-decoration-color: #800000; font-weight: bold\">↑</span> <span style=\"color: #000080; text-decoration-color: #000080; font-weight: bold\">simulation.hdf5.gz</span> <span style=\"color: #729c1f; text-decoration-color: #729c1f\">━━━━━━━━━━━━━━━━━━━━━━━</span> <span style=\"color: #800080; text-decoration-color: #800080\">100.0%</span> • <span style=\"color: #008000; text-decoration-color: #008000\">11.6/11.6 kB</span> • <span style=\"color: #800000; text-decoration-color: #800000\">?</span> • <span style=\"color: #008080; text-decoration-color: #008080\">0:00:00</span>\n</pre>\n",
          "text/plain": "\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.hdf5.gz\u001b[0m \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100.0%\u001b[0m • \u001b[32m11.6/11.6 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m0:00:00\u001b[0m\n"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ],
       "tabbable": null,
       "tooltip": null
      }
     },
     "f6b1fe7f17884e0aadd3d8d41017cab7": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/output",
       "_model_module_version": "1.0.0",
       "_model_name": "OutputModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/output",
       "_view_module_version": "1.0.0",
       "_view_name": "OutputView",
       "layout": "IPY_MODEL_10e00e5f7f844e16a79267ba03127f80",
       "msg_id": "",
       "outputs": [
        {
         "data": {
          "text/html": "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #008000; text-decoration-color: #008000; font-weight: bold\">↓</span> <span style=\"color: #000080; text-decoration-color: #000080; font-weight: bold\">monitor_data.hdf5</span> <span style=\"color: #729c1f; text-decoration-color: #729c1f\">━━━━━━━━━━━━━━━━━━━━━━</span> <span style=\"color: #800080; text-decoration-color: #800080\">100.0%</span> • <span style=\"color: #008000; text-decoration-color: #008000\">108.1/108.1 kB</span> • <span style=\"color: #800000; text-decoration-color: #800000\">?</span> • <span style=\"color: #008080; text-decoration-color: #008080\">0:00:00</span>\n</pre>\n",
          "text/plain": "\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100.0%\u001b[0m • \u001b[32m108.1/108.1 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m0:00:00\u001b[0m\n"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ],
       "tabbable": null,
       "tooltip": null
      }
     }
    },
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
