{ "cells": [ { "cell_type": "markdown", "id": "20803575", "metadata": {}, "source": [ "# 02b · One refractiveindex.info model, every engine\n", "\n", "`02_technology` showed that the engines' *shipped* material models agree with\n", "refractiveindex.info. This notebook takes a real measured model straight from\n", "refractiveindex.info — its full complex, wavelength-dependent `n(λ) + i·k(λ)` —\n", "and feeds that exact model into each FDTD engine.\n", "\n", "The material is **gold (Johnson & Christy 1972)** — a strongly dispersive,\n", "strongly *lossy* material where the imaginary part carries real weight (k runs\n", "from ~3 in the visible to ~11 in the near-IR). If a model is going to break on\n", "the trip into an engine, it breaks here." ] }, { "cell_type": "code", "execution_count": 1, "id": "7a0eeb9f", "metadata": { "execution": { "iopub.execute_input": "2026-07-16T05:35:54.443624Z", "iopub.status.busy": "2026-07-16T05:35:54.443527Z", "iopub.status.idle": "2026-07-16T05:35:54.894410Z", "shell.execute_reply": "2026-07-16T05:35:54.893906Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gold (Johnson): tabulated 0.188–1.937 µm; @1.55 µm n+ik = 0.524 + 10.742i\n" ] } ], "source": [ "from pathlib import Path\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "from gds_fdtd.materials.rii import load_rii_material\n", "\n", "\n", "def _find(rel: str) -> Path:\n", " for base in (Path.cwd(), *Path.cwd().parents):\n", " if (base / rel).exists():\n", " return base / rel\n", " raise FileNotFoundError(rel)\n", "\n", "\n", "RII_DB = _find(\"examples/02_technology/rii_db\")\n", "C = 299_792_458.0\n", "\n", "au = load_rii_material(\"main\", \"Au\", \"Johnson\", db_dir=str(RII_DB))\n", "lo, hi = au.wavelength_range_um\n", "WL = np.linspace(max(lo, 0.5), min(hi, 1.6), 60)\n", "n_rii = np.asarray(au.n_at(WL))\n", "k_rii = np.asarray(au.k_at(WL))\n", "print(f\"gold (Johnson): tabulated {lo:.3f}–{hi:.3f} µm; \"\n", " f\"@1.55 µm n+ik = {au.n_at(1.55):.3f} + {au.k_at(1.55):.3f}i\")" ] }, { "cell_type": "markdown", "id": "fb5b0f6d", "metadata": {}, "source": [ "## The model\n", "\n", "This is what we're going to feed to the engines — the measured optical\n", "constants, dispersive in both the real and imaginary parts." ] }, { "cell_type": "code", "execution_count": 2, "id": "8ad248bf", "metadata": { "execution": { "iopub.execute_input": "2026-07-16T05:35:54.895513Z", "iopub.status.busy": "2026-07-16T05:35:54.895316Z", "iopub.status.idle": "2026-07-16T05:35:55.002566Z", "shell.execute_reply": "2026-07-16T05:35:55.002233Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABEEAAAGGCAYAAACUtJ9/AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAl6tJREFUeJzs3Xd4VFXixvHvTHrvlSRA6CIdEREERPzZK80KIihWQFBAkKIginV1Laui2BULdoqCDelVupBQ0nsvkzL39weQ3UiAgEluyvt5njy7Obk3886omZs3555jMQzDQERERERERESkkbOaHUBEREREREREpC6oBBERERERERGRJkEliIiIiIiIiIg0CSpBRERERERERKRJUAkiIiIiIiIiIk2CShARERERERERaRJUgoiIiIiIiIhIk6ASRERERERERESaBJUgIiIiIiIiItIkqAQRqWfat2/PkCFDqnXsJZdcQs+ePWs5kfk2bdqExWLhq6++qpHjzlRycjIWi4UXX3yxRr9vbXjmmWdo0aIFpaWlFWPr16/H0dGR6Oho3nrrrZOeO2fOHDp06EBZWVldRBURERN99913WCwW1q1bd9pjt23bhsVi4ZNPPqmDZOYaN24cgYGBTfLxR4wYQYsWLap9/KRJk+jRo0elsa+//hpnZ2fat2/PF198cdJz77nnHvr163e2UUX+EZUgIiKNRFpaGvPmzWPmzJk4OTlVjJ9//vnYbDZuvvlm7r77bvbu3Vvl+RMnTiQ1NZXXXnutriKLiIjUuVGjRhEaGtpkH78mHDhwgH//+9888cQTlcavvfZa8vPz6d+/P7fddhupqalVnj9jxgw2btzIZ599VhdxRSpRCSIijUbPnj0xDIPrrrvO7CimeOWVV7Bardxyyy0nfM3BwYFHH30Ud3d33nnnnSrP9/b25rbbbmPBggWUl5fXdlwREZF65/XXXyc9Pb3JPn51Pfvss0RGRnLFFVec8DVnZ2fmzJlDSUkJH374YZXnN2vWjOuuu44nn3yytqOKnEAliIhII1BeXs5bb73FsGHDcHFxqfIYd3d3rr76aj744IOTlhy33nor8fHxfPfdd7UZV0RERBqo/Px8PvzwQ2699daTHhMaGspFF13Eu+++e9Jjbr31VrZt28b69etrI6bISakEEfkHSkpKmDJlCuHh4Xh4eHDxxRezd+/e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6bRu3Zrnn3+e0aNHn/H5ubm5tGzZktmzZ/PAAw/UQkIREalJX3zxBUOGDGHNmjU1sgOKSHXFxMRwzjnnsGTJEq644oozPj8hIYFWrVrx/vvvM3To0FpIKHJyuh1GpIZt2bKFQ4cO0b9/f7OjSBMTGBjIjBkzeOKJJygpKTnj81988UWCg4O55557aiGdiIjUtC+++AJvb2+6detmdhRpYlq1asUDDzzAY489dlbnz5s3j549e6oAEVNoJojIP7B48WLi4uK4/vrrCQoKYuPGjYwbN46ysjK2b99+yj3URURERKpr7NixDB8+nPPOO4+cnBzefvttnnjiCebNm8fUqVPNjici0mCoBBH5B/Ly8pg7dy5ff/01hw4dwtfXl//7v/9j3rx5REREmB1PREREGok//viDJ554gi1btpCXl0e7du249957ueuuu8yOJiLSoKgEEREREREREZEmQWuCiIiIiIiIiEiToBJERERERERERJoER7MDANhsNux2O25ubtU+p7y8HKvVisViOaPHstvtJCYm4uXldcbnioiIyJkxDIO8vDzCw8OxWpvW3150zSEiIlJ3qnvNYWoJsnLlSl577TW++eYbOnfuzKZNm057TkxMDGPHjuX333/H0dGRoUOH8uqrr+Lp6Vmtx0xMTCQyMvKfRhcREZEzEBcX1+QWjNY1h4iISN073TWHaSWIzWbjySef5O677yYkJIT169ef9pzS0lKuuOIKOnbsSGpqKtnZ2Vx++eXcddddfPTRR9V63ONblsbFxeHt7f2PnoOIiIicWm5uLpGRkU1yy3Bdc4iIiNSd6l5zmFaCuLi4sHLlSgDWrFlTrXN++OEH9u/fz8qVK/Hz88PPz485c+Zw880389xzzxEWFnba73F8Oqq3t7cuSEREROpIU7wdRNccIiIide901xwN6ubctWvX0rJly0pTWwYOHIjdbmfDhg0mJhMRERERERGR+q5eLIxaXampqQQFBVUaCwgIwGKxkJqaWuU5NpsNm81W8Xlubm6tZhQRERERERGR+qlBzQSBoyut/y/DMICTT3mZP38+Pj4+FR9aoExERERERESkaWpQJUh4ePgJMz7S0tIwDOOk64FMmzaNnJycio+4uLi6iCoiIiIiIiIi9Uy9L0Hy8/MpKysDoG/fvhw+fJiYmJiKr//44484Ojpy/vnnV3m+i4tLxYJkWphMREREREREpOkytQQpKioiPz+f0tJS7HY7+fn55OfnV3w9OzsbLy8vPvjgAwAuvfRSunfvztixY9m3bx9r165l+vTpjBkzhsDAQLOehoiIiIiIiIg0AKYujNq/f392795d8XloaCgAKSkpeHh4YLFY8PDwwMnJCQCr1cr333/PxIkTueiii3BxcWHEiBHMmzfPlPwiIiIiIiIi0nCYWoKcbltbHx+fSjND4GhR8vHHH9dmLBERERERERFphOr9miAiIiIiIiIiIjVBJYiIiIiIiIiI1JnyvDzTHlslSA2ITcvnshd/49p/rzY7ioiIiIiIiEi9VJ6XR8r8+Ry4eBClycmmZFAJUgOcHKzsTc5jX4p5bZaIiIiIiIhIfWTY7WR/uYSYyy4n8933sOflkbtsmSlZTF0YtbHwdT+6e01xqZ3i0nJcnRxMTiQiIiIiIiJivqIdO0mZO5ei7dsBcG7RgpDp0/Hs19eUPCpBaoCniyMOVgvldoPswlJCfVSCiIiIiIiISNNVlplJ2gsvkv3552AYWN3dCbzvXvxvuw2Ls7NpuVSC1ACLxYKvmxMZBSVkF5UQ6uNqdiQRERERERGROmeUlZH16aek/esl7Lm5AHhfczXBkybjFBJscjqVIDXGx/1YCVJYanYUERERERERkTpXuHEjyXPnYdu3DwCXDh0InTEd9x49TE72XypBaoifuzNQQHZhidlRREREREREROpMaUoKqQueIff77wGw+vgQPGE8vsOGYXGoX8tFqASpIb5uRxdH1UwQERERERERaQrsJSVkvvsu6a+9jlFYCBYLvsOGETRhPI5+fmbHq5JKkBric2yHmOwilSAiIiIiIiLSuOX//jspc+dRcvgwAG5duxLy2AzcOnY0OdmpqQSpIb5uR1e31UwQERERERERaaxK4uJImf8U+atWAeAQGEjw5En4XHMNFqvV5HSnpxKkhvgdnwmiNUFERERERESkkbEXFZH+xhtkLnwbo6QEHB3xv/VWAu+/DwdPT7PjVZtKkBri6641QURERERERKRxMQyDvOUrSHn6acqSkgBwv6A3odOn49K6tcnpzpxKkBri437sdpgizQQRERERERGRhs924ADJc+dRuG4dAI7hYYRMmYrXpYOxWCwmpzs7KkFqiHaHERERERERkcagPC+P9H+/QuaHH0JZGRZnZwLG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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, (axn, axk) = plt.subplots(1, 2, figsize=(11, 4))\n", "axn.plot(WL, n_rii, color=\"C0\")\n", "axn.set(xlabel=\"wavelength [µm]\", ylabel=\"n\", title=\"gold — real index n(λ)\")\n", "axk.plot(WL, k_rii, color=\"C3\")\n", "axk.set(xlabel=\"wavelength [µm]\", ylabel=\"k\", title=\"gold — extinction k(λ)\")\n", "fig.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "f4f56689", "metadata": {}, "source": [ "## tidy3d — fit to a dispersive medium\n", "\n", "`RiiMaterial.to_tidy3d_medium()` fits the tabulated `n, k` to a pole-residue\n", "dispersive medium you drop straight into a `td.Simulation`. We evaluate the\n", "fitted medium back over the band and overlay it on the input." ] }, { "cell_type": "code", "execution_count": 3, "id": "f08263e9", "metadata": { "execution": { "iopub.execute_input": "2026-07-16T05:35:55.003228Z", "iopub.status.busy": "2026-07-16T05:35:55.003169Z", "iopub.status.idle": "2026-07-16T05:36:03.471561Z", "shell.execute_reply": "2026-07-16T05:36:03.471334Z" } }, "outputs": [ { "data": { "text/html": [ "
22:35:55 PDT WARNING: Using canonical configuration directory at                \n",
       "             '/home/mustafa/.config/tidy3d'. Found legacy directory at          \n",
       "             '~/.tidy3d', which will be ignored. Remove it manually or run      \n",
       "             'tidy3d config migrate --delete-legacy' to clean up.               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m22:35:55 PDT\u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: Using canonical configuration directory at \u001b[0m\n", "\u001b[2;36m \u001b[0m\u001b[32m'/home/mustafa/.config/tidy3d'\u001b[0m\u001b[31m. Found legacy directory at \u001b[0m\n", "\u001b[2;36m \u001b[0m\u001b[32m'~/.tidy3d'\u001b[0m\u001b[31m, which will be ignored. Remove it manually or run \u001b[0m\n", "\u001b[2;36m \u001b[0m\u001b[32m'tidy3d config migrate --delete-legacy'\u001b[0m\u001b[31m to clean up. \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7a38fb11c0574c929232c93e930c549c", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
22:36:03 PDT WARNING: Unable to fit with weighted RMS error under               \n",
       "             'tolerance_rms' of 1e-05                                           \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m22:36:03 PDT\u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: Unable to fit with weighted RMS error under \u001b[0m\n", "\u001b[2;36m \u001b[0m\u001b[32m'tolerance_rms'\u001b[0m\u001b[31m of \u001b[0m\u001b[1;36m1e-05\u001b[0m\u001b[31m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "tidy3d dispersive medium: max |Δn|=0.052, max |Δk|=0.106\n" ] } ], "source": [ "import tidy3d as td # noqa: E402\n", "\n", "medium = au.to_tidy3d_medium(wavelength_um=WL, max_num_poles=6)\n", "nk_td = np.array([[float(x) for x in medium.nk_model(C / (w * 1e-6))] for w in WL])\n", "print(f\"tidy3d dispersive medium: max |Δn|={np.max(np.abs(nk_td[:, 0] - n_rii)):.3f}, \"\n", " f\"max |Δk|={np.max(np.abs(nk_td[:, 1] - k_rii)):.3f}\")" ] }, { "cell_type": "markdown", "id": "35fd0c1f", "metadata": {}, "source": [ "## Lumerical — a sampled material\n", "\n", "Lumerical takes the model as a **sampled material**: the `(frequency,\n", "permittivity)` table itself. It stores the data verbatim, so it reproduces\n", "the refractiveindex.info model almost exactly. (Needs a Lumerical\n", "license; skipped gracefully without one.)" ] }, { "cell_type": "code", "execution_count": 4, "id": "82800639", "metadata": { "execution": { "iopub.execute_input": "2026-07-16T05:36:03.523992Z", "iopub.status.busy": "2026-07-16T05:36:03.523952Z", "iopub.status.idle": "2026-07-16T05:36:05.427301Z", "shell.execute_reply": "2026-07-16T05:36:05.426707Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(Lumerical not available — skipping: 'appOpen error: \\n Failed to start messaging, check licenses...Error: Could not connect to Ansys license server specified at 27025@ansys-rlm.ece.ubc.ca
Would you like to reconfigure your license settings?, Response: Yes\\n')\n" ] } ], "source": [ "nk_lum = None\n", "try:\n", " import lumapi\n", "\n", " f_hz = C / (WL * 1e-6)\n", " eps = (n_rii + 1j * k_rii) ** 2\n", " fdtd = lumapi.FDTD(hide=True)\n", " name = fdtd.addmaterial(\"Sampled 3D data\")\n", " fdtd.setmaterial(name, \"sampled data\", np.column_stack([f_hz, eps]))\n", " nk_lum = np.array([complex(np.asarray(fdtd.getindex(name, float(fi))).ravel()[0]) for fi in f_hz])\n", " nk_lum = np.column_stack([nk_lum.real, np.abs(nk_lum.imag)])\n", " fdtd.close()\n", " print(f\"lumerical sampled material: max |Δn|={np.max(np.abs(nk_lum[:, 0] - n_rii)):.4f}, \"\n", " f\"max |Δk|={np.max(np.abs(nk_lum[:, 1] - k_rii)):.4f}\")\n", "except Exception as e: # noqa: BLE001 - license optional\n", " print(f\"(Lumerical not available — skipping: {e})\")" ] }, { "cell_type": "markdown", "id": "edd97787", "metadata": {}, "source": [ "## beamz — a single index (v1)\n", "\n", "beamz v1 models each material as one constant `n + ik`, so a dispersive model\n", "collapses to its value at your design wavelength. Fine for a narrow band;\n", "just know it does not disperse." ] }, { "cell_type": "code", "execution_count": 5, "id": "8aee7d20", "metadata": { "execution": { "iopub.execute_input": "2026-07-16T05:36:05.428612Z", "iopub.status.busy": "2026-07-16T05:36:05.428474Z", "iopub.status.idle": "2026-07-16T05:36:05.431857Z", "shell.execute_reply": "2026-07-16T05:36:05.431312Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "beamz constant @ 1.55 µm: n + ik = 0.524 + 10.742i\n" ] } ], "source": [ "DESIGN_WL = 1.55\n", "nk_beamz = complex(au.nk_at(DESIGN_WL))\n", "print(f\"beamz constant @ {DESIGN_WL} µm: n + ik = {nk_beamz.real:.3f} + {nk_beamz.imag:.3f}i\")" ] }, { "cell_type": "markdown", "id": "ea870340", "metadata": {}, "source": [ "## The whole model, in every engine\n", "\n", "The refractiveindex.info model (solid), the tidy3d fit (dots), the Lumerical\n", "sampled material (dashes), and the beamz constant (flat). tidy3d and Lumerical\n", "carry the full complex dispersion; beamz pins a single point." ] }, { "cell_type": "code", "execution_count": 6, "id": "b11340b1", "metadata": { "execution": { "iopub.execute_input": "2026-07-16T05:36:05.432761Z", "iopub.status.busy": "2026-07-16T05:36:05.432641Z", "iopub.status.idle": "2026-07-16T05:36:05.535037Z", "shell.execute_reply": "2026-07-16T05:36:05.534460Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAG4CAYAAACUzVSpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAA51ZJREFUeJzs3Xd4FOXax/Hv7KZ3CAkJvRu6JioKKCCoqEhREY6CvaC+R+yIco79gB0boqiIVEVQpIqgKKiINJUWSugESCCkZ5PNzvtHyJJNgQSSbMrvc11css88M3PP7jjM3vs89ximaZqIiIiIiIiIiIhUIou7AxARERERERERkdpHSSkREREREREREal0SkqJiIiIiIiIiEilU1JKREREREREREQqnZJSIiIiIiIiIiJS6ZSUEhERERERERGRSqeklIiIiIiIiIiIVDolpUREREREREREpNIpKSUiIiIiIiIiIpVOSSmRau6mm24iKiqqVH0feeQRfHx8KiSO22+/nauvvtql7dNPP8Xb25tOnTqxdOnSEtcdPHgwAwcOLPW+ynLM4h76jEREpKp64403MAyDEydOnLHvrFmzMAyDjRs3nrbfmDFjMAwDu91eqhg+/PBDIiMjycjIcLZt3rwZDw8PmjZtynvvvVfium+++SbNmzcnKyurVPsqy/GKe+gzktpMSSkROWfr1q1j2rRpvPTSSy7td999NydOnCAqKoqhQ4eSnp5e7PovvPAC8+fP58cff6yMcEVERETcJjk5meeee47Ro0fj5+fnbG/fvj02m40RI0bw8MMPs379+mLXf/DBB7HZbLz99tuVFbKISIVRUkpEztnYsWO58MILufjii4ss8/X15YUXXiApKYm5c+cWu367du3o1asXY8eOLdX+vv76a7Zt23ZOMUvF0mckIiJSvEmTJpGRkcFdd91VZJnVauWJJ54gNDSUTz/9tNj1fX19ueuuu3jrrbew2Wxn3N8TTzyBaZqEhISca+hSQfQZSW2mpJSInJPDhw8zb948hg8fXmKftm3b0rFjR6ZMmVJin2HDhrF8+XJ27NhREWGKiIiIVAkfffQRAwcOJCAgoNjlnp6e3HDDDcyaNYvs7Oxi+wwbNozExES+/vrrigxVRKTCKSklUsneffddWrVqhY+PDzExMfz0008l1nqaNWsWF110EX5+fgQGBtK7d29WrlxZqv188MEHtG7d2mU/pdWnTx8uvPBC4uPjGTBgAAEBAYSHh/Poo48WqZWwePFi7HY7V1xxRYnbS0pKIi4ujp9++on9+/cX2+eKK67ANE0WLFhwxviKq1dUlphLsnLlSvr27UtISAg+Pj5ER0fz5ZdfOpc/8MAD+Pr6kpSUVGTdp556Ck9PT44cOVLq7RWMe9++ffTv35+goCD69evHv//9b3x8fEhMTCyyr8cff7zIvs7meM7mfSvt+Vsen1Fp4hcRkZpvyZIlxMTE4OPjQ4sWLZg0aVKJtZ5Wr15N3759CQ4OxtfXl+jo6NP+KFbQ0qVLufDCC132cy5iY2Np3bo1nTp1Yt++fQBs3bqVnTt3nva+CfJKIxw/fpz58+cXuzwqKooGDRrw3XffnTGO4uoV5dfASk9P5+GHHyY0NJTAwEBuvPFGEhISSnV8u3btYvjw4URERODl5UWrVq343//+R25uLgBTpkzBMAxWrFhRZN25c+diGAaLFy8u9fYKxp2SksKDDz5IeHg4YWFhTJ8+HcMwWLZsWZF9zZ49G8MwWLRo0Tkdz9m8b6U9d8vjMypN/CJVkikilWbs2LGmxWIxX3/9dTMxMdHcsWOHeeONN5p9+/Y1vb29Xfq+8847JmA+++yz5uHDh824uDjzlltuMT08PMzvv//e2e/GG280zzvvPJd1X3vtNdNisZjjxo0zExISzO3bt5v9+/cvdj/F6d27t9mhQwfzxhtvNH/99VczJSXF/OKLL5yxF3TXXXeZ/v7+Zm5ubonbGzdunAmYgPnKK6+U2C8iIsIcOHDgGeMr7pjLEnNx5syZY1qtVnPEiBFmXFycmZSUZE6YMMH09PQ0J02aZJqmaa5du9YEzPfff99l3ZycHDMiIsIcNGhQmbaXH3f79u3Na6+91ly5cqWZmJhoTps2zdyyZYsJmK+++qrLvjIzM826deue8X0qy/5L+76V5fw918+otPGLiEjNtmzZMtNqtZp33nmnuXfvXjM+Pt586qmnzAEDBpiAuWHDBmfflStXml5eXubAgQPNnTt3mkePHjVffvll0zAMl/uP119/3QTMpKQkZ9uPP/5oenh4mLfddpu5Z88e89ChQ+ajjz5qDhw4sMh+ivPss8+agJmTk+PcXp06dcxrrrnGTElJcfb7+OOPTcD866+/StzWihUrnPdN119/fYn9BgwYYEZERJw2rpKONz/eESNGmLNnzzaTk5PNlStXmmFhYeaNN954xm1u3brVrFOnjnnFFVeYGzduNFNTU82FCxeaYWFh5t13322apmmmp6ebwcHB5rBhw4qsf91115kNGzY07XZ7qbdXMO7bb7/dnDVrlnn8+HFz0qRJps1mM8PDw13uxfL17NnTZV9nezxlfd/Kcu6e62dU2vhFqiIlpUQqSWpqqhkQEGD+61//KtJep04dly/1aWlpZmBgoHnttde69LXb7WbLli3N9u3bO9sKf/lPS0szAwICzCFDhrise+LECTM4OLjUSSnAXLdunUv7NddcY7Zu3dqlrU+fPmaLFi1K3FZOTo7ZqFEjs2XLlmanTp3MNm3alNj3/PPPNy+44IIzxldSwqO0MRdms9nM+vXrm7179y6ybMSIEWa9evWcN5nFxfjtt9+agLlgwYIyby8/7l9//bVI3169epktWrQwHQ6Hs23y5MkmYM6fP79cjqe071tZzl/TPLfPqCzxi4hIzdalSxezVatWRX786t69e5Ev9l27djUjIyPNrKwsl75Dhgwxvb29zYSEBNM0i08AXHrppWbLli2LJC4uueSSMielPvnkE9PT09N86KGHimxvzJgxJmAePXq0xG0NGDDA9PT0NPv162d6eHiYR44cKbbfiBEjTMC02Wynje10CY8JEya49H3hhRdMwzDMxMTE027zmmuuMSMiIlwSbqZpmp9//rkJmFu2bHHG6Ovra544ccLZ5+DBg6bVajXHjBlT5u3lx/3mm28WiWn06NGm1Wo1Dxw44GzbunWr80fe8jiesrxvZTl3z/UzKm38IlWRpu+JVJI///yTtLQ0rr/+epf2gIAAevXqVaRvamoqN9xwg0u71Wpl4MCBbN68ucSpW2vWrCEtLY3+/fu7tAcHBxfZz+lERkYSHR3t0tahQwf27NmDw+Fwtp04cYLAwMAStzN79mwOHDjAk08+yV133cX27dtZvXp1sX2DgoLO6VG4pY25sD///JMjR44wePDgIsv69OlDYmIimzdvBvKeKLhhwwaXIdefffYZDRo0oG/fvmXeHkBoaChdu3Yt0vehhx4iLi6OJUuWONsmTJhAgwYNuOaaa8rleKB071tZzt/TKe2+yhK/iIjUTOnp6axZs4Zrr70Wi8X1a0vh+5yMjAxWr17Nddddh7e3t8uym266CZvNxq+//lrifv744w+uvfZarFary7KBAweWKeann36a+++/n9dff53333+/yPby73NKunfatWsX8+fP59Zbb2XMmDHY7XZmzJhRbN+goCCXbZ6N6667zuV1hw4dME2T3bt3l7hOVlYWP/zwA3379i1yHH369AHgl19+AfLumzIzM5k5c6azz5QpU3A4HNx5551l3l6+wp8/wIgRIwD4+OOPnW0TJkzAMIxii8qfzfHkO9P7VpZz90zOtK+ziV+kKlFSSqSSHDt2DIDw8PAiywq35feNiIgo0je/rbhaQwXXrV+/fpFlxbWVJDIyskhbUFAQOTk5ZGRkONtCQkJISUkpcTtvv/029evX5/bbb+fWW2/F09OzxNoOKSkp1KlTp9Qxnm3MhR0+fBjIe8Syh4cHVqsVq9WKxWLhpptuAk69r8OGDcPHx8f5RJwjR46waNEi7rjjDueNZ1m2B9CwYcNi4xowYAANGzbkww8/BGD9+vX8+eef3H777UVucs/2eEr7vpXl/D2d0uyrrPGLiEjNlJSUhGmapfq3JykpCYfDcVb3Tvnrnuu9E+QlXJo2bcrQoUOLXZ7/dLWS7p3Gjx+PaZo8+eSTdOnShbZt2572vqngNs9G4X+XS5PoOnbsGHa7nSlTphT5d7pRo0bOPgAXXnghnTt3dnmS4OTJk+nVqxctWrQo8/byFXfv1KRJE6677jomTZqE3W4nIyODL774gp49ezr3da7HU9r3rSzn7pmcaV9nE79IVaKklEglCQ0NBeDo0aNFlhVuq1u3LkCxo6Hy2+rVq3fa/Zxu3dIwDKNU/Zo2bcrRo0eLHYm0atUq/vzzT0aOHImPjw/16tWjX79+zJo1q9hHGMfHx9O0adNSx3i2MReW/15+8cUX2O12cnNzyc3NxeFwYOZNc3YWJA0JCeGGG25gxowZ2Gw2pkyZQm5urssvcGXZHuQ9Zac4Hh4e3HfffSxcuJC9e/fywQcfAJz2176z2X9p3reynL+nU5p9lTV+ERGpmerUqYNhGKX6tyckJASLxXJW9075+znXeyeAn3/+GbvdTvfu3dm7d2+R5fn3Ofk/wBR04sQJPv/8c66//nratWsHwB133MHGjRv5+++/i/SPj48nMjISLy+vMsVY0NncO9WpUwer1cpDDz1U4r/TzzzzjLP/3Xffzdq1a/nnn3/45Zdf2LFjB3ffffdZbw9Kvnd66KGHiI+P59tvv2X69OkkJye77Ks8jgfO/L6V5dw9k9Lsq6zxi1QlSkqJVJKLLrqIgIAAFi5c6NKenp5e5KkkF198MYGBgXzzzTcu7bm5ucybN4/27duX+Mtd/n4KP60lJSWl2KefnKvu3buTnp7Otm3biix7++23CQwM5MEHH3S23XHHHZw4caLI02L27dvHkSNHuOyyy8o9xjPp0qULYWFhfPXVV6Xqf88993D8+HHmzp3LZ599Ro8ePWjZsuVZb+907rvvPqxWK6+++iqzZs2iR48etGrV6rTrlOf+85Xl/D1XFRG/iIhUP/7+/lx88cUsXry4yI9fhZ/W6+/vT5cuXVi0aBHZ2dkuy+bMmYO3tzfdunUrcT/56xbez7x588oUc5s2bfj111/x8PCgW7dubN261WV59+7dAVi7dm2RdSdNmkRaWhpPP/20s2348OFYrdZiR0v9+eefbrlv8vPz44orrmDBggWnHYmer+Ao808//dT5A9/Zbu90rrzySlq3bs2ECRP48MMPCQkJ4cYbbyzX4ymNspy756oi4hepTEpKiVSSgIAAnn32WWbNmsVbb73F8ePH2bVrF3feeScXX3yxS19/f39eeOEFFixYwHPPPceRI0fYu3cvd9xxB3Fxcbzxxhun3c+YMWP46quveP311zl27Bg7d+7k9ttv55JLLin34+rbty8eHh78+OOPLu27d+9m3rx5jBgxguDgYGf7tddeS/369YvcXP34448YhkG/fv3KPcYz8fHxYeLEiSxatIj77ruPbdu2kZWVRVxcHNOmTeOqq65y6d+zZ09atmzJqFGjiI2NLfILXFm3dzoREREMGjSIDz/8kIyMjDP+2lfe+89XlvP3XFVE/CIiUj298sorxMXFcd9993HgwAGOHDnCM8884xxVXtC4ceM4evQot9xyC3FxcSQmJjJu3Di+/PJLnn322RJHSgG8/PLL7Nmzh7vvvpv9+/dz+PBhnnzyyTJP3wNo1KgRK1euJCIigssvv9wlARUVFUWrVq2K3DfZ7Xbee+89LrvsMi699FJne2RkJFdffTXTp0/Hbrc727dt28ahQ4fKXJ+ovLzzzjukpKTQr18/Vq9eTXp6OocOHWLx4sX069ePuLg4Z986deowaNAgpk6dytdff82tt96Kj4/PWW/vdAzD4IEH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8MADpfrSUdH6dohUUXMRqZECAgLOWOOpslitVnr06IHFcmrIcXh4OBs3buStt97iww8/pEmTJsyYMYOwsDCSk5Pp0aOHs29oaCjR0dEu2xw1ahQ5OTlMmDCBFi1a8O677/LFF18AeQmrDRs28OabbzJp0iR69uzJAw88AECLFi14++23mTx5MqmpqSxdupQ6deo46z8BBAYG8u9//5t169bRr1+/UsVccBvFxXvJJZc4Rxm1adOGpUuX8t5777Fp0yZee+01Xn/9dXx9fU+7Hz8/P7755humTp2Kv78//v7+TJo0ic8//5zLL7+cevXquYySatKkiTPZ1axZM+rUqeNc5unp6fIe161bl5iYGOfr/v37M3PmTKZOnYrNZuOll15yFn8XERERkfKT/3Q95xQuv3rkdB4Kf83C91gsQ4YM4f777z/jQ4Uqi2GaZuH63JUiOzub5s2bM2TIEPbu3cvevXtZu3btGde7+uqriY+P57XXXiMpKYkHHniAkSNH8sILL5RqvykpKQQHB5OcnOxSg0NERFxlZWWxe/dumjdvjo+Pj7vDEakUJZ33tfn+oTYfu4iISHWSnJxMr1d/4Hiut0vNKEwH/vYU5twbQ1RUVKXEUtr7B7eNlPL09GTXrl34+PjwyCOPnPapPflWrlzJ0qVL2bhxI507dwbyCtA+8cQTPPHEE6pNISIiIiIiIiK1immaLFy4kHfeeYfj5z8EVotrB8NCjm/dSktIlYXlzF0qhmEYZf7l/aeffqJBgwbOhBTAddddR2ZmJqtXry7vEEVEREREREREqqzdu3dz//338/zzz5OUlIQ141heEfMCDANauunpemdSrQqd79+/n8hI15pN+a/3799f7Do2m83lKUSleQqTiIiIiIiIiEhVtGRTPG//sJ2dR1Iw0hLw3Z/pLGTuF5f3dL38p+oZRl55KXc9Xe9M3DZS6mzY7Xa8vLxc2jw9PbFYLOTk5BS7ztixYwkODnb+ady4cWWEKiIiIiIiIiJSrvILmcceTiUXC3b/MFI7D8UW1hZvb28euakn7w3tRFRkIN4eFqIiApk4LMZtT9c7k2o1Uio0NJRjx465tCUlJeFwOKhXr16x64wePZrHHnvM+TolJUWJKRERERERERGpVg4fPsyoqb8AfqcKmRsWMB0YHa7ly5GX0ahRIwCuP7965D2q1UipmJgY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W7eu870KDQ0t8/J8+/fvp2XLli5tw4cP58svvwTK/llWZwcPHuT555/n8ssvL/L/Qb5Dhw7x8MMP06dPH4YPH86aNWsqOUoREZGqLzs7m/9+9Ufe9DzDyGs8Wcg857w+vP3227z++uv8q3tbFo+8nNiXr2HxyMuVkDpHSkqVs4JJKdAUPhGpWRwZGTgyMlymzpnZ2Xnt2dnF9y0wYsfMyclrL1QPKr9vWXzwwQdMnDiR1157jf/85z8sWLAAgJycHHr16kX9+vVZsGABjz32GIMHD2bPnj0ArFy5ko0bN7J48WI8PT2577778mI4OS1w7ty5fPrpp4wbN45///vfPPjgg7z88st89dVXTJ8+ncWLFwNw7733snHjRjZu3Mgvv/yCt7c3PXr0KBKnzWajR48e+Pv7M3fuXB577DE++OADIC950rNnTzp37szChQvp0aMHPXv25MSJE854Pv/8cz7++GM+/PBDxo4d60wozJs3j9mzZzN16lSmTp3Kli1b2LJlC1OnTnU5zm7duhX7/n344Yds376d9evXc/fdd9OxY0datmzJzTffzO+//862bducSZ7ycscdd9CqVStuuukmtmzZUubl+XJzczly5IhLW1JSEpmZmUDZP8vq6pdffqFr1644HA7279/vPMcLOnHiBJdeeim7du3i4YcfJiwsjMsuu4zVq1dXfsAiIiJV1Nq1a/nXv/7F0UyKLWTuCAjnsssuc0tsNZ2m75WzgjWlQMXORaRmiY2OAaD1b7/iUbcuAMc++4yE8e8QMvgmIl96ydl3e7fumJmZtFy2DK9GDQFImjGDI2PHEdSvHw3feN3Zd2fvPuQmJdF229ZSx/L222/TqVMnOnXqxCOPPMLkyZPp168fixcvxjAMXn89b/utW7dm2bJlzJo1i6effprw8HAAIiIi+OCDDwgJCXHWCQB49913ad68OW3btqV169bcd999dO3aFYD+/fuzdu1arrnmGvz9/fH398fhcHDvvfcybNgwBg8eXCTORYsWAfD+++9jsVho164dV16Z95zghQsXEhwczIsvvgjAqFGjmDt3LnPmzGHIkCHOeFq0aAHAVVddxbp167j44ovJzMykYcOGdOrUCQ8PD95//31M03QWgA8PDyckJKTY985ut/PWW2/xxx9/4OXl5dxvVFQU7dq14+KLL2bixIncdNNNzjjO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wPbt20vcz9ixYwkODnb+ady4cbkex+kUPj4lpURERERERKSyZGdn88knnzBkyBBSCj5ZL59hweYV7ExIiVQ2t42UCggIKJKkSU1NJTc3l4CAgGLXmTx5MjNnziQuLo7w8HAABgwYwJVXXskVV1xBx44di6wzevRoHnvsMefrlJSUSktMFVdTSkRERERERKSirVmzhldffZW9e/cCYM04Rm5AuEtiyjCghQqZixu5LSnVtm1bvvjiC7Kzs/Hy8gIgNjbWuaw4mzdvpkWLFs6EFOQVOjdNk82bNxeblPL29sbb27tIe2Xw8fHB29vbOX1QI6VERERERESkoizZFM+b329lV0I6RupR/DL8VMhcqjS3Td8bMGAANpuNmTNnOts++ugjWrRoQXR0NABZWVk8/fTTrFu3DshLVu3cuZMDBw441/npp58AiIqKqsToSy8kJMT5dyWlREREREREpCIs+vsgI6atZ8fRdBxYyA04Vci8Tp06jH1oCB/eGq1C5lKluG2kVOPGjXn99dd54IEHWLZsGcePH+fnn39m/vz5GIYB5CWlXn31VaKiooiJieGuu+5i5syZXHjhhQwaNIj09HS+/vprRo4cyfnnn++uQzmtoKAgjhw5Amj6noiIiIiIiJS/zZs388TnG8AzuEghc68LBjDn6auc5WWu6RjpxkhFXLktKQUwcuRIrrjiClasWIG3tzeTJk1yKbDm6+vL2LFjiYmJAcDLy4uff/6Zn376ia1bt+Ll5cXjjz9O586d3XUIZ1SwrpRGSomIiIiIiEh5SUlJYcKECcyZM4eMns8WW8g8zeJfpN6xSFXh1qQUQMeOHYutBQV59aCefvrpIu29evWiV69eFR1auQgODnb+XUkpEREREREROVemabJo0SLeeecdjh8/DqiQuVRPbk9K1XQFk1KaviciIiIiIiJna8mmeF5btJk9xzIw0hLws9bHm7yklAqZS3WkpFQF00gpEREREREROVffrd/Hw1/9A6YDDCucLGTOX7No7ZvOqFH/R5J/E95ZvoO4hHRahPkzsncbFTKXKk1JqQpWcO5uZmYm2dnZeHl5uTEiERERERERqU5++eUXnpq7G7zrFilk7nvRjcwac63ze2bfDipkLtWH5cxd5FwULiinKXwiIiIiIiJSGocPH+bxxx/nscceI6vgk/XyGRaSHd4a+CDVlkZKVbCQkBCX18nJydSrV889wYiIiIiIiEiVZ7fbmT59OpMmTSIrKwtQIXOpmZSUqmAaKSUiIiIiIiJnsmRTPOOX7WDX0VQ8Mo/jsW0Z3icTUgABe34huePNKmQuNYqm71WwgoXOQcXORURERERExNWSTfGMmLaebYdTyHFAplcIqZ2HYgtrC0CnTp34evwYJg6LJioyEG8PC1ERgUwcFqNC5lKtaaRUBVNSSkREREREREricDh4Yc7ak8OfXIuY21pfwUv330j//v2xWCy0RoXMpWbRSKkKVnj6npJSIiIiIiIiArBt2zbuvPNO4tNyiy1iTmB9Bg4ciMWir+5SM2mkVAXz8vLC19eXzMxMQDWlREREREREaru0tDQmTpzIV199hcPhwBpwebFFzFuGB7gxSpGKp6RUJQgKCnImpTRSSkREREREpPbJL2S+82gq1vQEvLb/hbfDAYBf3ApSOw/FwMTEUBFzqTU0BrASFKwrpaSUiIiIiIhI7eIsZB6fgt0BNp9Ql0Lm13SMZFy/lkRFBqmIudQqGilVCQompTR9T0REREREpPaw2Wz898vVYHoUKWSec14fJo4ZQbdu3QAY2j3KjZGKVD6NlKoEBYuda6SUiIiIiIhI7fD7778zZMgQjmYZxRYydwSEOxNSIrWRRkpVAo2UEhERERERqT2OHj3Km2++yfLlywGwNjxWfCHzMH93hShSJSgpVQlUU0pERERERKRmW7IpnreXbWfXkVSMtAR8dh7C++SyU4XMwQQVMhc5SdP3KkHBpFRWVhY2m82N0YiIiEht8sUXX3D55ZfTvHlzYmJieO6558jKynJ3WCIiNUp+IfPY+FTspkGOXz1nIXOLxcJtV3Ti7ZvaERUZqELmIgVopFQlKFhTCvKm8IWFhbkpGhEREaktZs6cyd13381HH31Er1692LlzJ3feeSdHjhxh4sSJ7g5PRKRGSE5O5pkZv4LpXaSQuaPd1Uy55xnats17yt6gC5u7MVKRqkcjpSpB4aSUpvCJiIhIZfj555+JiYnhrrvuonnz5lx55ZXceuut/Pzzz+4OTUSk2jNNk/nz53PjjTdyPMej2ELmOb6hzoSUiBSlkVKVICQkxOW1klIiIiJSGa6++mpmzpzJX3/9RefOnUlISGDp0qVce+217g5NRKTaWbIpnvHLdrA7MZ2GQZ4E7P2FQ38sAsCaoULmImdDSalKUNz0PREREZGKNmjQII4ePcpFF12En58fqamp3HbbbbzxxhslrmOz2VzqX+q+RUTkVM2o/ELlcccyIbALgWG78U7YqkLmImdJ0/cqQcFC56CRUiIiIlI55s2bx2OPPcaECRNYv349Cxcu5Mcff+TZZ58tcZ2xY8cSHBzs/NO4ceNKjFhEpGoav2yHM+EEOGtGZbTogbe3N48O7sX7QzurkLlIGRmmaZpn7lZzpKSkEBwcTHJycpERTBUlJyeHSy+91Pn63//+N7fffnul7FtERETOnTvuH8rDpZdeSps2bZgyZYqz7bPPPuO+++4jNTUVX1/fIusUN1KqcePG1e7YRUTKy6FDh+j+zlochrXIMouZy8qHY2jYsKEbIhOpukp776SRUpXA09MTPz8/52uNlBIREZHKkJOTg7+/az2TgIAAHA4Hdru92HW8vb0JCgpy+SMiUhvl5OTw+eefM3jwYIy0BDAdLssN4LwGIUpIiZwD1ZSqJMHBwWRkZACqzSAiIiKVo2/fvkyYMIG7776bmJgYDh8+zBtvvEG3bt0IDAx0d3giIlVKwULmEf4WPGKXkrwp72ml+TWjMB1gWJxT+VQzSuTcKClVSYKCgoiPjwc0UkpEREQqx3//+1/S09O54oorME2TnJwcrrrqKt5//313hyYiUqUULmS+94QdIq4g8MhRvBO24p2wlWbJq0lv3oODKTm0CPNnZO82qhklco6UlKokBYudKyklIiIilcHLy4u3336bt99+m+TkZAIDA7FYVL1BRKSw8ct2ACYmRl5DgULm4dmHePjhh7n++ut1DRUpZ0pKVZKCSSlN3xMREZHKVvhpwCIikmfbtm3Exp+AwoXMDQsE1mfOnDmEhIS4IzSRGk9p3kpSsEioRkqJiIiIiIi4V1paGm+88Qa33XYblhIKmbeJDFZCSqQCaaRUJdFIKREREREREfcpWMg8zNuBuWkRtl1/AMUUMjfANFXIXKSiKSlVSQqOlLLZbGRlZeHj4+PGiERERERERGqHwoXMD+Q4oPm1BKakOAuZd3RsJiH8QvadsKmQuUglUVKqkhSu45CcnKyklIiIiIiISCV4+4ftlFTIvIVXCk899RTdunVza4witZGSUpWkcFIqJSWF+vXruykaERERERGR2mH16tVsjz8BlkJffw0LBEbw5ZdfasCAiJuo0HklKTh9D1TsXEREREREpCIlJCQwevRo/u///g9LemIJhcyDlJAScSONlKokhZ/YoKSUiIiIiIhI+ckvZB6XmE5djxxy//oOc/9GQIXMRaoqJaUqSeGRUnoCn4iIiIiISPkoXMj8cI4B5w0iMMuGd8JWfBK30TVgH3v82rLneKYKmYtUEUpKVZKgoCBsYW3JaNGTXL9Qxm008G0dT98Oke4OTUREREREpFp7a+k2SipkfkGYwejRo2nbtq1bYxSRolRTqpIs25ZAaueh5AaEg9WTIzYrI6atZ8mmeHeHJiIiIiIiUi2ZpsmCBQvYcTgF8hNS+QwLRlAEkydPVkJKpIpSUqqSjF+2I2/SspH/lhsYBryzfIdb4xIREREREamO4uLiuP/++3n++edLLGTeOiIIq9XqngBF5Iw0fa+S7E5MB8M1c2+aEJeQ7qaIREREREREqof8Iua7E9NpFurHefZd/PH1R+Tm5gIqZC5SXSkpVUma1/NnW3yKS2LKMKBFmL8boxIREREREanaChcxjz2cSqxRn8C6bfBO2ApAUEocV0cmsclszO7EDBUyF6kmlJSqJI/0ac2IaeudmXvMvCJ8ytyLiIiIiIiUbPyyHc6EFJD36/7JIubeCVvp1q0bTz75JI0aNXJjlCJyNpSUqiR9O0Rytf8+lh32JNevHt62E7xzX19l7kVEREREREpgt9vZeSTl1FP18hkWHP5hvPbaa/Tq1QujUKkUEakeVOi8Ep1fD+r8MZF6P71M3T8/4ur29d0dkoiIiIiISJW0YcMGbrnlFsyUI0WKmINJm8hgrrjiCiWkRKoxjZSqRMHBwc6/5+TkkJaWRmBgoBsjEhERERERcb+Chcyb1PGh0Ym/+WfxVAD8UgsVMQdMDB69MsqtMYvIudNIqUrUoEEDl9f79+93UyQiIiIiIiJVQ34h89jDqdjsDnYcTeOnnFbYwtoC4J2wlfo7v6OBP3h7WIiKDGTisBiVQhGpATRSqhI1bdrU5fW+ffto166dm6IRERERERFxv6KFzC0uhcz79+/Pww8/TEhIiPuCFJEKoaRUJWrUqBEWiwWHI28+9N69e90ckYiIiIiIiPukpaWx43AyZuFJPIYFh384n3zyCeeff75bYhORiqfpe5XI09PTZQqfklIiIiIiIlIbmabJ999/z0033QSpR4sUMjcwOa9BiBJSIjWcRkpVsiZNmnDgwAEgb/qeiIiIiIhITVewkHnDIE9CDvzGvt++A8DPKL6Q+SN92rg3aBGpcBopVckK1pXat28fpmmepreIiIiIiEj1VriQedyxTNb7xbgUMm96YClNgjxUyFykltFIqUpWMCmVkZFBYmIiYWFhboxIRERERESk4pyukHnAiZ3ccccd3H777fj4+LgxShFxByWlKlmTJk1cXu/du1dJKRERERERqZEOHTrE9vgTmIbVdYFhwQwI58svvyzyHUlEag9N36tkBUdKgYqdi4iIiIhIzZOdnc2nn37K4MGDMdISiilkDuc1CFFCSqSW00ipShYWFoaPjw9ZWVmAip2LiIiIiEj1V7CQeX0/A+u270ndshIAv7jiCpnDyN4qZC5S22mkVCWzWCwuvwYoKSUiIiIiItVZ4ULm+5Jz2N2gj0sh847Jq2kR6qNC5iLiQiOl3KBp06Zs374d0PQ9ERERERGp3t5eth0wMTHyGgoUMo+wH+bhhx/muuuuw2LRmAgRcaWklBsUHCl18OBB7HY7Hh76KEREREREpHrZuHEj2w8lg6VoIXMC6zNnzhyCgoLcE5yIVHlKVbtBwaRUbm4uBw8edGM0IiIiIiIiZXP8+HGef/557rnnHizpxRcybxMZrISUiJyWhue4QXFP4CvcJiIiIiIiUlXkFzKPS0wn1NNO7l/zcexbDxRTyNwA01QhcxE5M7cnpXJycti0aRM+Pj60bdu21OslJiayb98+zjvvPPz9/SswwvJX+LGnKnYuIiIiIiJVVX4h8/yn5sXnAG0GEJiZiXfCVrwTtnKh104OBndib1IWLcL8Gdm7jQqZi8gZuTUp9dNPP/Gvf/0LX19fUlNTadiwId99991pRw2lp6dz33338e2339K2bVuOHj3KmDFjuO+++yox8nMTFBREnTp1SEpKAlTsXEREREREqq43l26jpELm7YNzePrppzn//PPdGaKIVFNuqymVkpLC4MGDuf3229m9ezfx8fGEhoYyfPjw0643bNgwNm7cyM6dO1m7di07duzAarWedp2qqGDiTUkpERERERGpahwOB9999x07D6dAfkIqn2HBCIpg2rRpSkiJyFlzW1Jq3rx5pKSkMHr0aAA8PT0ZNWoUK1euZOfOncWus379er799lvGjx9PZGQkAN7e3tx9992VFnd5KTiFT9P3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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, (axn, axk) = plt.subplots(1, 2, figsize=(12, 4.5))\n", "for ax, comp, rii, lab in ((axn, 0, n_rii, \"n\"), (axk, 1, k_rii, \"k\")):\n", " ax.plot(WL, rii, \"-\", lw=2.5, color=\"0.2\", label=\"refractiveindex.info\")\n", " ax.plot(WL, nk_td[:, comp], \"o\", ms=4, color=\"C0\", label=\"tidy3d (fit)\")\n", " if nk_lum is not None:\n", " ax.plot(WL, nk_lum[:, comp], \"--\", lw=1.5, color=\"C1\", label=\"Lumerical (sampled)\")\n", " ax.axhline((nk_beamz.real, nk_beamz.imag)[comp], ls=\":\", color=\"C3\",\n", " label=f\"beamz const @ {DESIGN_WL} µm\")\n", " ax.set(xlabel=\"wavelength [µm]\", ylabel=lab, title=f\"gold {lab}(λ) in every engine\")\n", " ax.legend(fontsize=\"small\")\n", "fig.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "a045528a", "metadata": {}, "source": [ "## Using it in a simulation\n", "\n", "`to_tidy3d_medium()` returns a real `td.Medium` you can assign to any\n", "structure, and the Lumerical sampled material is a named material like any\n", "other — so a device built with a refractiveindex.info model runs exactly like\n", "one built with a vendor model:\n", "\n", "```python\n", "medium = load_rii_material(\"main\", \"Si\", \"Salzberg\").to_tidy3d_medium()\n", "structure = td.Structure(geometry=..., medium=medium) # dispersive Si, from rii\n", "```\n", "\n", "## Doing this from the technology file\n", "\n", "You rarely call these by hand. In the tech file, give a material an `rii:`\n", "reference and (optionally) `source: rii`, and **every** engine builds its\n", "material from that model automatically — tidy3d a dispersive medium, Lumerical\n", "a sampled material, beamz a constant.\n", "\n", "The shared `examples/tech.yaml` does this live: its **substrate** carries all\n", "three sources and pins `source: rii`, so the buried oxide comes from the\n", "Malitson (1965) Sellmeier page no matter which engine runs the job:\n", "\n", "```yaml\n", "materials:\n", " SiO2_rii:\n", " nk: 1.444 # neutral constant fallback\n", " tidy3d: 1.444 # eda source, tidy3d flavor\n", " lumerical: SiO2 (Glass) - Palik # eda source, Lumerical flavor\n", " rii: {shelf: main, book: SiO2, page: Malitson}\n", " source: rii # <- overrides the eda→rii→nk precedence on EVERY engine\n", "\n", "substrate: {z_base: 0.0, z_span: -2, material: SiO2_rii}\n", "```\n", "\n", "`select_source` is the function every engine calls to make this choice — ask\n", "it directly what each one would do:" ] }, { "cell_type": "code", "execution_count": 7, "id": "d983c102", "metadata": { "execution": { "iopub.execute_input": "2026-07-16T05:36:05.535836Z", "iopub.status.busy": "2026-07-16T05:36:05.535769Z", "iopub.status.idle": "2026-07-16T05:36:05.540704Z", "shell.execute_reply": "2026-07-16T05:36:05.540483Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "material tidy3d lumerical beamz \n", "substrate rii rii rii \n", "superstrate eda eda nk \n" ] } ], "source": [ "from gds_fdtd.materials.select import select_source # noqa: E402\n", "from gds_fdtd.technology import Technology # noqa: E402\n", "\n", "tech = Technology.from_yaml(_find(\"examples/tech.yaml\"))\n", "d = tech.to_solver_dict()\n", "substrate = d[\"substrate\"][0][\"material\"]\n", "superstrate = d[\"superstrate\"][0][\"material\"]\n", "\n", "print(f\"{'material':12s} {'tidy3d':10s} {'lumerical':10s} {'beamz':10s}\")\n", "for label, mat in [(\"substrate\", substrate), (\"superstrate\", superstrate)]:\n", " picks = [select_source(mat, eng, name=label) for eng in (\"tidy3d\", \"lumerical\", \"beamz\")]\n", " print(f\"{label:12s} {picks[0]:10s} {picks[1]:10s} {picks[2]:10s}\")" ] }, { "cell_type": "markdown", "id": "994ba51a", "metadata": {}, "source": [ "The superstrate (no `source:` pin) shows the default precedence: engines with\n", "a vendor database use it (`eda`), beamz falls through to `nk`. The pinned\n", "substrate answers `rii` everywhere. On tidy3d that buys real dispersion —\n", "the medium built from the tech file is a Sellmeier fit, not a constant:" ] }, { "cell_type": "code", "execution_count": 8, "id": "9b7f04c3", "metadata": { "execution": { "iopub.execute_input": "2026-07-16T05:36:05.541427Z", "iopub.status.busy": "2026-07-16T05:36:05.541368Z", "iopub.status.idle": "2026-07-16T05:36:07.233819Z", "shell.execute_reply": "2026-07-16T05:36:07.233628Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "257392788bcd429e8bc1c744e9595f34", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "λ=1.50 µm   rii n=1.444618   tidy3d medium n=1.444639\n",
      "λ=1.55 µm   rii n=1.444024   tidy3d medium n=1.444010\n",
      "λ=1.60 µm   rii n=1.443419   tidy3d medium n=1.443440\n"
     ]
    }
   ],
   "source": [
    "import os  # noqa: E402\n",
    "\n",
    "os.environ[\"GDS_FDTD_RII_DB\"] = str(RII_DB)  # engines that build the substrate need the DB\n",
    "\n",
    "sio2 = tech.substrate.material.rii.load()  # the named material, resolved onto the layer\n",
    "medium = sio2.to_tidy3d_medium(wavelength_um=np.linspace(1.5, 1.6, 11))\n",
    "wl = np.array([1.50, 1.55, 1.60])\n",
    "n_fit = np.sqrt(medium.eps_model(td.C_0 / wl)).real\n",
    "for w, n_r in zip(wl, n_fit, strict=True):\n",
    "    print(f\"λ={w:.2f} µm   rii n={sio2.n_at(w):.6f}   tidy3d medium n={n_r:.6f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a48c9719",
   "metadata": {},
   "source": [
    "The selection rule (per material, per engine) is **eda → rii → nk**, with\n",
    "`source:` as an explicit override and a clear error if nothing applies — see\n",
    "`docs/technology.rst` → *Material sources*.\n",
    "\n",
    "## Recap\n",
    "\n",
    "A refractiveindex.info page is a portable, engine-independent source of truth:\n",
    "its full `n(λ) + i·k(λ)` flows into tidy3d (a dispersion fit) and Lumerical (a\n",
    "sampled material) intact, and into beamz as a single-wavelength constant. Pin\n",
    "it with `source: rii` — as the shipped tech file does for its substrate — and\n",
    "every engine models that material from the same measured page."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.13"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {
     "257392788bcd429e8bc1c744e9595f34": {
      "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_e16b3b8c71ce4e7fa4e5d0967694b77b",
       "msg_id": "",
       "outputs": [
        {
         "data": {
          "text/html": "
Best weighted RMS error: 3.28e-06 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\n
\n", "text/plain": "Best weighted RMS error: 3.28e-06 \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 } }, "4a3a0867ef1f4e269f06892fa3deecd6": { "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 } }, "7a38fb11c0574c929232c93e930c549c": { "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_4a3a0867ef1f4e269f06892fa3deecd6", "msg_id": "", "outputs": [ { "data": { "text/html": "
Best weighted RMS error so far: 0.0698 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\n
\n", "text/plain": "Best weighted RMS error so far: 0.0698 \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 } }, "e16b3b8c71ce4e7fa4e5d0967694b77b": { "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 } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }