diff --git a/HexagonalLatticeBands.ipynb b/HexagonalLatticeBands.ipynb new file mode 100644 index 00000000..a4c7a7b8 --- /dev/null +++ b/HexagonalLatticeBands.ipynb @@ -0,0 +1,931 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Band structure calculation of hexagonal lattices\n", + "\n", + "In this notebook, we demonstrate the approach for simulating band diagrams of periodic structures defined in hexagonal lattices. We will reproduce the TM band diagram calculation presented in the paper by `Tsung-li Liu, Kasey J. Russell, Shanying Cui, and Evelyn L. Hu, \"Two-dimensional hybrid photonic/plasmonic crystal cavities\", Optics Express, (2014).` [DOI:10.1364/OE.22.008219](https://doi.org/10.1364/oe.22.008219).\n", + "\n", + "For calculating band diagrams of periodic structures in a **square** lattice, please refer to our [band diagrams for a photonic crystal slab](https://www.flexcompute.com/tidy3d/examples/notebooks/Bandstructure/) example notebook.\n", + "\n", + "\n", + "\n", + "Due to the rectangular nature of the FDTD simulation domain, a primitive hexagonal unit cell **cannot** be represented directly; therefore, it is necessary to use a rectangular supercell of size $(a \\times \\sqrt{3}a$), constructed from two primitive real-space lattice vectors. However, this supercell enlarges the real-space period and reduces the Brillouin zone, which introduces artificial band folding.\n", + "\n", + "To suppress these folded modes, we apply **matching dipoles**. For each dipole placed in the supercell, a second dipole is added at the position shifted by the primitive lattice vector $\\vec{r}$ of the true hexagonal cell. The second dipole is driven with a Bloch phase factor \n", + "\n", + "$$e^{-i 2\\pi\\,\\vec{b}\\cdot\\vec{r}}$$\n", + "\n", + "where $\\vec{b}$ is the Bloch wavevector. This enforces the correct Bloch periodicity of the primitive cell, ensuring that only the physical (unfolded) Bloch modes are excited, and allowing the band diagram to be computed using the standard high-symmetry points of the hexagonal Brillouin zone.\n", + "\n", + "This notebook is structured as follows:\n", + "\n", + "[1)](#1) Definition of the K-points for the hexagonal lattice \n", + "[2)](#2) Supercell definition and base simulation setup \n", + "[3)](#3) Function for creating matching dipoles for a given Bloch vector \n", + "[4)](#4) Band diagram calculation\n", + "\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from typing import Callable\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import tidy3d as td\n", + "from tidy3d import web\n", + "\n", + "# Defining a random seed for reproducibility\n", + "np.random.seed(12)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## K-points Definition \n", + "\n", + "For a hexagonal lattice, we can define the two real-space lattice vectors as \n", + "$a_1 = (a,\\,0)$ and \n", + "$a_2 = a(\\cos(\\pi/3),\\,\\sin(\\pi/3))$.\n", + "\n", + "To transform these vectors into reciprocal space, we use the standard definition, where $a_3$ is simply (0,0,1).\n", + "\n", + "$b_i = 2\\pi\\, \\frac{a_j \\times a_k}{a_1 \\cdot (a_2 \\times a_3)}$\n", + "\n", + "\n", + "Hence, the vectors in the reciprocal space are:\n", + "\n", + "$ b_1 = \\frac{2\\pi}{a}(1,-\\frac{1}{\\sqrt{3}}) $ \n", + "$ b_2 = \\frac{2\\pi}{a}(0,\\frac{2}{\\sqrt{3}}) $\n", + "\n", + "For band calculations, we only need to sweep points in the irreducible Brillouin zone (IBZ), which in reduced reciprocal coordinates corresponds to the triangular region defined by the points\n", + "\n", + "- $\\Gamma = (0,\\,0)$ \n", + "- $M = \\left(0,\\,\\tfrac{1}{\\sqrt{3}}\\right)$ \n", + "- $K = \\left(\\tfrac{1}{3},\\,\\tfrac{1}{\\sqrt{3}}\\right)$.\n", + "\n", + "The code below illustrates the real and reciprocal spaces." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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pk34/PPPodFosHz5crRu3RonT55ElSpVAAD//vsvwsLC0KtXLxQrVgy3bt3CihUr0KRJE1y8eBEuLi4AgFevXqFhw4a4dOkSBg0aBB8fHzx9+hR//fUX7t27B3d3dxgMBnz00Uc4evQohg0bhooVK+LChQtYvHgxrl69mu66B1n59ttv8dFHH6Fv375ISUnBb7/9hu7du2Pnzp1o164dAOCXX37BkCFDUKtWLQwbNgwAUKZMGbi6uuLq1avYuHEjFi9eDHd3dwAQT0reZok+btmyBQkJCRg+fDgKFCiAkydP4vvvv8e9e/ewZcsWo7Z6vR5+fn6oXbs2FixYgP3792PhwoUoU6YMhg8fDgAQBAEdO3bE0aNH8emnn6JixYr4448/MGDAgCzHtmbNmihdujQ2b96cpv2mTZuQL18++Pn5AQAePXqEOnXqiCf8BQsWxN9//43BgwcjLi5OnAqt1+vRvn17HDhwAL169cLo0aPx8uVLhISEICIiAi1atMCKFSswfPhwdO7cGV26dAEA8Ru1/fv3o02bNihdujSmT5+OxMREfP/996hfvz7Cw8PTnEB0794dZcuWxdy5c8UPXl27dkVkZCRGjRqFkiVL4vHjxwgJCcGdO3csupgsETmm9zlnyM77UEb0ej1at26NOnXqYN68edizZw+mTZsGnU6HmTNnGrUNDg5GUlIShg0bBo1Gg/z582f7+PvgwQPUqlULsbGxGDZsGCpUqID79+/j999/R0JCAtRqNc99eO6TKZ5/GAsJCcGNGzfg7++PwoULIzIyEj/88AMiIyNx/PjxNOsv9ejRA6VKlUJQUBDCw8Px008/oVChQvjmm2/ENkOGDMH69evRp08f1KtXD//884/4t/M+Xr58KSYrnz17Jl4St3r16kwft27dOvz8888YOnRojmaQjhw5Ennz5sX06dNx5coVrFixArdv3xbXuAJeJ7By5cqFgIAA5MqVC//88w+mTp2KuLg4zJ8/HwAwadIkvHjxAvfu3cPixYsBALly5TJ6rq+//hpyuRzjxo3DixcvMG/ePPTt2xcnTpzIdrwOTSAikwgODhYACPv37xeePHki3L17V/j999+FggULChqNRrh7967Ytnnz5kLVqlWFpKQksc5gMAj16tUTypYtK9YlJSUJer3e6Hlu3rwpaDQaYebMmUZ1AITg4OBMYzxz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TE96x4mDBw+Kv6fUH7VaLVSoUEGYM2eOkJKSIrZt3Lhxmrbp/bwZ79tS+3To0CFh2LBhQr58+YRcuXIJffv2FWJiYoza/u9//xPq1KkjODs7C0WKFBG+/PJLYe/evQIAo9f+q1evhD59+gh58+YVAIivu9S+bdmyJd1xyO65tKOTCQJX3yIiYzKZDCNGjEh3GjMRERHZj4EDB+L33383WtPFEfHcR3q1atVCiRIlsGXLFqlDIRu2du1a+Pv7499//83RTEOSDi/fIyIiIiIiIsnExcXh3LlzWLdundShEJGFMSlFREREREREknFzc+NNRYgcFO++R0REREREREREFsc1pYiIiIiIiIiIyOI4U4qIiIiIiIiIiCyOSSkiIiIiIiIiIrI4LnRuAgaDAQ8ePEDu3Lkhk8mkDoeIiIhMTBAEvHz5EkWKFIFczu/03gfPm4iIiOxfds+dmJQygQcPHqB48eJSh0FERERmdvfuXRQrVkzqMGwaz5uIiIgcR1bnTkxKmUDu3LkBvB5sNzc3k+5bq9Vi3759aNWqFVQqlUn3bS0coY8A+2lPHKGPAPtpbxyhn+bsY1xcHIoXLy6+59O7M+d5k7VxhNddVjgGHAOAYwBwDACOQSpHGYfsnjsxKWUCqVPP3dzczJKUcnFxgZubm93+wTpCHwH20544Qh8B9tPeOEI/LdFHXm72/sx53mRtHOF1lxWOAccA4BgAHAOAY5DK0cYhq3MnLopAREREREREREQWx6QUERERERERERFZHJNSRERERERERERkcUxKERERERERERGRxTEpRUREREREREREFsekFBERERERERERWRyTUkREREREREREZHFMShERERERERERkcUxKUVERERERERERBbHpBQREREREREREVkck1JERERERERERGRxTEoREREREREREZHFMSlFREREREREREQWx6QUERERERERERFZHJNSRERERERERERkcUxKERERERERERGRxdlUUurw4cPo0KEDihQpAplMhu3bt2f5mNDQUPj4+ECj0cDLywtr165N02bZsmUoWbIknJycULt2bZw8edL0wRMRERERERERkcimklLx8fGoXr06li1blq32N2/eRLt27dC0aVOcPXsWY8aMwZAhQ7B3716xzaZNmxAQEIBp06YhPDwc1atXh5+fHx4/fmyubhAREREREREROTyl1AHkRJs2bdCmTZtst1+5ciVKlSqFhQsXAgAqVqyIo0ePYvHixfDz8wMALFq0CEOHDoW/v7/4mF27dmHNmjWYMGGC6TtBRERERERERES2lZTKqWPHjqFFixZGdX5+fhgzZgwAICUlBadPn0ZgYKC4XS6Xo0WLFjh27FiG+01OTkZycrJYjouLAwBotVpotVoT9gDi/ky9X2viCH0E2E974gh9BNhPe+MI/TRnH+153IiIiIikYtdJqejoaHh4eBjVeXh4IC4uDomJiXj+/Dn0en26bS5fvpzhfoOCgjBjxow09fv27YOLi4tpgn9LSEiIWfZrTRyhjwD7aU8coY8A+2lvHKGf5uhjQkKCyfdJRERE5OjsOillLoGBgQgICBDLcXFxKF68OFq1agU3NzeTPpdWq0VISAhatmwJlUpl0n1bC0foI8B+2hNH6CPAftobR+inOfuYOiuaiIiIiEzHrpNShQsXxqNHj4zqHj16BDc3Nzg7O0OhUEChUKTbpnDhwhnuV6PRQKPRpKlXqVRmO9E3576thSP0EWA/7Ykj9BFgP+2NI/TTHH209zEjIiIikoJN3X0vp+rWrYsDBw4Y1YWEhKBu3boAALVaDV9fX6M2BoMBBw4cENsQEREREREREZHp2VRS6tWrVzh79izOnj0LALh58ybOnj2LO3fuAHh9WV3//v3F9p9++ilu3LiBL7/8EpcvX8by5cuxefNmjB07VmwTEBCAH3/8EevWrcOlS5cwfPhwxMfHi3fjIyIiIiIiIiIi07Opy/dOnTqFpk2biuXUdZ0GDBiAtWvX4uHDh2KCCgBKlSqFXbt2YezYsfj2229RrFgx/PTTT/Dz8xPb9OzZE0+ePMHUqVMRHR0Nb29v7NmzJ83i50REREREREREZDo2lZRq0qQJBEHIcPvatWvTfcyZM2cy3e/IkSMxcuTI9w2PiIiIiIiIiIiyyaYu3yMiIiIiIiIiIvvApBQREREREREREVkck1JERERERERERGRxTEoREREREREREZHFMSlFREREREREREQWx6QUERERERERERFZHJNSRERERERERERkcUxKERERERERERGRxTEpRUREREREREREFsekFBERERERERERWRyTUkREREREREREZHFMShERERERERERkcUxKUVERERERERERBbHpBQREREREREREVkc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9P+UciUGNuqK9l4NoFQos34AEREROTSZTIZu3brh0qVLmDVrFlxcXIy2x8XFYdy4cahSpQp27drF9aaIssCkFJEFCIKAe8+iEZP4gm9MRFZEpVRiUONu6FC2IdRKldThEBERkY1wdnbG5MmTceXKFfTr1y/N9qioKLRv3x5t27bFpUuXJIiQyDYwKUVERERERET0DooVK4ZffvkFYWFh+PDDD9Ns37NnD6pVq4YJEyZIEB2R9WNSioiIHJbBYMDNx3fx4OUTGAwGqcMhIiIiG1W3bl0cP34ca9euReHChY226XQ6rFixAgCwZs0a6PV6KUIkskpMShERkcNK1qVgwKovMePoT1zvjYiIiN6LXC7HgAEDcPXqVUyYMAFqtTpNm7Fjx8LHxwcHDx6UIEIi68OkFBEREREREZGJ5M6dG0FBQbh06RI6d+6cZvv58+fRrFkzdO3aFTdv3pQgQiLrwaQUERERERERkYmVLl0a27Ztw/79+1GpUqU027dt24aKFSti0qRJePXqlQQREkmPSSkiC5DJZChXuCQ8c7lDJpNJHQ4REREREVlI8+bNceTIEQBAvnz5jLYlJydj7ty5KFeuHH7++WeucUkOh0kpIgtwUTvhwKRfML3hUDipNFKHQ0REREREFqRUKgEAZ86cweeffw6FQmG0/eHDhxgwYADq1q2LEydOSBEikSSYlCIiIiIiIiKygHz58uHbb7/F+fPn0apVqzTbT548iTp16qB///64f/++BBESWRaTUkREREREREQWVKlSJezZswc7duyAl5dXmu2//PILypcvj7lz5yIpKUmCCIksg0kpIgtISElC8zkfY/qRH3nbeSIropQr0atue7QsVRtKhVLqcIiIiMiByGQytG/fHhEREZg/fz5y585ttD0+Ph6TJk1CxYoVsXXrVgiCIFGkRObDpBSRBQiCgKvRt/Dw1VO+mRBZEZVSic9a9EW3Cs2gVqqkDoeIiIgckEajwbhx4xAVFYXBgwenuTHSrVu30K1bNzRr1gznzp2TKEoi82BSioiIiIiIiEhiHh4e+Omnn3Dq1Ck0aNAgzfbQ0FD4+Phg+PDhePLkiQQREpkek1JEROSwDAYDHsY+wdOEWN6CmYiIiKyCj48PDh8+jN9++w3Fixc32mYwGLBy5UqULVsWS5YsgVarlShKItNgUoqIiBxWsi4FPb//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+VRUWlpapYxblYR7jXZJVzdorf07Pgt2KgHx+fbMYKdQ6SKhRim868xz53v//8EHH8hpcwQxm8AI922tVDk1nj592u9jAgAARLqgNqUmTZqk2bNnlxqTlZV10d/nzJkzWrp0qaZMmVJk3fnLOnbsqB9//FFPP/10qU2pyZMna/z48d7Hubm5atSokfr27au4uLiLzvd8LpdLaWlp6tOnj+x2u1/HrioioUbppzqv6HilrFZrsNOpNB6PR59vzwzrOiOhRiky6jyTf1b6X//ihhtuUM3q/t2GVyWRsK2tzBoLj4oGAACA/wS1KTVhwgQNGzas1JjmzZsrISFBR48e9Vnudrt17Nixcl0L6vXXX9fp06c1dOjQMmOTkpI0ffp05eXlyel0FhvjdDqLXWe32yttR78yx64qwrlGt8et93ev0/bDWbq805Wy2sLzF/zzWa3WsK8zEmqUwrtOa8FPdYXzNuh8kVBnZdQY7nMGAAAQDEFtStWrV0/16tUrM65Lly46fvy40tPTdfXVV0s6d5pFQUGBkpKSynz+ggULdMstt5Tre2VkZKhWrVolNqSAC5HndumehY9Jkgb0u1VOR/ifIgSEgmi7U+9PTNXebbsV44gOdjoAAABARAmJa0q1bt1aycnJGjlypF588UW5XC6NHTtWAwcO9N5579ChQ+rVq5defvllde7c2fvc7OxsrV27VitWrCgy7vLly3XkyBH98pe/VHR0tNLS0jRjxgw9+OCDAasNABA8FotFMY5oOW2OUm9wAQAAAMD/QqIpJUlLlizR2LFj1atXL0VFRWnAgAH6y1/+4l3vcrm0d+/eIhciXbhwoS677DL17du3yJh2u13z5s3TAw88IGOMWrZsqWeffVYjR46s9HoAAAAAAAAiWcg0pWrXrq2lS5eWuL5p06YyxhRZPmPGDM2YMaPY5yQnJys5OdlvOQIAQku+26XZb8/Xie9/UK8+vbluEAAAfrJt2zalpqbqk08+0YEDB/Tyyy+rbt26atasma677jqlpKSoU6dOwU4TQJCFTFMKAAB/8xR4tHLnWu//AQDAxcnOztaIESO0du1a2Ww2ud1uxcTESDp3dsuOHTuUmZmpv/71r+revbsWLFigli1bBjlrAMESFewEAAAAAAChb+nSpWrbtq3Wr18v6dwd04tTuHz9+vVq27atXnnllYDlCKBq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+OILSeeOnGjVqpW6deumlJQUTokHIIu50Htkwys3N1c1a9bUiRMn/H5tBJfLpRUrVqh///5he2hfONTocDjKbEzFxMRo0b/+qWEpw3TmTDGn2xkjec59HO12u344eaLEsaIsFp/T1n7MK3pufkmxp/PPFnuuv3SuIRR7gbFn8s+qwBi5XS69//776tevn2znvZ7VzmsuFcaW5PzYs648n1PILiY21hHtbfblufLlLuX0vdJif15jjN3pbVLku12lnjpXkdhou0PW/zURKxLr8riV7y75/ei02b2nzpUW63a5tCZtjW7+1a9kt9vl9riVV8q4Dptddu/pe+WP9RR4dLaUBpLdavM2SCsSW1BQoOjqsSV/NgvOnTIbExOjV155RYMGDSr2Ohc+49vtys8vvdlVVYXDtrYslVljZf6sD7bBgwfryy+/1Kefflpk3cGDB9WsWTN9+OGH6tmzp77++mvdcccd2r17t3788Uc1atRIt912m/70pz+Ve17CeS5/LhI+d2VhDpgDiTmQmAOJOSgUKfNQ3p/3HCkF+EGbNm20Y8eOMuOcNofkNpK75MaJJF155ZU+zZayVCT2/EaSP2MLG1+uKJucNodinTElbmRjKjBuaUdVXUys0+5QeaN/HltajQ6bvdQjzAIRa7favA2fi4l1Rdm816mSJNt514EqS0VirVHWcr+HKxIbFRWlNlckluuzWV7cgADhaOnSpSWua9q0qc8fJxo1aqSPPy751GcAAICK4PwDwA+uu+462Wz+6fHabDZ169bNL2MBkY7PJgAAAFB10ZQC/CAlJaX0u+9VgNvtVkpKil/GAiIdn00AAACg6qIpBfhBp06d1L1794s+IsNms6l79+5c9BHwEz6bAAAAQNVFUwrwkwULFshqLfnOduVhtVq1YMECP2UEQOKzCQAAAFRVNKUAP2nZsqVSU1O9d2yrKIvFotTUVLVs2dLPmQGRjc8mAAAAUDXRlAL8aNCgQVq8eLGcTme5Txey2WxyOp1asmSJBg0aVMkZApGJzyYAAABQ9dCUAvxs8ODB2r17t7p27SpJJf4CXLj82muv1e7du/mlF6hkfDYBAACAqsU/98kG4KNly5b6+OOPtW3bNqWmpmrdunX64osvJEl2u12tWrVSt27dlJKSwoWTgQDiswkAAABUHTSlgErUqVMn7y+2LpdLK1as0Hff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3F/UWrRooYSEhCJ3Lim8E02ovZYnT55UcnKyatSooTfffFN2u73UeH+/liWpW7eurFZrkTv8HDlypMSaEhISSo0vz+c00C6kzkJz5szRrFmztHr1arVv377U2ObNm6tu3brKzs4OeCPjYmosZLfb1bFjR2VnZ0sKv9fyxx9/1LJlyzRt2rQyv08wX8sLUdLnMi4uTjExMbJarRf9/kBkupD9utTUVNWpU0e33HJLhb/fz/cFqoqL2b9NSkqS2+3WwYMH1apVqyLrExISlJ+fr+PHj/scLVXVPp8VnYNvv/1W119/vbp27aqXXnqpwt+vqr4Xfq4y9qVC1dixY/Xuu+9q7dq1FT7K5ef7IOEgPj5eV1xxRYk1hev7QJK+/PJLrV69usJHOobj+6BMwb6oFc6p6IXO58yZ41124sSJYi90vnXrVm/M+++/H/QLnV9oPj169Chyp7aS/PnPfza1atW64FwvlL/mfN26dUaS2bFjhzHmpwudn3/nkvnz55u4uDhz9uxZ/xVQThda54kTJ8wvf/lL06NHD/Pjjz+W63sF8rXs3LmzGTt2rPexx+Mxl156aakX5/zVr37ls6xLly5FLnRe2uc0GCpapzHGzJ4928TFxZX7QrNff/21sVgs5u23377ofC/EhdR4PrfbbVq1amUeeOABY0x4vZbGnPtZ43Q6zXfffVfm9wj2a3k+lfNC523btvVZNmjQoCIXOr+Y9wdQHgUFBaZZs2Zl3mmtJD/fFwgHixcvNlFRUSXe0bPwQuevv/66d9lnn30W0hc6/+abb8zll19uBg4caNxu9wWNEUrvBX/vS4WagoICM2bMGNOwYUPz+eefX9AYP98HCQcnT540tWrVMv/v//2/YteH2/vgfI8//rhJSEjwubFTeYTj+6AsNKWC7MsvvzTbt283U6dONdWrVzfbt28327dvNydPnvTGtGrVyrzxxhvex7NmzTLx8fHm7bffNjt37jS33nprkduTJycnm44dO5pNmzaZdevWmcsvv9wMGjQooLWdr6x8vvnmG9OqVSuzadMmn+ft27fPWCwW89577xUZ85133jF///vfza5du8y+ffvM3/72NxMbG2see+yxSq+nOBWtMTs720ybNs1s3brVHDhwwLz99tumefPmpnv37t7nuN1u07ZtW9O3b1+TkZFhVq5caerVq2cmT54c8PoKVbTOEydOmKSkJNOuXTuTnZ3tc7vTwp20YL+Wy5YtM06n0yxatMjs2bPHjBo1ysTHx3vveviHP/zBTJo0yRv/6aefGpvNZubMmWOysrLM448/XuT2teX5nAZaReucNWuWcTgc5vXXX/d53Qq3TydPnjQPPvig2bBhgzlw4IBZvXq16dSpk7n88suD0jS9kBqnTp3qvWV3enq6GThwoImOjjaZmZnemHB4LQt169bN/P73vy+yvCq+lidPnvT+TJRknn32WbN9+3bz5ZdfGmOMmTRpkvnDH/7gjf/iiy9MbGyseeihh0xWVpaZN2+esVqtZuXKld6YsuYN8IfVq1cbSSYrK6vIugvZFwg169evN88995zJyMgw+/fvN4sXLzb16tUzQ4cO9cYUt983evRo07hxY/PBBx+YrVu3mi5dupguXboEo4SL9s0335iWLVuaXr16mW+++cbnZ+j5MeH0XqiMfalQcs8995iaNWuajz76yOf1Pn36tDfmQvZBQs2ECRPMRx99ZA4cOGA+/fRT07t3b1O3bl1z9OhRY0z4vw8KeTwe07hxYzNx4sQi6yLhfVBRNKWC7M477zSSinx9+OGH3hhJJjU11fu4oKDATJkyxVxyySXG6XSaXr16mb179/qM+/3335tBgwaZ6tWrm7i4OJOSkuLT6Aq0svI5cOBAkbqNMWby5MmmUaNGxuPxFBnzvffeMx06dDDVq1c31apVM1dddZV58cUXi40NhIrW+NVXX5nu3bub2rVrG6fTaVq2bGkeeughc+LECZ9xDx48aG688UYTExNj6tatayZMmFDhjrs/VbTODz/8sNj3uCRz4MABY0zVeC3nzp1rGjdubBwOh+ncubPZuHGjd12PHj3MnXfe6RP/6quvmiuuuMI4HA5z5ZVXmv/85z8+68vzOQ2GitTZpEmTYl+3xx9/3BhjzOnTp03fvn1NvXr1jN1uN02aNDEjR44M+i/4Fanx/vvv98Zecsklpn///mbbtm0+44XDa2nMT0cdrFq1qshYVfG1LGnbUVjXnXfeaXr06FHkOR06dDAOh8M0b97c52dnodLmDfCHQYMGma5duxa77kL3BUJJenq6SUpKMjVr1jTR0dGmdevWZsaMGT4N7uL2+86cOWPuvfdeU6tWLRMbG2tuu+02nyZOKElNTS1x36dQOL4X/L0vFUpKer3P/zl0Ifsgoeb3v/+9adCggXE4HObSSy81v//97012drZ3fbi/Dwq9//77RlKx+4uR8D6oKIsxAbjnOgAAAAAAAHCeqGAnAAAAAAAAgMhDUwoAAAAAAAABR1MKAAAAAAAAAUdTCgAAAAAAAAFHUwoAAAAAAAABR1MKAAAAAAAAAUdTCgAAAAAAAAFHUwoAAAAAAAABR1MKAAAAAAAAAUdTCgAAAADgNw8++KB+/etfBzsNACGAphQAlNN///tfJSQkaMaMGd5l69evl8Ph0Jo1a4KYGQAAQNWRkZGhDh06BDsNACGAphQAlFO9evW0cOFCPfHEE9q6datOnjypP/zhDxo7dqx69eoV7PQAAACqhB07dtCUAlAuFmOMCXYSABBKxowZo9WrV+uaa67Rrl27tGXLFjmdzmCnBQAAEHTffPONGjVqpAMHDqhp06Y6fvy4/vCHP+iHH37Q66+/roSEhGCnCKAK4UgpAKigOXPmyO1267XXXtOSJUtoSAEAAPxPRkaG4uPj1bRpU+3atUu/+MUvdOmll+rDDz+kIQWgCJpSAFBB+/fv17fffquCggIdPHgw2OkAAABUGRkZGbrqqqu0dOlS9ejRQw8//LBefPFF2e32YKcGoAri9D0AqID8/Hx17txZHTp0UKtWrfT8889r165dql+/frBTAwAACLrf/OY3+uCDDyRJ//nPf9SlS5cgZwSgKuNIKQCogEcffVQnTpzQX/7yF02cOFFXXHGFhg8fHuy0AAAAqoSMjAzdfvvtOnv2rI4fP15k/bXXXqtNmzZJkkaMGKHnnnsuwBkCqEo4UgoAyumjjz5Snz599OGHH6pbt26SpIMHD+qqq67SrFmzdM899wQ5QwAAgOA5efKkatasqfT0dG3fvl0PPPCA1q9fryuvvNIbs3LlSs2fP1/XXXedsrKy9Pe//z2IGQMINppSAAAAAICLtm7dOl1//fU6deqUnE6nxo8fr7feekubN29W3bp1vXFXX3214uPjtXLlSq41BUQ4Tt8DAAAAAFy0jIwMJSYmeu9M/PTTT6tVq1a6/fbblZ+fL0nasmWLjh07ppo1a9KQAsCRUgAAAACAynfo0CH1799fb731lgYMGKCXX35Zbdu2DXZaAIKII6UAAAAAAJXqzJkz+u1vf6u5c+eqWbNmmjx5sqZPnx7stAAEGUdKAQAAAAAAIOA4UgoAAAAAAAABR1MKAAAAAAAAAUdTCgAAAAAAAAFHUwoAAAAAAAABR1MKAAAAAAAAAUdTCgAAAAAAAAFHUwoAAAAAAAABR1MKAAAAAAAAAUdTCgAAAAAAAAFHUwoAAAAAAAABR1MKAAAAAAAAAff/AXs4KBrKcH3sAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "\n", + "# -------------------------------------------------\n", + "# Lattice definitions\n", + "# -------------------------------------------------\n", + "a = 1.0 # lattice constant\n", + "\n", + "# Real-space lattice vectors\n", + "a1 = np.array([a, 0.0])\n", + "a2 = a * np.array([np.cos(np.pi / 3), np.sin(np.pi / 3)])\n", + "\n", + "# Reciprocal-space lattice vectors\n", + "b1 = (2 * np.pi / a) * np.array([1.0, -1.0 / np.sqrt(3)])\n", + "b2 = (2 * np.pi / a) * np.array([0.0, 2.0 / np.sqrt(3)])\n", + "\n", + "# -------------------------------------------------\n", + "# Generate lattice points\n", + "# -------------------------------------------------\n", + "N = 5 # number of points in each direction (odd, so we get symmetry around 0)\n", + "\n", + "# Real space points\n", + "pts_real = []\n", + "for i in range(-(N // 2), N // 2 + 1):\n", + " for j in range(-(N // 2), N // 2 + 1):\n", + " pts_real.append(i * a1 + j * a2)\n", + "pts_real = np.array(pts_real)\n", + "\n", + "# Reciprocal space points\n", + "pts_rec = []\n", + "for i in range(-(N // 2), N // 2 + 1):\n", + " for j in range(-(N // 2), N // 2 + 1):\n", + " pts_rec.append(i * b1 + j * b2)\n", + "pts_rec = np.array(pts_rec)\n", + "\n", + "\n", + "# -------------------------------------------------\n", + "# IBZ path in reciprocal space\n", + "# (given in reduced coordinates; convert to Cartesian k)\n", + "# -------------------------------------------------\n", + "Gamma = 2 * np.pi / a * np.array([0.0, 0.0])\n", + "M = 2 * np.pi / a * np.array([0.0, 1.0 / np.sqrt(3)])\n", + "K = 2 * np.pi / a * np.array([1.0 / 3.0, 1.0 / np.sqrt(3)])\n", + "\n", + "ibz_path = np.vstack([Gamma, M, K, Gamma])\n", + "\n", + "# -------------------------------------------------\n", + "# Plot\n", + "# -------------------------------------------------\n", + "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 6))\n", + "\n", + "\n", + "# --- Real space ---\n", + "ax1.scatter(pts_real[:, 0], pts_real[:, 1], marker=\"o\", s=200, color=\"black\")\n", + "ax1.quiver(0, 0, a1[0], a1[1], angles=\"xy\", scale_units=\"xy\", scale=1)\n", + "ax1.quiver(0, 0, a2[0], a2[1], angles=\"xy\", scale_units=\"xy\", scale=1)\n", + "ax1.set_title(\"Real-space lattice and vectors\")\n", + "ax1.set_xlabel(\"x\")\n", + "ax1.set_ylabel(\"y\")\n", + "ax1.set_aspect(\"equal\")\n", + "ax1.grid(True)\n", + "\n", + "# Supercell corners in real space\n", + "W = a / 2\n", + "H = (a * np.sqrt(3)) / 2\n", + "\n", + "# Rectangle corners (closed loop)\n", + "rect = np.array([[-W, -H], [W, -H], [W, H], [-W, H], [-W, -H]])\n", + "\n", + "# Draw rectangle\n", + "ax1.plot(rect[:, 0], rect[:, 1], \"--\")\n", + "\n", + "# Fill it\n", + "ax1.fill(rect[:, 0], rect[:, 1], alpha=0.15)\n", + "\n", + "\n", + "# --- Reciprocal space ---\n", + "ax2.scatter(pts_rec[:, 0], pts_rec[:, 1], marker=\"o\", s=200, color=\"black\")\n", + "ax2.quiver(0, 0, b1[0], b1[1], angles=\"xy\", scale_units=\"xy\", scale=1)\n", + "ax2.quiver(0, 0, b2[0], b2[1], angles=\"xy\", scale_units=\"xy\", scale=1)\n", + "\n", + "# IBZ path Γ–M–K–Γ\n", + "ax2.plot(ibz_path[:, 0], ibz_path[:, 1], marker=\"o\")\n", + "\n", + "# Label the special points\n", + "ax2.text(Gamma[0], Gamma[1], r\"$\\Gamma$\", ha=\"right\", va=\"bottom\")\n", + "ax2.text(M[0], M[1], r\"$M$\", ha=\"right\", va=\"bottom\")\n", + "ax2.text(K[0], K[1], r\"$K$\", ha=\"left\", va=\"bottom\")\n", + "\n", + "ax2.set_title(\"Reciprocal-space lattice, vectors and IBZ path\")\n", + "ax2.set_xlabel(r\"$k_x$\")\n", + "ax2.set_ylabel(r\"$k_y$\")\n", + "ax2.set_aspect(\"equal\")\n", + "ax2.grid(True)\n", + "\n", + "ax1.set_xlim(-1.1, 1.1)\n", + "ax1.set_ylim(-1.1, 1.1)\n", + "\n", + "ax2.set_xlim(-3.1 * np.pi / a, 3.1 * np.pi / a)\n", + "ax2.set_ylim(-3.1 * np.pi / a, 3.1 * np.pi / a)\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Simulation Setup " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we will define the global parameters to be used in the simulation.\n", + "Since we can express everything in terms of the lattice constant, we will set it to 1 and then scale the frequency accordingly during post-processing." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Source polarization\n", + "polarization = \"Ez\"\n", + "\n", + "theta = np.pi / 6\n", + "sizeZ = 6\n", + "\n", + "# Option to add or not add matching dipoles\n", + "matchingDipoles = True\n", + "\n", + "# K-points of the Brillouin zone of the hexagonal lattice\n", + "kPoints = [(0, 0), (0, 1 / (np.sqrt(3))), (1 / 3, 1 / np.sqrt(3)), (0, 0)]\n", + "\n", + "# Source frequency and width\n", + "freq0 = 200e12\n", + "fwidth = 150e12\n", + "\n", + "runTime = 2e-12\n", + "\n", + "rodMaterial = td.Medium(permittivity=2.5**2)\n", + "\n", + "# Lattice constant defined as 1. Then we just scale the results\n", + "latticeConstant = 1\n", + "\n", + "radius = 0.28 * latticeConstant\n", + "height = 1 * latticeConstant\n", + "\n", + "\n", + "# Lattice vectors\n", + "y = latticeConstant * np.cos(theta)\n", + "x = latticeConstant * np.sin(theta)\n", + "a1 = np.array([x, y, 0])\n", + "a2 = np.array([-x, y, 0])\n", + "\n", + "\n", + "# Creating the supercell\n", + "centerRod = td.Cylinder(center=(0, 0, 0), radius=radius, length=height)\n", + "\n", + "geometry = centerRod\n", + "geometry += centerRod.updated_copy(center=tuple(-a1))\n", + "geometry += centerRod.updated_copy(center=tuple(a2))\n", + "geometry += centerRod.updated_copy(center=tuple(-a2))\n", + "geometry += centerRod.updated_copy(center=tuple(a1))\n", + "\n", + "\n", + "structure = td.Structure(geometry=geometry, medium=rodMaterial)\n", + "\n", + "size = (2 * x, 2 * y, sizeZ)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To ensure periodicity, we will use a [MeshOverrideStructure](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.MeshOverrideStructure.html) to create a custom grid with a fixed number of grid points in x and y." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "grid = td.MeshOverrideStructure(\n", + " geometry=td.Box(center=(0, 0, 0), size=(td.inf, td.inf, td.inf)),\n", + " dl=(size[0] / 40, size[1] / 60, 0.1),\n", + ")\n", + "\n", + "grid_spec = td.GridSpec.auto(\n", + " override_structures=[grid],\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we will define the sources and monitors.\n", + "\n", + "We will place 5 sources randomly distributed in the lower-left unit cell region, and 5 [FieldTimeMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.FieldTimeMonitor.html) objects randomly distributed in the supercell." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
09:56:18 -03 WARNING: The monitor 'interval' field was left as its default      \n",
+       "             value, which will set it to 1 internally. A value of 1 means that  \n",
+       "             the data will be sampled at every time step, which may potentially \n",
+       "             produce more data than desired, depending on the use case. To      \n",
+       "             reduce data storage, one may downsample the data by setting        \n",
+       "             'interval > 1' or by choosing alternative 'start' and 'stop' values\n",
+       "             for the time sampling. If you intended to use the highest          \n",
+       "             resolution time sampling, you may suppress this warning by         \n",
+       "             explicitly setting 'interval=1' in the monitor.                    \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m09:56:18 -03\u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: The monitor \u001b[0m\u001b[32m'interval'\u001b[0m\u001b[31m field was left as its default \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mvalue, which will set it to \u001b[0m\u001b[1;36m1\u001b[0m\u001b[31m internally. A value of \u001b[0m\u001b[1;36m1\u001b[0m\u001b[31m means that \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mthe data will be sampled at every time step, which may potentially \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mproduce more data than desired, depending on the use case. To \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mreduce data storage, one may downsample the data by setting \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[32m'interval > 1'\u001b[0m\u001b[31m or by choosing alternative \u001b[0m\u001b[32m'start'\u001b[0m\u001b[31m and \u001b[0m\u001b[32m'stop'\u001b[0m\u001b[31m values\u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mfor the time sampling. If you intended to use the highest \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mresolution time sampling, you may suppress this warning by \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mexplicitly setting \u001b[0m\u001b[32m'\u001b[0m\u001b[32minterval\u001b[0m\u001b[32m=\u001b[0m\u001b[32m1\u001b[0m\u001b[32m'\u001b[0m\u001b[31m in the monitor. \u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
             WARNING: The monitor 'interval' field was left as its default      \n",
+       "             value, which will set it to 1 internally. A value of 1 means that  \n",
+       "             the data will be sampled at every time step, which may potentially \n",
+       "             produce more data than desired, depending on the use case. To      \n",
+       "             reduce data storage, one may downsample the data by setting        \n",
+       "             'interval > 1' or by choosing alternative 'start' and 'stop' values\n",
+       "             for the time sampling. If you intended to use the highest          \n",
+       "             resolution time sampling, you may suppress this warning by         \n",
+       "             explicitly setting 'interval=1' in the monitor.                    \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: The monitor \u001b[0m\u001b[32m'interval'\u001b[0m\u001b[31m field was left as its default \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mvalue, which will set it to \u001b[0m\u001b[1;36m1\u001b[0m\u001b[31m internally. A value of \u001b[0m\u001b[1;36m1\u001b[0m\u001b[31m means that \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mthe data will be sampled at every time step, which may potentially \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mproduce more data than desired, depending on the use case. To \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mreduce data storage, one may downsample the data by setting \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[32m'interval > 1'\u001b[0m\u001b[31m or by choosing alternative \u001b[0m\u001b[32m'start'\u001b[0m\u001b[31m and \u001b[0m\u001b[32m'stop'\u001b[0m\u001b[31m values\u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mfor the time sampling. If you intended to use the highest \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mresolution time sampling, you may suppress this warning by \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mexplicitly setting \u001b[0m\u001b[32m'\u001b[0m\u001b[32minterval\u001b[0m\u001b[32m=\u001b[0m\u001b[32m1\u001b[0m\u001b[32m'\u001b[0m\u001b[31m in the monitor. \u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
             WARNING: The monitor 'interval' field was left as its default      \n",
+       "             value, which will set it to 1 internally. A value of 1 means that  \n",
+       "             the data will be sampled at every time step, which may potentially \n",
+       "             produce more data than desired, depending on the use case. To      \n",
+       "             reduce data storage, one may downsample the data by setting        \n",
+       "             'interval > 1' or by choosing alternative 'start' and 'stop' values\n",
+       "             for the time sampling. If you intended to use the highest          \n",
+       "             resolution time sampling, you may suppress this warning by         \n",
+       "             explicitly setting 'interval=1' in the monitor.                    \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: The monitor \u001b[0m\u001b[32m'interval'\u001b[0m\u001b[31m field was left as its default \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mvalue, which will set it to \u001b[0m\u001b[1;36m1\u001b[0m\u001b[31m internally. A value of \u001b[0m\u001b[1;36m1\u001b[0m\u001b[31m means that \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mthe data will be sampled at every time step, which may potentially \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mproduce more data than desired, depending on the use case. To \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mreduce data storage, one may downsample the data by setting \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[32m'interval > 1'\u001b[0m\u001b[31m or by choosing alternative \u001b[0m\u001b[32m'start'\u001b[0m\u001b[31m and \u001b[0m\u001b[32m'stop'\u001b[0m\u001b[31m values\u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mfor the time sampling. If you intended to use the highest \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mresolution time sampling, you may suppress this warning by \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mexplicitly setting \u001b[0m\u001b[32m'\u001b[0m\u001b[32minterval\u001b[0m\u001b[32m=\u001b[0m\u001b[32m1\u001b[0m\u001b[32m'\u001b[0m\u001b[31m in the monitor. \u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
             WARNING: The monitor 'interval' field was left as its default      \n",
+       "             value, which will set it to 1 internally. A value of 1 means that  \n",
+       "             the data will be sampled at every time step, which may potentially \n",
+       "             produce more data than desired, depending on the use case. To      \n",
+       "             reduce data storage, one may downsample the data by setting        \n",
+       "             'interval > 1' or by choosing alternative 'start' and 'stop' values\n",
+       "             for the time sampling. If you intended to use the highest          \n",
+       "             resolution time sampling, you may suppress this warning by         \n",
+       "             explicitly setting 'interval=1' in the monitor.                    \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: The monitor \u001b[0m\u001b[32m'interval'\u001b[0m\u001b[31m field was left as its default \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mvalue, which will set it to \u001b[0m\u001b[1;36m1\u001b[0m\u001b[31m internally. A value of \u001b[0m\u001b[1;36m1\u001b[0m\u001b[31m means that \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mthe data will be sampled at every time step, which may potentially \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mproduce more data than desired, depending on the use case. To \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mreduce data storage, one may downsample the data by setting \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[32m'interval > 1'\u001b[0m\u001b[31m or by choosing alternative \u001b[0m\u001b[32m'start'\u001b[0m\u001b[31m and \u001b[0m\u001b[32m'stop'\u001b[0m\u001b[31m values\u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mfor the time sampling. If you intended to use the highest \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mresolution time sampling, you may suppress this warning by \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mexplicitly setting \u001b[0m\u001b[32m'\u001b[0m\u001b[32minterval\u001b[0m\u001b[32m=\u001b[0m\u001b[32m1\u001b[0m\u001b[32m'\u001b[0m\u001b[31m in the monitor. \u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
             WARNING: The monitor 'interval' field was left as its default      \n",
+       "             value, which will set it to 1 internally. A value of 1 means that  \n",
+       "             the data will be sampled at every time step, which may potentially \n",
+       "             produce more data than desired, depending on the use case. To      \n",
+       "             reduce data storage, one may downsample the data by setting        \n",
+       "             'interval > 1' or by choosing alternative 'start' and 'stop' values\n",
+       "             for the time sampling. If you intended to use the highest          \n",
+       "             resolution time sampling, you may suppress this warning by         \n",
+       "             explicitly setting 'interval=1' in the monitor.                    \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: The monitor \u001b[0m\u001b[32m'interval'\u001b[0m\u001b[31m field was left as its default \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mvalue, which will set it to \u001b[0m\u001b[1;36m1\u001b[0m\u001b[31m internally. A value of \u001b[0m\u001b[1;36m1\u001b[0m\u001b[31m means that \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mthe data will be sampled at every time step, which may potentially \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mproduce more data than desired, depending on the use case. To \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mreduce data storage, one may downsample the data by setting \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[32m'interval > 1'\u001b[0m\u001b[31m or by choosing alternative \u001b[0m\u001b[32m'start'\u001b[0m\u001b[31m and \u001b[0m\u001b[32m'stop'\u001b[0m\u001b[31m values\u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mfor the time sampling. If you intended to use the highest \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mresolution time sampling, you may suppress this warning by \u001b[0m\n", + "\u001b[2;36m \u001b[0m\u001b[31mexplicitly setting \u001b[0m\u001b[32m'\u001b[0m\u001b[32minterval\u001b[0m\u001b[32m=\u001b[0m\u001b[32m1\u001b[0m\u001b[32m'\u001b[0m\u001b[31m in the monitor. \u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Sources\n", + "Nsources = 5\n", + "\n", + "sourceTime = [\n", + " td.GaussianPulse(freq0=freq0, fwidth=fwidth, phase=i)\n", + " for i in 2 * np.pi * np.random.random(2 * Nsources)\n", + "]\n", + "\n", + "\n", + "# Random positions for the sources\n", + "posySource = np.random.uniform(-0.8, -0.2, Nsources)\n", + "posxSource = np.random.uniform(-0.2, -0.1, Nsources)\n", + "\n", + "\n", + "# Monitors\n", + "Nmonitors = 5\n", + "\n", + "posyMon = np.random.uniform(-0.8, 0.8, Nmonitors)\n", + "posxMon = np.random.uniform(-0.2, 0.2, Nmonitors)\n", + "\n", + "monitors = [\n", + " td.FieldTimeMonitor(center=(posxMon[i], posyMon[i], 0), name=f\"mon{i}\", size=(0, 0, 0), start=0)\n", + " for i in range(Nmonitors)\n", + "]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Defining the [Simulation](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.Simulation.html) and Matching Dipoles \n", + "\n", + "Finally, we define a function to generate the [Simulation](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.Simulation.html) object as a function of the parameters below." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# Function to return a simulation for each Bloch vector\n", + "def getSim(pol, bloch_x, bloch_y, matchingDipoles=True):\n", + " symmetry = [0, 0, -1] if pol == \"Ez\" else [0, 0, 1]\n", + "\n", + " boundary_spec = td.BoundarySpec(\n", + " x=td.Boundary.bloch(bloch_x * size[0]),\n", + " y=td.Boundary.bloch(bloch_y * size[1]),\n", + " z=td.Boundary.pml(),\n", + " )\n", + "\n", + " bVector = np.array([bloch_x, bloch_y, 0])\n", + "\n", + " # Creating the sources\n", + " sources = [\n", + " td.PointDipole(\n", + " center=(posxSource[i], posySource[i], 0), polarization=pol, source_time=sourceTime[i]\n", + " )\n", + " for i in range(len(posxSource))\n", + " ]\n", + "\n", + " # Creating the matching dipoles\n", + " matching_dipoles = []\n", + " if matchingDipoles:\n", + " for i, sc in enumerate(sources):\n", + " # Coordinates of the matching dipole\n", + " px = sc.center[0] + 0.5\n", + " py = sc.center[1] + np.sqrt(3) / 2\n", + "\n", + " # Adjust the phase\n", + " phase = sc.source_time.phase\n", + " r_vec = np.array((px, py, 0)) - np.array(sc.center)\n", + " deltaPhase = 2 * np.pi * bVector.dot(r_vec)\n", + "\n", + " source_time = sc.source_time.updated_copy(phase=phase + deltaPhase)\n", + "\n", + " sp = sc.updated_copy(center=(px, py, 0), source_time=source_time)\n", + " matching_dipoles.append(sp)\n", + "\n", + " sim = td.Simulation(\n", + " size=size,\n", + " structures=[structure],\n", + " sources=sources + matching_dipoles,\n", + " monitors=monitors,\n", + " run_time=runTime,\n", + " boundary_spec=boundary_spec,\n", + " grid_spec=grid_spec,\n", + " symmetry=symmetry,\n", + " medium=td.Medium(),\n", + " shutoff=False,\n", + " )\n", + " return sim" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can create a simulation object and inspect the permittivity to confirm that the periodicity is preserved." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwgAAAHqCAYAAACgFmm3AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcm5JREFUeJzt3XtcVHX+P/DXMAzDZbhfBhAUvF8RRENK05ANzS1dzbQyr2kXbddcyWxN0+pLiZvWZrm1ptXqapZavywtUUzNSyKkppIiCihXBUbuMHN+f5CnRu4wM2cur+fjMQ+dz/mcM68zA8y855zP58gEQRBAREREREQEwE7qAEREREREZD5YIBARERERkYgFAhERERERiVggEBERERGRiAUCERERERGJWCAQEREREZGIBQIREREREYlYIBARERERkYgFAhERERERiVggkMUJCQnBjBkzxPvJycmQyWRITk6WLBMREZGte+CBBzBnzhypY+g5d+4c7O3tcfbsWamjWBQWCERERETN2LJlC9auXWvzGZpz5MgRfPfdd1i8eLHJHvPatWt45JFH4OHhATc3N4wbNw6XL1/W69O3b1+MHTsWy5YtM1kuayATBEGQOgRRW1RXV8POzg4KhQJA/RGE++67DwcOHMDIkSOlDUdERFbnz3/+M86ePYsrV67YdIbmjB8/HpWVldi7d69JHq+srAyDBg1CaWkp/v73v0OhUGDNmjUQBAFpaWnw9vYW+3777bd44IEHcOnSJXTr1s0k+SwdjyCQxVEqlWJxQEREZE6qqqqg0+mkjtFqFRUVHd5GQUEBdu/ejUceecQAiVrnvffew8WLF/H111/jhRdewPPPP4/vvvsOubm5+Oc//6nXNzY2Fp6envj4449Nls/SsUCgDrt27RpmzZoFtVoNpVKJfv364aOPPhKX3x4jsG3bNrz00kvw9/eHi4sLHnroIWRnZ+tt6+LFi5g4cSL8/f3h6OiIoKAgTJkyBaWlpWKfO8cgNGX79u2IjIyEk5MTfHx8MHXqVFy7dk2vz4wZM6BSqXDt2jWMHz8eKpUKvr6+WLRoEbRabceeGCIiMnu3bt3CggULEBISAqVSCT8/P/zpT3/CqVOnAAAjR47E7t27cfXqVchkMshkMoSEhAD4/f1t69atWLp0KTp16gRnZ2doNBq88sorkMlkDR5v06ZNkMlkDY4EfPvttxgxYgRcXV3h5uaGIUOGYMuWLS1maGp7jY3PGzlyJPr374+UlBTce++9cHZ2xksvvQSg/uj88uXL0b17dyiVSgQHB+OFF15AdXV1i8/h7t27UVdXh9jYWL3221kbu3X0SMjnn3+OIUOGYMiQIWJb7969MWrUKHz22Wd6fRUKBUaOHIkvv/yyQ49pS+ylDkCWLT8/H0OHDoVMJsP8+fPh6+uLb7/9FrNnz4ZGo8GCBQvEvq+//jpkMhkWL16MgoICrF27FrGxsUhLS4OTkxNqamoQFxeH6upqPPfcc/D398e1a9fw9ddfo6SkBO7u7q3OtWnTJsycORNDhgxBQkIC8vPz8fbbb+PIkSNITU2Fh4eH2Fer1SIuLg5RUVFYvXo19u3bh3/+85/o1q0bnnnmGQM+W0REZG6efvppfP7555g/fz769u2LGzdu4PDhwzh//jwGDRqEf/zjHygtLUVOTg7WrFkDAFCpVHrbePXVV+Hg4IBFixahuroaDg4ObcqwadMmzJo1C/369cOSJUvg4eGB1NRU7NmzB4899lirMrTWjRs3MGbMGEyZMgVTp06FWq2GTqfDQw89hMOHD2Pu3Lno06cPzpw5gzVr1uDXX3/Frl27mt3mjz/+CG9vb3Tp0kWv/dNPP23Qd+nSpSgoKBDzV1dX49atW63K7uPjAwDQ6XQ4ffo0Zs2a1aDPXXfdhe+++w63bt2Cq6ur2B4ZGYkvv/wSGo0Gbm5urXo8myYQdcDs2bOFgIAAoaioSK99ypQpgru7u1BRUSEcOHBAACB06tRJ0Gg0Yp/PPvtMACC8/fbbgiAIQmpqqgBA2L59e7OP2aVLF2H69Oni/dvbP3DggCAIglBTUyP4+fkJ/fv3FyorK8V+X3/9tQBAWLZsmdg2ffp0AYCwcuVKvceIiIgQIiMj2/RcEBGR5XF3dxfmzZvXbJ+xY8cKXbp0adB++/2na9euQkVFhd6y5cuXC419zNq4caMAQMjMzBQEQRBKSkoEV1dXISoqSu89SxAEQafTtZjhzu3dme32e6MgCMKIESMEAML69ev1+n766aeCnZ2dcOjQIb329evXCwCEI0eONHjcPxo2bFir3jNXrVolABA++eSTBvlbc7utsLCw0fduQRCEdevWCQCECxcu6LVv2bJFACAcP368xZwkCDyCQO0mCAK++OILPPLIIxAEAUVFReKyuLg4bN26VTxECwDTpk3Tq+YffvhhBAQE4JtvvsFf//pX8QjB3r178cADD8DZ2blduU6ePImCggK88sorcHR0FNvHjh2L3r17Y/fu3VixYoXeOk8//bTe/eHDhzf6zQcREVkXDw8PHD9+HNevX0dgYGC7tjF9+nQ4OTm1a93vv/8et27dwosvvqj3ngWg0VOUOkqpVGLmzJl6bdu3b0efPn3Qu3dvvffymJgYAMCBAwdw9913N7nNGzduoFOnTs0+7oEDB7BkyRI899xzeOKJJ8T2uLg4fP/9923ah8rKSnFf7nT7Obzd5zZPT08A0Ns/ahoLBGq3wsJClJSU4IMPPsAHH3zQaJ+CggLxl7JHjx56y2QyGbp37y6ehxgaGoqFCxfirbfewubNmzF8+HA89NBDmDp1aptOL7p69SoAoFevXg2W9e7dG4cPH9Zrc3R0hK+vr16bp6cniouLW/2YRERkmVatWoXp06cjODgYkZGReOCBBzBt2jR07dq11dsIDQ1t9+NnZGQAAPr379/ubbRFp06dGpwCdfHiRZw/f77Be+FtBQUFLW5XaGZSzJycHEyePBn33HMP3nrrLb1lAQEBCAgIaEXy390uxhobH1FVVaXX5858xii6rBELBGq327M0TJ06FdOnT2+0T1hYGM6dO9fqbf7zn//EjBkz8OWXX+K7777DX//6VyQkJODYsWMICgoySO47yeVyo2yXiIjM3yOPPILhw4dj586d+O6775CYmIg333wTO3bswJgxY1q1jcaOHjT1QdTQE2C09XEay6rT6TBgwIAGH95vCw4ObjaDt7d3k1+q1dTU4OGHH4ZSqcRnn30Ge3v9j56VlZV6E5E0x9/fHwDg5eUFpVKJ3NzcBn1ut915NOh2vtvjGKh5LBCo3Xx9feHq6gqtVttg5oI/ul0gXLx4Ua9dEARcunQJYWFheu0DBgzAgAEDsHTpUvz444+45557sH79erz22mutynV7kFR6erp4ePS29PT0BoOoiIjItgUEBODZZ5/Fs88+i4KCAgwaNAivv/66WCC051vn20fPS0pK9CbGuH2U+7bb8/KfPXsW3bt3b3J7TWX44+P80Z2P05xu3brh559/xqhRo9q1r71798YXX3zR6LK//vWvSEtLww8//AC1Wt1g+bZt2xqc8tSU20cB7OzsMGDAAJw8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zpw5yMvLg6enJyIjI/Hjjz+ib9++Yp8XXngB5eXlmDt3LkpKSjBs2DDs2bOnwQXViIhuY4FARERkRubPn4/58+c3uiw5OVnv/po1a7BmzZpmtyeTybBy5UqsXLnSUBGJyMpxDAIREREREYlYIBARERERkYgFAhERERERiVggEBERERGRiIOUiYiIiIhaoBW0SC1LRVFtEXwUPohQRUAuk0sdyyhYIBARERFR6+i0QOEhoDIXcAoAfIcDdtb5IfmP9hfvR2JOIgpqC8Q2P4Uf4oPiEeMZI2Ey42CBQEREREQty94BpPwNqMj5vc05CIh8GwieIF0uI9tfvB/xmfEN2gtqCxCfGY9EJFpdkcAxCERERETUvOwdwKGH9YsDAKi4Vt+evUOaXEamFbRIzElsts/qnNXQCloTJTINFghERERE1DSdtv7IAYRGFv7WlrKgvp+VSS1L1TutqDH5tflILUs1USLTYIFARERERE0rPNTwyIEeAajIru9nZYpqiwzaz1KwQCAiIiKiplXmGrafBfFR+Bi0n6VggUBERERETXMKMGw/CxKhioCfwq/ZPmqFGhGqCBMlMg0WCERERETUNN/h9bMVQdZEBxngHFzfz8rIZXLEBzWcweg2GWRYFLTI6q6HwAKBiIiIiJpmJ6+fyhRAwyLht/uRa632eggxnjFIDE1scCRBrVBjVegqq5viFOB1EIiIiIioJcETgOGfN3EdhLVWfR0EoL5IGOExgldSJiIiIiISBU8AOo2zySspA/WnGw12HSx1DJNggUBERERErWMnB9QjpU5BRsYxCEREREREJGKBQEREREREIhYIREREREQkYoFAREREREQiFghERERERCRigUBERERERCIWCEREREREJGKBQEREREREIhYIREREREQkYoFAREREREQiFghERERERCRigUBERERERCIWCEREREREJGKBQEREREREIhYIREREREQkYoFAREREREQiFghERERERCRigUBERERERKI2FQgJCQkYMmQIXF1d4efnh/HjxyM9PV2vT1VVFebNmwdvb2+oVCpMnDgR+fn5Bg1NRERERETGYd+WzgcPHsS8efMwZMgQ1NXV4aWXXsL999+Pc+fOwcXFBQDw/PPPY/fu3di+fTvc3d0xf/58TJgwAUeOHDHKDpBl2ns9zWSPFRcYbrLHIiIiIrJ0bSoQ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wdGjRyGXyw26D81pz/716tULH330EcLCwlBaWorVq1fj7rvvxi+//IKgoCCDvXZmWSAQNWbevHk4e/YsDh8+LHUUyfTq1QtpaWkoLS3F559/junTp+PgwYNSxyIiC7V582Y89dRT4v3du3e3aztjxowR/x8WFoaoqCh06dIFn332GWbPnt3hnO1hqH37o6beh+bOnSv+f8CAAQgICMCoUaOQkZGBbt26dfhxqX3eeOMNbN26FcnJyXoDeadMmSL+f8CAAQgLC0O3bt2QnJyMUaNGSRG11aKjoxEdHS3ev/vuu9GnTx/8+9//xquvvmqwxzHLU4x8fHwgl8sbzG6Qn58Pf39/iVKZh9v7b2vPzfz58/H111/jwIEDCAoKEtv9/f1RU1ODkpISvf7W+nw4ODige/fuiIyMREJCAgYOHIi3337b5p4HIjKMhx56CGlpaeLNx8cHQMffYzw8PNCzZ09cunQJgDR/qw29b029DzUmKioKAMT9N6b2fGby9/dvtr+5fNboyOfB1atX44033sB3332HsLCwZvt27doVPj4+Jnm9/sgQn3cVCgUiIiL0ftdub6O92wTMtEBwcHBAZGQkkpKSxDadToekpCS9qskWhYaGwt/fX++50Wg0OH78uFU+N4IgYP78+di5cyf279+P0NBQveWRkZFQKBR6z0d6ejqysrKs8vm4k06nQ3V1tc0/D0TUPq6urujevbt469u3r0HeY8rKypCRkYGAgAAA0vytNtS+tfQ+1Ji0tDQAEPffmNrzmSk6OlqvPwB8//33Yn9z+azR3s+Dq1atwquvvoo9e/Zg8ODBLT5OTk4Obty4YZLX648M8XlXq9XizJkzYnaDvXatHs5sYlu3bhWUSqWwadMm4dy5c8LcuXMFDw+PBlM5WaNbt24JqampQmpqqgBAeOutt4TU1FTh6tWrgiDUT1/l4eEhfPnll8Lp06eFcePGWe00p88884zg7u4uJCcn603pVVFRIfZ5+umnhc6dOwv79+8XTp48KURHRwvR0dESpjaOF198UTh48KCQmZkpnD59WnjxxRcFmUwmfPfdd4Ig2M7zQETG1Zr3mJiYGOFf//qXeP/vf/+7kJycLGRmZgpHjhwRYmNjBR8fH6GgoEDsYw5/o9qzby29D126dElYuXKlcPLkSSEzM1P48ssvha5duwr33nuvyfarpc9MTzzxhPDiiy+K/Y8cOSLY29sLq1evFs6fPy8sX7680WlOzeGzRlv37Y033hAcHByEzz//XO/1unXrliAI9Z+xFi1aJBw9elTIzMwU9u3bJwwaNEjo0aOHUFVVZdJ9a8/+rVixQti7d6+QkZEhpKSkCFOmTBEcHR2FX375RexjiNfObAsEQRCEf/3rX0Lnzp0FBwcH4a677hKOHTsmdSSTOHDggACgwW369OmCINRPYfXyyy8LarVaUCqVwqhRo4T09HRpQxtJY88DAGHjxo1in8rKSuHZZ58VPD09BWdnZ+Evf/mLkJubK11oI5k1a5bQpUsXwcHBQfD19RVGjRolFgeCYDvPAxEZV2veY7p06SIsX75cvD958mQhICBAcHBwEDp16iRMnjxZuHTpkt465vA3qj371tL7UFZWlnDvvfcKXl5eglKpFLp37y7Ex8eb9DoIgtD8Z6YRI0aInyFu++yzz4SePXsKDg4OQr9+/YTdu3frLTenzxpt2bcuXbo0+nrdfk0rKiqE+++/X/D19RUUCoXQpUsXYc6cOZJ+Ad2W/VuwYIHYV61WCw888IBw6tQpve0Z4rWTCYIgtP54AxERERERWTOzHINARERERETSYIFAREREREQiFghERERERCRigUBERERERCIWCEREREREJGKBQEREREREIhYIREREREQkYoFAREREREQiFghEREREVmjDhg24//77jf44e/bsQXh4OHQ6ndEfi0yDBQIRERGRlamqqsLLL7+M5cuXG/2xRo8eDYVCgc2bNxv9scg0WCAQERERWZnPP/8cbm5uuOeee0zyeDNmzMA777xjksci42OBQERERGSmCgsL4e/vj//7v/8T23788Uc4ODggKSmpyfW2bt2KBx98UK9t5MiRWLBggV7b+PHjMWPGDPF+SEgIXnvtNUybNg0qlQpdunTBV199hcLCQowbNw4qlQphYWE4efKk3nYefPBBnDx5EhkZGe3fWTIbLBCIiIiIzJSvry8++ugjvPLKKzh58iRu3bqFJ554AvPnz8eoUaOaXO/w4cMYPHhwux5zzZo1uOeee5CamoqxY8fiiSeewLRp0zB16lScOnUK3bp1w7Rp0yAIgrhO586doVarcejQoXY9JpkXFghEREREZuyBBx7AnDlz8Pjjj+Ppp5+Gi4sLEhISmuxfUlKC0tJSBAYGtvvxnnrqKfTo0QPLli2DRqPBkCFDMGnSJPTs2ROLFy/G+fPnkZ+fr7deYGAgrl692q7HJPPCAoGIiIjIzK1evRp1dXXYvn07Nm/eDKVS2WTfyspKAICjo2O7HissLEz8v1qtBgAMGDCgQVtBQYHeek5OTqioqGjXY5J5YYFAREREZOYyMjJw/fp16HQ6XLlypdm+3t7ekMlkKC4ubnG7Wq22QZtCoRD/L5PJmmy7c1rTmzdvwtfXt8XHJPPHAoGIiIjIjNXU1GDq1KmYPHkyXn31VTz55JMNvr3/IwcHB/Tt2xfnzp1rsOzO04IuX75skIxVVVXIyMhARESEQbZH0mKBQERERGTG/vGPf6C0tBTvvPMOFi9ejJ49e2LWrFnNrhMXF4fDhw83aP/yyy+xY8cOZGRk4PXXX8e5c+dw9epVXLt2rUMZjx07BqVSiejo6A5th8wDCwQiIiIiM5WcnIy1a9fi008/hZubG+zs7PDpp5/i0KFDeP/995tcb/bs2fjmm29QWlqq1z527FisWrUKffv2xQ8//ID33nsPJ06cwKefftqhnP/73//w+OOPw9nZuUPbIfMgE/44RxURERERWYVJkyZh0KBBWLJkCYD66yCEh4dj7dq1Bn2coqIi9OrVCydPnkRoaKhBt03S4BEEIiIiIiuUmJgIlUpl9Me5cuUK3nvvPRYHVoRHEIiIiIhsgLGOIJD1YYFAREREREQinmJEREREREQiFghERERERCRigUBERERERCIWCEREREREJGKBQEREREREIhYIREREREQkYoFAREREREQiFghERERERCRigUBERERERKL/D467eNfHDN37AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sim = getSim(polarization, 0, 0)\n", + "\n", + "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))\n", + "\n", + "# Left: epsilon\n", + "eps = sim.epsilon(td.Box(center=(0, 0, 0), size=(99, 99, 0)))\n", + "ax1.imshow(abs(eps).squeeze().T)\n", + "ax1.set_title(\"epsilon\")\n", + "\n", + "# Right: structure\n", + "sim.plot(z=0, ax=ax2)\n", + "ax2.set_title(\"structure (z=0)\")\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can interpolate points around the K-points and run a [Batch](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.web.api.container.Batch.html) simulation to execute the simulations in parallel." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Creating K points\n", + "pointsPerZone = 10\n", + "\n", + "createPoints = lambda init, end: [\n", + " init + (end - init) * i / pointsPerZone for i in range(pointsPerZone)\n", + "]\n", + "\n", + "KX = []\n", + "KY = []\n", + "\n", + "kx1, ky1 = kPoints[0]\n", + "for k in kPoints[1:]:\n", + " kx2, ky2 = k\n", + " KX += createPoints(kx1, kx2)\n", + " KY += createPoints(ky1, ky2)\n", + " kx1, ky1 = kx2, ky2\n", + "\n", + "# Visualizing the K-points\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.plot(KX, KY, \"-o\")\n", + "\n", + "\n", + "sims = {}\n", + "for i in range(len(KX)):\n", + " for pol in [polarization]:\n", + " sims[f\"s{i}{pol}\"] = getSim(pol, KX[i], KY[i])\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "367eb6fd928c45609c1e0dbf378faa19", + "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": [
+       "
09:56:30 -03 Started working on Batch containing 30 tasks.                      \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m09:56:30 -03\u001b[0m\u001b[2;36m \u001b[0mStarted working on Batch containing \u001b[1;36m30\u001b[0m tasks. \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
09:57:10 -03 Maximum FlexCredit cost: 0.750 for the whole batch.                \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m09:57:10 -03\u001b[0m\u001b[2;36m \u001b[0mMaximum FlexCredit cost: \u001b[1;36m0.750\u001b[0m for the whole batch. \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
             Use 'Batch.real_cost()' to get the billed FlexCredit cost after the\n",
+       "             Batch has completed.                                               \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m \u001b[0m\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 cost after the\n", + "\u001b[2;36m \u001b[0mBatch has completed. \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ececfb9288d34c1fa304cc6c23e5f22a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
09:57:35 -03 Batch complete.                                                    \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m09:57:35 -03\u001b[0m\u001b[2;36m \u001b[0mBatch complete. \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "f6922b79ee83476ea0ed7b2d6073e39a",
+       "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"
+    }
+   ],
+   "source": [
+    "# Running the simulations\n",
+    "\n",
+    "batch = web.Batch(simulations=sims, folder_name=\"hexagonalBandDiagram\")\n",
+    "batch_data = batch.run(path_dir=\"bandDiagram\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Band Diagram Calculation \n",
+    "\n",
+    "Now we can sum the signals from all monitors and use the\n",
+    "[ResonanceFinder](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.plugins.resonance.ResonanceFinder.html)\n",
+    "plugin to track the resonances for each simulation.\n",
+    "\n",
+    "To ensure that we compute **weakly confined modes above the light cone**, we first analyze the source decay time and only use the data immediately after the decay.\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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",
+      "text/plain": [
+       "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sim.sources[0].source_time.plot(times=np.linspace(0, 0.2e-13, 1001), val=\"abs\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# Sum the signals for all monitors\n", + "def getSignal(sim_data, polarization, t_start=1e-14, t_end=2e-12):\n", + " signal = 0\n", + " for i in range(Nmonitors):\n", + " signal += sim_data[f\"mon{i}\"].field_components[polarization].squeeze()\n", + " return signal.where(signal.t > t_start, drop=True).where(signal.t < t_end, drop=True)\n", + "\n", + "\n", + "from tidy3d.plugins.resonance import ResonanceFinder\n", + "\n", + "# Analyzing resonances\n", + "dic = {}\n", + "for i in range(len(KX)):\n", + " for pol in [polarization]:\n", + " resonance_finder = ResonanceFinder(freq_window=(0e12, 200e12))\n", + " sim_data = batch_data[f\"s{i}{pol}\"]\n", + " signal = getSignal(sim_data, pol)\n", + "\n", + " resonance_data = resonance_finder.run_raw_signal(signal, sim_data.simulation.dt)\n", + " df = resonance_data.to_dataframe()\n", + " dic[f\"s{i}{pol}\"] = df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we can plot the band diagram. \n", + "To match the results with the [reference paper](https://www.flexcompute.com/tidy3d/examples/notebooks/Bandstructure/), we will multiply the frequencies by four, since the original lattice constant is 0.25 µm." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHHCAYAAABeLEexAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAkn5JREFUeJzs3XtcU/X/wPHXmIBX8MpNULxmmpfSIiwK08JbaYjlpTIr66tYmtrFX+Wti2Vl2kVNM+2GloZWhrcMFUOpLM3MzAxFuYg3wBu3sd8fh03GHXbY2dj7+XjswXZ2dvbenNv7fC7vj85oNBoRQgghhHBiLloHIIQQQgihNUmIhBBCCOH0JCESQgghhNOThEgIIYQQTk8SIiGEEEI4PUmIhBBCCOH0JCESQgghhNOThEgIIYQQTk8SIiGEEEI4PUmIhBDV9vDDD9OwYUOtw7Awa9YsdDpdtR8fGhpKaGio+faxY8fQ6XSsXLnS+uCEEHZLEiIhHJxOp6vUZfv27eYfd51OxyuvvFLq8UaPHo1Op7O7REcIIWpSHa0DEEJY57PPPrO4/emnn7J169YS26+99lquXLkCQN26dVm1ahUvvviixT6XLl3im2++oW7dujUbtANp3bo1V65cwdXVVetQhBA1SBIiIRzcAw88YHF7z549bN26tcR2ULp/AAYOHEh0dDT79++ne/fu5vu/+eYbcnNz6d+/Pz/++GONxu0odDqdJgliQUEBubm5kpwKYSPSZSaEEwoODqZNmzZERUVZbP/iiy/o378/TZs2rdLx/vvvP8LCwmjQoAF+fn7MmTMHo9Fosc9bb71F7969adasGfXq1aNnz56sXbu2xLF0Oh0TJ05k/fr1XHfddbi7u9OlSxc2bdpUYt9du3Zx4403UrduXdq1a8eHH35YpbiXLl1Ku3btqFevHjfddBNxcXEl9iltDNEff/zBww8/TNu2balbty4+Pj488sgjnD17tsTjt2/fTq9evSxiLG2ck+l1f/HFF3Tp0gV3d3fza67qe7dmzRo6d+5MvXr1CA4O5sCBAwB8+OGHtG/fnrp16xIaGmpOkIUQ0kIkhNMaOXIkn3/+Oa+//jo6nY4zZ86wZcsWPvvss1KTj7IYDAb69+/PzTffzLx589i0aRMzZ84kPz+fOXPmmPdbuHAh99xzD6NHjyY3N5fVq1czfPhwNmzYwKBBgyyOuWvXLqKjo5kwYQKNGjXi3XffZdiwYSQlJdGsWTMADhw4wF133UWLFi2YNWsW+fn5zJw5E29v70rFvXz5cp544gl69+7N5MmT+e+//7jnnnto2rQpAQEB5T5269at/Pfff4wdOxYfHx8OHjzI0qVLOXjwIHv27DEnO7///jv9+/fH19eX2bNnYzAYmDNnDi1atCj1uD/++CNfffUVEydOpHnz5gQGBlb5vYuLi+Pbb78lMjISgLlz5zJ48GCeffZZFi1axIQJEzh//jzz5s3jkUcekZZAIUyMQohaJTIy0ljWf+3ExEQjYHzzzTeNf/75pxEwxsXFGY1Go/GDDz4wNmzY0Hjp0iXjmDFjjA0aNKjwucaMGWMEjE8++aR5W0FBgXHQoEFGNzc34+nTp83bL1++bPHY3Nxc43XXXWe84447LLYDRjc3N+O///5r3rZ//34jYHzvvffM24YOHWqsW7eu8fjx4+Ztf/31l1Gv15f5+os+t5eXl7FHjx7GnJwc8/alS5caAePtt99u3mZ6z1asWFHmazEajcZVq1YZAePOnTvN2+6++25j/fr1jcnJyeZtR44cMdapU6dEjIDRxcXFePDgwRLHrsp75+7ubkxMTDRv+/DDD42A0cfHx5iVlWXePn36dCNgsa8Qzky6zIRwUl26dKFbt26sWrUKgKioKIYMGUL9+vWrfKyJEyear5u6bXJzc/nhhx/M2+vVq2e+fv78eTIzMwkJCeG3334rcbx+/frRrl078+1u3brh4eHBf//9ByitUps3b2bo0KG0atXKvN+1115LWFhYhfH++uuvpKen87///Q83Nzfz9ocffhhPT88KH1/0tWRnZ3PmzBluvvlmAPPrMRgM/PDDDwwdOhQ/Pz/z/u3bt2fAgAGlHvf222+nc+fO5T5fRe9d3759zS1LAEFBQQAMGzaMRo0aldhuek+FcHaSEAnhxEaNGsWaNWv4999/iY+PZ9SoUVU+houLC23btrXY1rFjRwCLMSobNmzg5ptvpm7dujRt2pQWLVqwePFiMjMzSxyzaJJj0qRJE86fPw/A6dOnuXLlCh06dCix3zXXXFNhzMePHwco8XhXV9cSr6U0586dY9KkSXh7e1OvXj1atGhBmzZtAMyvJz09nStXrtC+ffsSjy9tG2A+RnHWvHemBK94N6Bpu+k9FcLZSUIkhBMbOXIkZ86cYdy4cTRr1oy77rqrRp4nLi6Oe+65h7p167Jo0SJiYmLYunUro0aNKjH4GkCv15d6nNL21cJ9993HsmXL+N///kd0dDRbtmwxj7sqKCio9nGLtgSZqPXe2ft7KoTWZFC1EE6sVatW3HLLLWzfvp3x48dTp07VvxIKCgr477//zK1CAP/88w+Auevm66+/pm7dumzevBl3d3fzfitWrKhW3C1atKBevXocOXKkxH2HDx+u8PGtW7cG4MiRI9xxxx3m7Xl5eSQmJlqUIiju/PnzbNu2jdmzZzNjxgzz9uKxeHl5UbduXf79998SxyhtW1nUfu+EEKWTFiIhnNwrr7zCzJkzefLJJ6t9jPfff9983Wg08v777+Pq6krfvn0BpXVCp9NhMBjM+x07doz169dX6/n0ej1hYWGsX7+epKQk8/ZDhw6xefPmCh/fq1cvWrRowZIlS8jNzTVvX7lyJRkZGRU+N5RsWVmwYEGJ/fr168f69etJSUkxb//333/ZuHFjhTEWPY6a750QonTSQiSEk7v99tu5/fbbq/34unXrsmnTJsaMGUNQUBAbN27k+++/5//+7//M08sHDRrE/Pnz6d+/P6NGjSI9PZ0PPviA9u3b88cff1TreWfPns2mTZsICQlhwoQJ5Ofn895779GlS5cKj+nq6sorr7zCE088wR133MH9999PYmIiK1asqHAMkYeHB7fddhvz5s0jLy+Pli1bsmXLFhITE0vsO2vWLLZs2cItt9zC+PHjMRgMvP/++1x33XXs27evUq+zJt47IURJ0kIkhLCKXq9n06ZNpKWl8cwzz/DLL78wc+ZMXn75ZfM+d9xxB8uXLyctLY3JkyezatUq3njjDe69995qP2+3bt3YvHkzLVq0YMaMGXz88cfMnj270sd8/PHHWbRoESkpKTzzzDPm+j0V1SACZUZeWFgYH3zwAdOnT8fV1bXUVp+ePXuyceNGmjRpwksvvcTy5cuZM2cOffv2rXQF6pp474QQJemMMqJOCCFsaujQoRw8eLDUMVBCCG1IC5EQQtQg04K6JkeOHCEmJobQ0FBtAhJClEpaiIQQogb5+vqa1z07fvw4ixcvJicnh99//73UOkpCCG3IoGohhKhB/fv3Z9WqVaSlpeHu7k5wcDCvvfaaJENC2BlNu8wMBgMvvfQSbdq0oV69erRr146XX37ZYjqr0WhkxowZ+Pr6Uq9ePfr161ei3/3cuXOMHj0aDw8PGjduzKOPPsrFixdt/XKEEKKEFStWcOzYMbKzs8nMzGTTpk3ccMMNWoclhChG04TojTfeYPHixbz//vscOnSIN954g3nz5vHee++Z95k3bx7vvvsuS5YsISEhgQYNGhAWFkZ2drZ5n9GjR3Pw4EG2bt3Khg0b2LlzJ48//rgWL0kIIYQQDkjTMUSDBw/G29ub5cuXm7cNGzaMevXq8fnnn2M0GvHz82Pq1KlMmzYNUNYJ8vb2ZuXKlYwYMYJDhw7RuXNnfvnlF3r16gXApk2bGDhwICdPnrRYVFEIIYQQojSajiHq3bs3S5cu5Z9//qFjx47s37+fXbt2MX/+fAASExNJS0ujX79+5sd4enoSFBTE7t27GTFiBLt376Zx48bmZAiUlbJdXFxISEgotVZHTk4OOTk55tsFBQWcO3eOZs2aodPpavAVCyGEEEItRqORCxcu4Ofnh4uLdZ1emiZEzz//PFlZWXTq1Am9Xo/BYODVV19l9OjRAKSlpQHg7e1t8Thvb2/zfWlpaXh5eVncX6dOHZo2bWrep7i5c+cye/ZstV+OEEIIITRw4sQJ/P39rTqGpgnRV199xRdffEFUVBRdunRh3759TJ48GT8/P8aMGVNjzzt9+nSmTJlivp2ZmUmrVq04sWsXHg0b1tjzivIZCgrYu3cvZ86epXmzZvTs2RN9JTL+rdu2MXXqVACK9v+a2vrefvtt7ixcU6u2s+a9MBQUENa/P6fS00u9X4dyMrJp48ZK/bsIB3flCkycCHv3Krfd3CA3Fzw8YPNmqFdP2/iqwPT/ovj4kMp+R8h3TA0xGiEvD1q3hkpWbi8uKyuLgIAAGjVqZHU4miZEzzzzDM8//zwjRowAoGvXrhw/fpy5c+cyZswYfHx8ADh16hS+vr7mx506dYoePXoA4OPjQ3qxL/D8/HzOnTtnfnxx7u7uFqtGm3g0b46HCm+qqLqYmBhmzJhBSmqqeZufry9z5sxh4MCB5T522IgR1PPwKPH4ln5+zJ49u8LHF2UwGEhISCA9PR0vLy+CgoLMi3k6Amvei/j4eE6WkQyZnDh1ikNHj9K7d2/VYhZ2ymBQkh53d3jkEXj+ebj9djh2DHbuhAce0DrCSjEYDMx96y1yy7hfB7z+9tsMHT68zP/ran7HiCIKCuDCBSXJrmZCZKLGcBdNE6LLly+X6PPT6/UUFBQA0KZNG3x8fNi2bZs5AcrKyiIhIYHx48cDEBwcTEZGBnv37qVnz54A/PjjjxQUFBAUFGS7FyOqLSYmhnHjxpU4e0tNTWXcuHEsW7aswi+cgQMHEhYWZlUyY01SZk+q+14UP7Gwdj/hYFJS4N134emnoX59yM+H114DLy/o2BF0OnjnHeUHrHt3raOttISEBIv/08UZgeSUFBISEspN9NX4jhH2TdOE6O677+bVV1+lVatWdOnShd9//5358+fzyCOPAErGN3nyZF555RU6dOhAmzZteOmll/Dz82Po0KEAXHvttfTv359x48axZMkS8vLymDhxIiNGjJAZZg7AYDAwY8aMEskQKF9UOmDmzJmEhYVV+MWj1+ur3XKhRlJmT6rzXhQfi2ftfo7e2uY0MjLggw9g+XLIyVG6MObOBV9fuPZaKHrSOnQoZGcrrUR5eeDqqlHQladmom/Nd4ywZDAYSNi9m3NJSXh068Ytfftq/v2gaUL03nvv8dJLLzFhwgTS09Px8/PjiSeeYMaMGeZ9nn32WS5dusTjjz9ORkYGt956K5s2bbJYKfqLL75g4sSJ9O3bFxcXF4YNG8a7776rSoxGo5H8ggIMZVQnMBgM/PHHH5w9e5ZmzZrRrVs3zf9RHcnvv/+Oi5sb/q1bl7lPgdFIws8/0zs4uEZiUDMpc2RBQUH4+fqSmppa6nuhA/z8/CrV8lpbWttqtStXYMUKeP99yMxUtt14I4wdCwEBUNZnvW5dpYsjPV1pPbKR6ibYaif6wnqm74fU1FQaAceAFv7+LFy4kPDwcM3ikrXMULrhPD09yfz7b4sxRLkGA6kXL3I5P19pLi7myuXLZGRmYjAYzNv0ej2NPT2pV7++TWJ3dJcvX+bcuXPl7mM0GvFs1Igu/v40dHNTPYb4+Hgihg+vcL+1a9bU+rNDU0sZlD54tDItZWW1tlXlGKKGrVkDr78Oppm4HTvCrFkQEVG5Vp/Zs5XutU8+ARtU3bYmwTYYDAQFBVWY6O/Zs6dWn/DYi6LfDzowJ0S5hb+xa9eurVJSZP79zszEw8PDqthkLbMyFBiNJGZkoHd3x8/LCzdXV4qmRBcuXiQ5O5umTZqU+vjmTZvSSGasVejS5cuVmrHU0MODkxcu0KFJE9VnOMnYmasGDhzIsmXLSv74VHLwqLS2OYj9+5VkyM8P/u//lEHTVZk19u+/cO4cLFkCS5fWXJxY352t1+uZM2cO48aNQ0fpif7s2bPl82gD5X4/GI3mYTJDhgzR5N9DEqIy5BoMFAAB3t7UL/ZFYQT+S0ykvDHtp0+fpnnz5uXuI8C9bl1OnTpFXl5emfu4urri5+PD8ePHySsoUD0hkiZ1S9YMHlVrAKtQkdGozApr1gw6dYKLF+GxxyAwECZNAk/Pqh9zyhT4/HPYtAlOngQr67+URa0E29pEX6ijwu8Ho5ETJ04QFxdHaGio7QIrJAlReXQ6XErpKrt08WK5P+AAeXl5XLp4kYaVaCUymo6Zn49rnTo0aNjQaRIpHcrU1WPHj5e5T0s/P2XRvRqqIq7m2JnaorqDR6W1zY4YjfDjj8rMsN9/h969YdkyaNwY2rRRblfX9ddDaChs3w4ffggvv6xS0JbUTLBllpj2Kvv/PrWcf/OaJAlRNeTl56u2X2ZmJskpKRYJlqurKy39/PCszpmbA/L09CSwdety34eii/mqTZrU1aNma5vMUqsmoxG2bIEFC+CPP5RtdetC587QsqUyIFqNk4tp05SE6Kuv4NlnoQZquKmdYMssMW1V9vuhaN1BW5Jys9XgWqdyeWRF+2VmZnLs+PESrU15eXkcO36cTNPMj2ICO3Zk108/AfDaG28wcdKkSsVT9HH2xtPTk2uvvZZ2bdvSqlUr2rVty7XXXmuzpNDUpF78P6Kfn58MAq4CU2tbWT+3phbBilrbYmJiCAoKImL4cCZERhIxfDhBQUHExMSoHnOtsn073HWXMibojz+UcUH/+x8cPKiM9fH0VK+ldcAAuOYapQvu00/VOWYx0p1du1T4/aDTERAQQEhIiE3jMpGEqBoaNGyIawUzMVxdXWlQTneZqam3PMkpKaV24RT1f889x/sLF1awV8VWfvop/fr3t/o41tABDRs2pEnjxjTUoNtw4MCBJCQksHbNGhZ98AFr16xhz549kgxVgam1DSjx71fZ1jbTINriXSWmQbSSFJUjKQn++ksprDhxIhw6BIsWQdu26nc5u7goY4lAmW1WWFC3LAaDgfj4eNavX098fLzF7NyyqJVgC/tQ7vdD4edzwYIFmrUES0JUDab/hOVp6edX7g96VcYhCdsxNakPHTqU3r17SxdNNVjT2lbRIFpQBtFW5se01svPh+hoZWBzXp5SYHHgQJg+HQ4fVqbFt25dY2PvAHjwQRg/XpltVs4Qgeq2+KmRYAv7Utb3g7+/f5Wn3KtNEqKqunQJLl3Cs04dAps3xy0/H5crV3C5cgVdTg6urq4Etm6tdPUU7lvaJe/CBYvDuly5UurTVTQOadbLL/PY//5nvr1s+XL827bFp1Urli1fjs7dnZMnT5rvT/j5Z67t1o3GXl7mrrb//vuP/02cyPadO2nYtCldCpdJKW7f/v3c3q8fjb28aNW+PWu+/hqA8+fPM/LBB2nu50e7Tp34cNky82Mefuwxnnr6afqGhdGoWTPuGjjQou7Qjp076XnzzTT28iL0zjs5evRoua9XOIbqtrZVZRCt08rPV8bthIbCk0/CzJnKchpNmkCHDspyG/7+NZsImdSrp7RA9ewJly+Xuou1LX7SnW2fqtPiZ2L6fljz5Ze89eabbNm8mcTERE2TIZBB1VXXtKn5qmfhxST/zjvRb9hw9UzG37/MLwmPW25RBj0Wuvaeezi4dWuJ/So7XgngwJ9/8sz06fywcSNdOndmwlNPldhn/XffEffjj2RnZ3PDzTcz7N576RMaypL33+fzqCh+2LSp1GNnZmZy16BBvDZnDj9s3EhGRoZ5VfSJkycDkPTvv/x79Ch9+/en0zXXcPtttwHw1ddfs+X77+nYoQODhgxh4fvvM3vGDE6cOEHEyJFEf/klvYODWbRkCSMefJBf4uMr/ZqF/arOAFaZpVaSaXD56ZQUuhw6RLuYGHRJScqdnp7KIqstWyoJUTnHiIuLIzU1FV9fX0JCQtRtVfH0hPPnSyznoea0eZkhZj/UqERv/n7o2lWZ9WgH/5aSEKmoThX+QV30elxdXSusv1PeOKTivl63jvChQ+lVuMjti88/z8pigx0nP/kkzZs3ByD0ttvY/8cf9KlEvYcNMTF0aN+exwrXmWvRogUtWrTAYDCw5uuvOXzgAPXr16db1648NnYsUatXmxOi4eHhdOvaFYBh997Llh9+AOCL1au59557CLn1VgCejIxkzmuvcezYMQIDAyv9uu2JzIyyjgyitWT64emYmsobQEDh9pyGDXGfPFlpIargvYiOjmbSpEkWLcX+ai+TkJICL76orIVWpIVYzWnzMkPMPtS2dR+LkoSoqspbZqL4D1+RL6DidC4utMzNNdffOfTttyX2qWgcUnFpaWn4t2xpvu1fSrE07yJfnvXr1+fipUuVOvbJ5GTalJKknDlzhry8PFq1amXe1rpVK/48ePDqc3p7Wz5n4biopKQkPouK4qvCrjeA3NxcklNSHDIhkvW7rCc1oa6K+f57xj3+OEagLUoydBp4D/jg4kWWXX894ZVIhiIiIii+QlNycjIRERGVHrNRYQtTbi6sW6d00/33nzKIG2nxq21qeyV6GUNUVQ0alH0psuBshfvWq2euv+Pq6kpBkWrYFuOQqsDHx8di5trJchKy4nQVjDcI8PcvtXhi8+bNcXV1JcnUhA8knTiBXyXqSLRs2ZJxjzxCRnq6+XI5I4NbHPAsUGZGqUPtQbTWjHPQzP79FERGcmbyZOoCTYHfgCeADsDLwPnCJQ7Kez0Gg4FJkyaVSIYA87aKjgFKUhUYGEifPn0YNWoUffr0ITAwkOjo6Ks7de4M/fsrNZCKLOUhLX61S20f4ycJkcbUrL9z75AhfL1uHb/9/jvZ2dm8Nm9epR/r1aIFJ5OTyS9jEPegAQP458gRVnzyCXl5eZw+fZo/Dx5Er9cTER7Oi7NmcfnyZf48eJDlK1cy4r77KnzOUfffz5roaOJ27aKgoIALFy6wtuiXrIOQmVHqUmsQrUPVMjIYYONGCA+HgQNxWb+eYZcvUw9IBo4DSwFTZbKiSxyUJS4urtyTosocw9TCVPw4phYmi6Ro6lTl79q1yngiZNp8bVPbW/wkIbID1tbfMQIXL16kVatWzH7pJe4ODyewY0d6Xn89AO7u7hUe444+fQhs3ZoWLVvSrXAMUlGenp5s+u47lq9cSXM/P3r17s3hf/4B4P0FC8jPzyegXTvuCQ9n1osvVmpcUps2bVj92Wc8M306TX186NStG998912VXrs9qO1nTVqwtiaUw7TYXboEH38MISHK+mIJCVCnDid69aI/cAjIAMqaa1reEgeVXf6grP2q3MLUt68yQPbKFVi5EpBp86VxyFbLQrW9xU9nLO3T7mSysrLw9PQk8++/8SgsP5+dn09iVhZtWrWibvGuMDtS3tIfaWlpdOvVi+ysrAq7xOxddnY2iUlJtPHwoG4VZt7Zwvr165kQGVnhfos++IChQ4fWfEBOzmAwEBQUVGaSahqHtGfPHpv8EJc70H7uXHj/feW6p6dS1+epp9h+8iR97rijwmPHxsaWuQjmtm3b6NevX4XH+OGHH+jbt2+J7du3b6dPnz5Vi+HTT2HMGGWgd0ICuLkBpY+va+mEC6s6+jhD0/+tisb4Vfr/VkGBUjKiTZuSQ04qyfz7nZmJh4dHtY5hIi1EDqy0pT92xsVx8eJFDhw8yLTnn+eewYMdPhmyd7X9rMnR2FOLXfFuu1eGD2f0DTcQ8/33SkmOe+6B9u3h9dfh6FF47z3o0IGQ226jWbNm5R67WbNmNbrEQbVamEaMAF9fSE+HIpMlpAq8A7ValqO2t/jZ16m2qLSylv7YvHUr//fSS+hcXLixZ0+WLl5s++CcjMyMsi9qjnOwpoxCTEwMj40bRx1gAPA4EAT8eOYMTz7+OC4ffED/kSOVdcYKW1LUZO37UNkFNi32c3NTCkWeOAHFJkc487T52jQ7yzTGr0RLVy1o8ZOEyEGVtfTHq4XZu0mjKtQxEtVjOmsaN24cOrD40qsNZ02ORq0WO2u6NwwGA+9NncrzwP2AqfBELnAWZaD0Qy+9ROoTT5T6uYiLi+Ps2bPlPsfZs2eJi4srs8usWglNESEhIfj7+5OcnFzqOCKdToe/v3/JVqonnlBav44fV6pq21kXtzWqmyCrWY/JHtTWQpnSZeagKlrSo6r7CevI8gL2Q42ZTdZ2b5waN46NWVk8hZIMnQEWANcC96HMFjt97hzbt28v9fHWDogGJaGxpttNr9ezsHDh6OLd7hUuxFmvHnh4KIPGawlrZi3WxtlZtXHdR0mIymM0UmCnY84ru6RHVZb+sGdGUGqc2DEZJ2EfrB3nUK0yCn//rQwOBcjJ4e/LlykAYoEHgUDgaeC/YscrKyGytnVHLeHh4axdu5aWRQq+QiUW4tTpYPt2GDlSWWjWwVmbIMs4Q8dQO34ta4CbXo8LkHLqFC2aNcPN1bXK0+Frkr5OHfR16pRZNwigTuE+2dnZNoxMfUaUs2kd4Opi3zm8M4+TsCfWjHOobPfGL9u3c3N6OkRFwW+/waxZMGwYuLuzr2tXxsfFcQRKTawqYuquKq+OUEBAQLmDqtXodgMlKRoyZEjV10Jbswb274clS+Cdd8rf146pMf5Hxhk6BkmIyuCi09GmcWNSL14kJSXFNitHV1Fubi5ny1lKpFnTphwrUkHaYRmN6AD/Ro3Q23lCJOxHdcc5VNRt0QMYBfQcN05ZuwuUcTLp6cqCzvXr0z08nH8WLaowxrISEb1ez8iRI3nzzTfLfOyIESPKfS1qdLsVjae8pKlU06bBN9/A+vXwwgtQuIaio1Fj/I+9jTOUNRdLJwlROdz0elp5eJBfUIDBHrtrPDzYcfgw7773HqeLfIl7eXnx5JNP0rlzZw2DU5eri4skQ6LKqtNiV9a4mzrABqCbaUNODgQGKrWDxo5VrheeOIWGhtKsWbNyW2iaNWtWZpJhMBhYtWpVuXGuXr2auXPnlvlDpnm32y23wI03wi+/wPLl8NxzNfM8NUyt8T/2MjvL0Wsh1SRJiCqg0+lw1etx1TqQMoT17Uu/0FDJ9oVQSUFBAQB1gV7ArsLtdVBmiGUD3wNtXn6ZG559ttQp83q9nqVLlzJs2LAyn2fp0qVl/j+taNkNwLzsRllJVbVnialFp1OW8xgxAj7/HJ56Shls7WDUHP+j9eys2rxSvRokIaoFZNyKECrJyeHsqlW8D9wFNAT6AqlADjC18Hoa8GJODjfUQP0gUKe7yzRLLCIiAp1OZ5EUVThLTC3DhkGrVpCUBF9+CQ8/XHPPVUPUHv+j1fd1baqFVFOkD0II4dxyc+GHH2DSJOjenfDvviMcJRlKBjyBEygLrP6OkgxVxLQOWFl0FaxWr1Z3V7VniamlTh3lfQWMy5cTv2uXw63hVVuqM9tTBXd7JS1EQohaq1KDRzduhAkTzDdzmjRhxfnzrAF2UvbCquUNMq7KSvOlHUfN7q5qzxJTy2OPkb5yJe8nJfHJ/fdjKifrSONW7GX8jzVqYy0ktUlCJISolYoPHtUDdzdtyvNdutDqrrvggQcgOxt69lS6dfr2hREjqHPrrTzj7c3FixfLPHbDhg3LTYis7fJSu7urWrPEVBL9ww8MO3AAX5TWtszC7SmpqTw2bhwfOci4Fa3H/1hLaiFVTFa7p/TV7oUQjqvoOmI3AXcDgwDTxO8Lfn40io2FBg2gUSNwd1cuKK1K3t7eFc4QO3XqVJk/htVaKb4U0dHRTJo0yaK1KSAggAULFtR8d5cKir6XDYBWQBZQUGSfpk2asH//fpskFs483Vz1lerVYGer3UtChCREQtQmBoOB7t27M/38ee4Biv6PPocyQ2xjw4Z8duoU+vr1SzxejWTGYDAQGBhYYZdXYmJihT8+BoNBu+4uK23bto1+/foB0AR4DmgGzCi235erV9fcbLdCMt386iwzKL0Wks1nmdlZQiSDqgWgfOnGx8c73IBHIbhyBXbsgDfeAKOR+F27uHL+PJ4oydA5YDVwL+APPASsuniR7bt3l3o4NWd4QTXWASvlWKGhoYwcOZLQ0FCHSYbAcmmSdigJ0RiuLnZrsruMfwu1WLv0Rm0hay6WT8YQCTlzEo7FaISjR5W1srZvh/j4qxWjb7+d33bupAB4E5gH7AHzQN6itm/fTt++fUtsV3uGV/EuL39/f4fp8lLTryiD1G8DxgGv2Oh5Zbq5JUcfC1WTJCFyclKoS9irUsd7bNoEL78MJ05Y7uzjA6Gh4O/PuUaNOA4cq+D4pgKMxdWqGV4aCw0N5ZVXrqY+81ESotHA28CVwu3BwcE1FoMaS2/UNlK7rnSSEDkxOXMS9mrL2rV8M3s2gefO8SOwHwj08eHde++l14kT4OoKN90Ed90FAwZAjx7KNsBz165KLaha1hIdtWmGl9aKL2HyHXAE6ICSFH2EMqi6Jn+cZbq5qCwZQ+TEpFCXsAsFBfDPP7BqFTzzDBduvJF+kybxwblzPAPcDzQG0tPSiFi8mD1Tp0JqKsTFwYwZynpZrlcX1/H2Lj5CpXTl7ad5QcNawrSEiUkBsKDw+mMoP0Dz5s2rVHJZ3XGOMt1cVJamCVFgYCA6na7EJTIyEoDs7GwiIyNp1qwZDRs2ZNiwYZw6dcriGElJSQwaNIj69evj5eXFM888Q35+WaXURFFy5iQ0kZEBRYsWHj8Offooq6NHRdEoJQUXIAlYB+wAcxdYkk7HfV99haFxY/NCqsUVT2LKUtF+4eHhHDt2jNjYWKKiooiNjSUxMVGSoSoKDw/n66+/Nr/fK1EGurcCvnniiUp1ycfExBAUFETE8OFMiIwkYvhwgoKCKjUY2rT0RumfFqUlvGUVlt6wBzIJpmZo2mX2yy+/WPxD/vnnn9x5550MHz4cgKeffprvv/+eNWvW4OnpycSJEwkPD+enn34ClA/FoEGD8PHxIT4+ntTUVB566CFcXV157bXXNHlNjkTOnERNMhgMJMTHk/3HH7Q6e5a258/j8ttv8O+/EBYGCxdCXh54eoK/P7RsycmWLXkmOpp44CSW9WoAqKDCM1wdA1RepeiAgIBKjQFy5u4uNRUfS5W5ZQuNL1ygZyWTIWvGOZqW3hg3bhw6Sp9u7ghLb5jIJJiaY1d1iCZPnsyGDRs4cuQIWVlZtGjRgqioKCIiIgD4+++/ufbaa9m9ezc333wzGzduZPDgwaSkpJibv5csWcJzzz3H6dOncavkwovOWofILgt1CceUnw9nz0Lh/8OYmBiaRUbSJTeXhqXtf+ONEB2tFEZ0dVUubm6sWr2aUaNGVfh0UVFRjBw5ssz7o6OjiYiIKHNQtHR72YFLl5TWwUaNoIzvF9N3VFld+1X5jiotkWjpQEtvQNnJoWZ1hKwldYhKl5uby+eff84jjzyCTqdj79695OXlmYt6AXTq1IlWrVqZa1bs3r2brl27WowFCAsLIysri4MHD5b5XDk5OWRlZVlcnFFtWbRQ2NCVK/Dnn7BuHcybB+PGKd1d7dvD8OFw5Qpbvv6aZ8aNo15hMnQJiAfeAe4DYpYsgd27lVahJk2gYUOlSrROp/qUd39/f4vtAQEBkgzZi/r1lWTo8uUyd1FznOPAgQNJSEhg7Zo1LPrgA9auWcOePXscJoGoaBIMKJNgpPus+uxmltn69evJyMjg4YcfBiAtLQ03NzcaN25ssZ+3tzdpaWnmfYoPjDTdNu1Tmrlz5zJ79mz1gndgtWHRQqEioxEyMyE9HU6dUq4PHnz1/iFDoKyTjfR0DPn5/N9rr5EGPAVcAA4ChVWC0Ol07Hn1VRIfe4zS0myZ8u5EdDpISVES62nToHXrEruoPc7RkaebS/mAmmc3CdHy5csZMGAAfn5+Nf5c06dPZ8qUKebbWVlZBAQE1Pjz2isp1OUE8vPh9GnlkpEBt9129b433oBdu5Qk6PTpq0UOAdzcoHdv5cfLaFR+tJKTlRaha66Ba69VLp07Q5s2xMXHs7fwZGRHKWFUtMq7THl3Mi+8ANu2gYcHvPpqibtlnONVMgmm5tlFQnT8+HF++OEHoqOjzdt8fHzIzc0lIyPDopXo1KlT+Pj4mPf5+eefLY5lmoVm2qc07u7uuBcu5CgUjnzmVCtlZirFB6+77uq23buVZCQn5+olO1u5GAzw4otX9124EPbsuZoEnT2rJDQAderAgQPKdYMBDh+G336zeHqjpydXGjTggocHx/bupdfgwejd3SEqShn3U6f0r47UclpmLfYr50xXKjw7kalTlYRozRp49lllgH0RphliFY1zdKQZYtUlyWHNs4uEaMWKFXh5eTFo0CDztp49e+Lq6sq2bdsYNmwYAIcPHyYpKclc1TQ4OJhXX33V3KoBsHXrVjw8POjcubPtX4gQasjIUKouX74M+/dfTWQWLlRq75RlwoSrLTn79sHOnZb36/XQvDm0aKHs06SJ0gL01FPw0ENKteeWLfnm5595avp0kpKTlS6Nhx/G39+fhQsXVpiMqDkGSLq7nED//koL46FD8Omn8OSTFnfXthli1pDksOZpPsusoKCANm3aMHLkSF5//XWL+8aPH09MTAwrV67Ew8ODJwv/s8THxwPKILMePXrg5+fHvHnzSEtL48EHH+Sxxx6r0rR7Z51lJuzU66/De+8p148eVf66uMDbb8MffyizMdzdoV495brp8tJLStKj0ynJUFoaeHmZEx28vJTZXC5lz6Uoa3aWqbuqogHJaq7yLpzE8uXw2GPK5zQhodTWx9owQ0wNdrdavbXsbJaZ5gnRli1bCAsL4/Dhw3Ts2NHivuzsbKZOncqqVavIyckhLCyMRYsWWXSHHT9+nPHjx7N9+3YaNGjAmDFjeP3116lTRpN+aSQhEnbjzBkIDlZahz79FB54oMwChGozJTNl1e+pbDJjSqqAUscAySwvYSE7Wxmblp4O774LhT0CxZW6tp0TJtW1KjmUhMj+SEJkPfmyUsmsWbBsGXTtCnv3WixJUdO2b99Onz59KtwvNja2woHK0dHRJcYABQQEyBggUbo5c2DmTOjSBTZvttlJgKOqNd+3dpYQ2cUYIuHYpHKqSlJTlVYhUNbosmEypDx92QOdq7qfjAESVTJ+vNJ11qeP0mJUr57WEdk1mQRTMyQhElaxtqy+KOLdd5WZYzfeqNT7sTG1BkSbyJR3UWktWsB//ymD+C9dkoRIaMJuKlULxyOVU1VkNCrJkE6ndB3YuHUIrhZF1JXRXaHT6Sq9BpgQVabXQ+PGSimIghKr2AlR4yQhEtWmZll9p6fTwcsvw/btylRkDZiKIirhWCZF1SmKKESV1asH8fHw4YdaRyKckCREotqkcqqKCgqUFqLu3ctc6NIWTEURW7ZsabHd399fZoeJmrd7Nzz+OLz1Fpw7p3U0wslIQiSqTSqnqmTlSvjrL2WR04alrg1vU+Hh4Rw7dozY2FiioqKIjY0lMTFRkiFR8269VTkpyM6GFSu0jkY4GZl2j0y7ry6DwUBQUFCFlVP37Nkj3Sxl+esvuPPOq8tpdOqkdURCaOvzz+HBB5Wq6j//rBQhFbWTnU27lxYiUW2msvpwtVKqibOV1a+2N99U/vbvD8UKkwrhlO67D/z8lCKlX3+tdTTCiUhCJKwycOBAli1bVmIqtp+fn0y5r8jvv8OWLcpSGrNmlbukhhBOw7S+HsDSpVfX8hOihkmXGdJlpoZaUznVlkaNgh07ICICvvxSEiIhTM6fh4AApSbRF18oix2L2sfOusykMKNQhVROraI9e5RkqE4dpe6QJENCXNWkCYwdq/wfyc3VOhrhJCQhEsLWjEaYN0+5PmKEsn6TEMLSm29CXh6cOKG0JMhJg6hhkhAJu+E03W4GA4SEwNGj8OKLspClEKWpW1cZT1S/Ply+bBclKUTtJim3sAsxMTEEBQURMXw4EyIjiRg+nKCgIGJiYrQOTX116ijdAT//LDPLhCiPi4tSqHTZMpACr6KGSUIkNGdaILb4MiCmBWJrXVKUn6+0Cnl5SeuQEBUZO1apXP3RR1pHImo5SYiEppxqgdiCAmU68caN4OGhdAUIIcr3xBPK3y++gCtXtI1F1GqSEAlNOdUCsd99pxSamzZN6QqQ1iEhKnbvvdC6NWRkcPS111i/fj3x8fG14yRJ2BVJiISmnGaB2Px8ePtt5fr48VCskKUQogx16rD/jjsA0H38MZG1fYyh0IwkREJTTrNA7NdfK7PKGjeGqVO1jkYIhxEdHU3IihVkAm2Buwq319oxhkIzkhAJTQUFBeHn61tiLTQTHdDSz4+goCBbhqWu3Fx45x3l+lNPgbe3tvEI4SAMBgOTJk3iArC0cNv/Cv/WujGGQnOSEAlNOcUCsatWKcXlWrSASZO0jkYIhxEXF8fJkycBeBfIBs4BpkUeatUYQ6E5SYiE5mr1ArFXrsC77yrXJ0+Gpk01DcfZGAwGtm/fzqpVq9i+fbu0JDiY1CITLk4CfsDjlKwo7PBjDIVdkErVwi4MHDiQsLCw2lep2t1dqUa9ejVMnKh1NA7FYDAQFxdHamoqvr6+hISEVOnzEB0dzaRJk8wtDAD+/v4sXLiQ8PBwm8QgrFN87OB5IB8ovgR3s2bNbBWSqMUkIRJ2o1YuEOviArffDvfdp9QechBqJALWHMPaZCY6OpqIiAiMRssKV8nJyURERLB27doKj6NGQgWSVKntEuAD3AZ8q3EsonaRLjMhakpBAWRnK61Enp6Vfpga3TzWHCM6OprAwED69OnDqFGj6NOnD4GBgURHR9vkGKZkpmgiAleTmYqOYRqIWzwZAszbJk+eXO57Ym0MRY9j7XvpzErrCusF/ADMAxoUbjt79qwNoxK1lSREotYwGAzEx8drWrjNFMP3UVFcDgqiYMkSZVFKN7dKPd7RkxFrj6FGMlN0IG5pjEYjJ06cIC4ursZiAPWSKmceB1V8XCHAL8ARwAN4oHCbw5flEHZBEiJRK9jD4rBFY/jnmWeon5LCsfnzWbdjR6UeXxuSEWuPYW0yA5YDcctT1n5qxKBmUuXMLUwhISH4+/ujK1LV3QgUFrHgESDA17fSZTns4aRJ2C9JiITDs4fFYYvG0BQYV7h9tsHAsFGjbNLNYw/JiLXHsDaZgdJbFaqynxoxqPFeqtXCZC+q09Kl1+tZuHAhgEVS9ClwBggAFg8eXKkxWfZw0iTsmyREwqHZw+KwxWOIBBoCfwJRhdtquptHjWOokQhYewxrkxkovVWhKJ1OR0BAACEhITUWg7Xvg1otTEWPp2W3mzUtXeHh4axdu5aWLVuat10BviicpHDDL79UeAx7OGkS9k8SIuHQ7GFx2KIxeAMPF26fgzJF2BbdPGocQ41EwNpjWJvMQNmtCkVvL1iwoMxWBTVisPZ9UCNBNtG6202Nlq7w8HCOHTtGbGwsUVFRxMbGMvGvv5Sxefv2wc8/l/lYezhpEo5BEiLh0Oxhcdiix34KqAf8ChT/mq/Jbh41jqFGImDtMaxNZkxKa1UAZdp8RVPu1YjB2vdBjQQZtO92U7uly4KPD4wapczgPHq0zN3s4aRJOAZJiIRDs4fFYU3HbgKMLNw2Gyj+FV+T3TxqHEONRECNY1iTzBQ/TvFWhcTExEo93toYrH0f1EiQazQZqSS1WrrKauX6/rbb4O+/ISxMKXNRCns4aRKOQRIi4dDsYXFYUwzngWHAQqD4iISa7uZR6xhqJCNqHaO6yUxRer2e0NBQRo4cSWhoaJUKIlobgzXvgxoJsprdbtUdg6RGS1d5rVx3P/oo0bt2QYMGyjI5pbCHkybhGHTG0k4fnExWVhaenp5k/v03Ho2KF4UX9s40YBKwGCdg+imxxXpor7zyCosXL6YxyppLWcXuf+aZZ5g3b16FxymtOnJAQAALFiyo9A+xGsfQulJ1bVLd98GUCAAWrTymJKmipGrVqlWMGjWqwueJiopi5MiRZd5vTcXu7du306dPnwpjiI2NJTQ0tMR2g8FAYGBguYldQEAAib/9hv7rryEkBBo3LnGMoKAgUlNTSx1HpENZN3HPnj1O+fnUVEEBXLgAbdpA3boV718K8+93ZiYeVq4GIAkRkhDVBjExMcyYMcNirEBLPz9mz55d48mQwWDgrhtvJOnUKXJREqLijfcBAQEkJiZW6gtXkhFhYk1ya20yYnr+0pZAqWxSZkpokpOTS+260+l0+Pv7l/l/o7Kv4dRtt+G1cyc8+yxMmlTifns4aRKlkITIUnJyMs899xwbN27k8uXLtG/fnhUrVtCrVy9AOTOaOXMmy5YtIyMjg1tuuYXFixfToUMH8zHOnTvHk08+yXfffYeLiwvDhg1j4cKFNGzYsFIxSEJUOxgMBk0Wh923ejXXTp3KOuAJSrYOmZT3wyNEWaqb3Fa6daWMZKSix1eUzJhY09L1xRdf8MADD5R6X1Hx48YRvGwZeHkpM85cXUvso+VJkyiDnSVEmi7uev78eW655Rb69OnDxo0badGiBUeOHKFJkybmfebNm8e7777LJ598Qps2bXjppZcICwvjr7/+om7hGzh69GhSU1PZunUreXl5jB07lscff5yoqKiynlrUQmosDludpMrrs89wR1mB+0I5+1V2PIUQRZnGQVXncSNHjuTNN98sc58RI0aU+fmuyhik8uILDw9n2rRpzJ8/32LskYuLC1OmTCm3hen06dNl3lfUrx07EuztDadOQXQ03H9/iX0GDhxIWFiYJidNwjFomhC98cYbBAQEsGLFCvO2Nm3amK8bjUYWLFjAiy++yJAhQwD49NNP8fb2Zv369YwYMYJDhw6xadMmfvnlF3Or0nvvvcfAgQN566238PPzs+2LEg6rtDNIP19f5syZU/YZ5B9/4LdvHwZgJpQ6RsGksjOHhFCDwWBg1apV5e6zevVq5s6dW2pSoObU/7feeqtEl5nBYOCtt97i5ptvLjMpatGiRaViaOrrCxMnwksvwbJlcN99UMqAdDVOmkTtpekss2+//ZZevXoxfPhwvLy8uP7661m2bJn5/sTERNLS0ujXr595m6enJ0FBQezevRuA3bt307hxY3MyBNCvXz9cXFykroSotGpXsi08+95cty6/l3HsyswIEqIs1Z3hVVELD1DuLLOanvpvUt7U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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Scale factor\n", + "scaleFactor = 4\n", + "\n", + "fig, ax = plt.subplots()\n", + "\n", + "for name, df in dic.items():\n", + " pos = int(name[1:-2])\n", + " df = df[df[\"error\"] < 2]\n", + " sct = ax.scatter(x=np.repeat(pos, len(df)), y=df.index * scaleFactor * 1e-12, color=\"black\")\n", + "\n", + "# Light cone overlay (air background; ± branches)\n", + "idx = np.arange(len(KX))\n", + "# Convert reduced coordinates to |k| in m^-1\n", + "k_mag = (2 * np.pi / latticeConstant) * np.sqrt(np.array(KX) ** 2 + np.array(KY) ** 2)\n", + "# Frequency in THz: f = c |k| / (2π)\n", + "f_light_thz = (td.constants.C_0 * k_mag / (2 * np.pi)) / 1e12\n", + "ax.plot(idx, scaleFactor * f_light_thz, \"r--\", label=\"light cone\")\n", + "ax.fill_between(idx, scaleFactor * f_light_thz, 800, color=\"red\", alpha=0.1)\n", + "\n", + "ax.set_ylim(0, 800)\n", + "ax.set_xlim(0, len(KX))\n", + "ax.set_ylabel(\"Frequency (THz)\")\n", + "ax.set_xlabel(\"K-point index\")\n", + "ax.set_title(\"TM band diagram\")\n", + "\n", + "ax.legend(loc=\"upper left\", fontsize=\"small\")\n", + "\n", + "plt.show()" + ] + } + ], + "metadata": { + "applications": [ + "Photonic crystals" + ], + "description": "This notebook demonstrates how to simulate band diagrams of hexagonal lattice structures using Tidy3D.", + "feature_image": "././img/HexagonalSupercell.png", + "features": [], + "kernelspec": { + "display_name": "td2100rc2", + "language": "python", + "name": "python3" + }, + "keywords": "hexagonal lattices, band structure, matching dipoles, 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.13" + }, + "title": "How to model hexagonal lattice bands using Tidy3D | Flexcompute" + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/case_studies/photonic_crystals.rst b/docs/case_studies/photonic_crystals.rst index 81caec95..44bbf9c8 100644 --- a/docs/case_studies/photonic_crystals.rst +++ b/docs/case_studies/photonic_crystals.rst @@ -12,3 +12,4 @@ Photonic crystals utilize periodic optical nanostructures to affect the motion o ../../BistablePCCavity ../../NanobeamCavity ../../TopoQuantumPhC + ../../HexagonalLatticeBands \ No newline at end of file diff --git a/img/HexagonalSupercell.png b/img/HexagonalSupercell.png new file mode 100644 index 00000000..c6cc2670 Binary files /dev/null and b/img/HexagonalSupercell.png differ