{ "cells": [ { "cell_type": "markdown", "id": "cf3355cf", "metadata": {}, "source": [ "# Creating animation" ] }, { "cell_type": "markdown", "id": "8a694b9a", "metadata": {}, "source": [ "Animations are often created from FDTD simulations to provide a more intuitive understanding of the physical phenomena being modeled. These animations can visualize the evolution of the field distribution over time, showing wave propagation, interactions, and other dynamic effects that static images cannot adequately depict. This can help researchers and engineers better understand the results of their simulations, identify anomalies, and develop or refine their models. Additionally, these animations can serve as effective educational and communication tools, making complex concepts more accessible to non-experts.\n", "\n", "This tutorial demonstrates how to create an animation in a waveguide taper simulation and display the animation directly in a Jupyter Notebook." ] }, { "cell_type": "code", "execution_count": 1, "id": "d51bc3f4", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import matplotlib.animation as animation\n", "from IPython.display import HTML\n", "\n", "import tidy3d as td\n", "import tidy3d.web as web\n" ] }, { "cell_type": "markdown", "id": "b5066bf3", "metadata": {}, "source": [ "## Simulation Setup" ] }, { "cell_type": "markdown", "id": "c45ca575", "metadata": {}, "source": [ "For this demo, we simply simulate a linear waveguide taper. The simulation setup is directly borrowed from the [waveguide size converter](../notebooks/WaveguideSizeConverter.html) case study notebook." ] }, { "cell_type": "code", "execution_count": 2, "id": "e81e80a2", "metadata": {}, "outputs": [], "source": [ "lda0 = 1.55 # central wavelength\n", "freq0 = td.C_0 / lda0 # central frequency\n", "ldas = np.linspace(1.5, 1.6, 101) # wavelength range\n", "freqs = td.C_0 / ldas # frequency range\n", "fwidth = 0.5 * (np.max(freqs) - np.min(freqs)) # width of the frequency distribution\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "f0118431", "metadata": {}, "outputs": [], "source": [ "n_si = 3.48 # silicon refractive index\n", "si = td.Medium(permittivity=n_si**2)\n", "\n", "n_sio2 = 1.44 # silicon oxide refractive index\n", "sio2 = td.Medium(permittivity=n_sio2**2)\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "8c1ece3c", "metadata": {}, "outputs": [], "source": [ "w_in = 5 # input waveguide width\n", "w_out = 0.45 # output waveguide width\n", "t_wg = 0.11 # waveguide thickness\n", "L_t = 10\n", "inf_eff = 1e3 # effective infinity of the model\n", "\n", "# define the substrate structure\n", "sub = td.Structure(\n", " geometry=td.Box.from_bounds(\n", " rmin=(-inf_eff, -inf_eff, -inf_eff), rmax=(inf_eff, inf_eff, 0)\n", " ),\n", " medium=sio2,\n", ")\n", "\n", "# vertices of the taper\n", "vertices = [\n", " [-inf_eff, w_in / 2],\n", " [0, w_in / 2],\n", " [L_t, w_out / 2],\n", " [inf_eff, w_out / 2],\n", " [inf_eff, -w_out / 2],\n", " [L_t, -w_out / 2],\n", " [0, -w_in / 2],\n", " [-inf_eff, -w_in / 2],\n", "]\n", "\n", "# construct the taper structure using a PolySlab\n", "linear_taper = td.Structure(\n", " geometry=td.PolySlab(vertices=vertices, axis=2, slab_bounds=(0, t_wg)),\n", " medium=si,\n", ")\n" ] }, { "cell_type": "markdown", "id": "7e5e3470", "metadata": {}, "source": [ "To create an animation, we need to capture the frames at different time instances of the simulation. This can be done by using a [FieldTimeMonitor](../_autosummary/tidy3d.FieldTimeMonitor.html). Usually a FDTD simulation contains a large number of time steps and grid points. Recording the field at every time step and grid point will result in a large dataset. For the purpose of making animations, this is usually unnecessary. In this particular case, we will record one frame every 100 time steps, which is realized by setting `interval=100` in the [FieldTimeMonitor](../_autosummary/tidy3d.FieldTimeMonitor.html). Similarly, we set `interval_space=(3,3,1)` such that the field is recorded every 3 grid points. To further reduce dataset size, we will only be recording the z-component of the magnetic field. " ] }, { "cell_type": "code", "execution_count": 5, "id": "60ab5fcd", "metadata": {}, "outputs": [], "source": [ "run_time = 5e-13 # run time of the simulation\n", "\n", "# define a mode source\n", "mode_source = td.ModeSource(\n", " center=(-lda0 / 2, 0, t_wg / 2),\n", " size=(0, 1.2 * w_in, 6 * t_wg),\n", " source_time=td.GaussianPulse(freq0=freq0, fwidth=fwidth),\n", " direction=\"+\",\n", " mode_spec=td.ModeSpec(num_modes=1, target_neff=n_si),\n", " mode_index=0,\n", ")\n", "\n", "# define a field time monitor to record animation frames\n", "monitor = td.FieldTimeMonitor(\n", " center=(0, 0, t_wg/2),\n", " size=(td.inf, td.inf, 0),\n", " fields=['Hz'],\n", " start=0,\n", " stop=run_time,\n", " interval=100,\n", " interval_space=(3,3,1),\n", " name='movie_monitor'\n", ")\n", "\n", "# define simulation domain size\n", "Lx = L_t + 2 * lda0\n", "Ly = w_in + 2 * lda0\n", "Lz = t_wg + 1.5 * lda0\n", "sim_size = (Lx, Ly, Lz)\n", "\n", "# define simulation\n", "sim = td.Simulation(\n", " center=(L_t / 2, 0, t_wg),\n", " size=sim_size,\n", " grid_spec=td.GridSpec.auto(min_steps_per_wvl=15, wavelength=lda0),\n", " structures=[linear_taper, sub],\n", " sources=[mode_source],\n", " monitors=[monitor],\n", " run_time=run_time,\n", " boundary_spec=td.BoundarySpec.all_sides(\n", " boundary=td.PML()\n", " ), # pml is used in all boundaries\n", " symmetry=(0, -1, 0),\n", ") # a pec symmetry plane at y=0 can be used to reduce the grid points of the simulation" ] }, { "cell_type": "markdown", "id": "ae1091cb", "metadata": {}, "source": [ "Visualize the simulation." ] }, { "cell_type": "code", "execution_count": 6, "id": "b72358aa", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHkCAYAAACzEmIsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABvUklEQVR4nO3deZgkVZk2/PucE0suVVm9VQNNIzSgoCyibA4u6NCKM4gyiis6gL6oLCr2qAM6guCCOIqMC6C+I3ghKuI1woivCrKDGwL6gbKIokIDTTd0VVblEts53x9RmVFZa2RVLpWV98+rL6ysrKzofCK67oqI5znCGGNARERERD1PdnsDiIiIiKg1GOyIiIiIlgkGOyIiIqJlgsGOiIiIaJlgsCMiIiJaJhjsiIiIiJYJBjsiIiKiZYLBjoiIiGiZYLAjIiIiWiYY7IiIprj55pshhMDNN9/c7U0hImoKgx0R9a2LLroIl112Wbc3Y0G+853v4MILL+z2ZgAAtNb43Oc+hw0bNiCTyWD//ffHd7/73dRfPzIygne/+90YHh5GPp/HK17xCtx9990zPndsbAwf+chHsGHDBriui5133hnHHnssyuVyq/46RD1NcK1YIupX++67L9asWTPtzJzWGr7vw3EcSLk0f/99zWteg/vuuw9//etfu70pOPPMM/HZz34WJ510Eg4++GBcc801+PGPf4zvfve7eMtb3jLn12qt8dKXvhS///3v8eEPfxhr1qzBRRddhEcffRR33XUXnv3sZ9efOzo6isMPPxyPPfYY3v3ud2PPPffE1q1bcdttt+Hyyy/HypUr2/1XJVryGOyI+lypVEI+n+/2ZnTFbMGuFyyVYLd582Zs2LAB7373u/GVr3wFAGCMweGHH45HHnkEf/3rX6GUmvXrv//97+PNb34zrrrqKhx77LEAgK1bt+I5z3kO/umf/gnf+c536s895ZRT8N3vfhd33303NmzY0N6/GFGPWpq/ihLRgmzevBnvete7sG7dOriuiw0bNuDkk0+G7/sAgMsuuwxCCNxyyy045ZRTsHbtWqxfv77+9RdddBH22WcfuK6LdevW4dRTT8XIyEjD9/jTn/6EN7zhDdhxxx2RyWSwfv16vOUtb8Ho6Gj9Oddffz1e8pKXYMWKFRgYGMBee+2Fj370o/Nuf5qv8zwPZ599Nvbcc0+4rotddtkFH/nIR+B53rTX+/a3v41DDjkEuVwOK1euxMte9jJcd911AIDddtsNf/jDH3DLLbdACAEhBF7+8pcDmP0eu6uuugoHHnggstks1qxZg7e//e3YvHlzw3NOOOEEDAwMYPPmzTjmmGMwMDCA4eFhfOhDH0IURfO+B9dccw2OOuqoeg332GMPfPKTn2z42pe//OX48Y9/jL/97W/1bd9tt91mfc0TTjih/rypfz7xiU/Mu03zbW8QBDjllFPqjwkhcPLJJ+Oxxx7DL3/5yzm//gc/+AF22GEHvP71r68/Njw8jDe96U245ppr6nUdGRnBpZdeine/+93YsGEDfN+fseZE/c7q9gYQUWs8/vjjOOSQQ+r3K+29997YvHkzfvCDH6BcLsNxnPpzTznlFAwPD+Oss85CqVQCAHziE5/AOeecg40bN+Lkk0/Ggw8+iIsvvhh33nkn7rjjDti2Dd/3ceSRR8LzPLzvfe/DjjvuiM2bN+Paa6/FyMgIhoaG8Ic//AGvec1rsP/+++Pcc8+F67p4+OGHcccdd8y5/Wm+TmuN1772tbj99tvx7ne/G8997nNx77334otf/CIeeughXH311fXnnnPOOfjEJz6Bww47DOeeey4cx8Gvf/1r3HjjjXjVq16FCy+8EO973/swMDCAj33sYwCAHXbYYdbtu+yyy3DiiSfi4IMPxnnnnYctW7bgv/7rv3DHHXfgnnvuwYoVK+rPjaIIRx55JA499FB8/vOfx89//nN84QtfwB577IGTTz55zvfhsssuw8DAADZt2oSBgQHceOONOOuss1AsFvGf//mfAICPfexjGB0dxWOPPYYvfvGLAICBgYFZX/M973kPNm7c2PDYT3/6U1xxxRVYu3Zt/bFt27bNuW01g4ODcF0XAHDPPfcgn8/juc99bsNzDjnkkPrnX/KSl8z6Wvfccw9e+MIXTrvkfcghh+DrX/86HnroIey33364/fbbUa1Wseeee+LYY4/F1VdfDa01/uEf/gFf/epXccABB6TadqJlzxDRsvCv//qvRkpp7rzzzmmf01obY4y59NJLDQDzkpe8xIRhWP/8U089ZRzHMa961atMFEX1x7/yla8YAOab3/ymMcaYe+65xwAwV1111azb8cUvftEAMFu3bm1q+9N83eWXX26klOa2225rePySSy4xAMwdd9xhjDHmT3/6k5FSmn/5l39p+PsYk7wXxhizzz77mMMPP3za97npppsMAHPTTTcZY4zxfd+sXbvW7LvvvqZSqdSfd+211xoA5qyzzqo/dvzxxxsA5txzz214zRe84AXmwAMPnPtNMMaUy+Vpj73nPe8xuVzOVKvV+mNHHXWU2XXXXed9vZn86U9/MkNDQ+aVr3xlw34AINWfSy+9tGE7dt9992nfo1QqGQDmjDPOmHNb8vm8eec73znt8R//+McGgPnpT39qjDHmggsuMADM6tWrzSGHHGKuuOIKc9FFF5kddtjBrFy50jz++OMLei+IlhteiiVaBrTWuPrqq3H00UfjoIMOmvZ5IUTDxyeddFLDfU8///nP4fs+Tj/99IYzJyeddBIKhQJ+/OMfAwCGhoYAAD/72c9m7UKsnbm65pproLVO/XdI83VXXXUVnvvc52LvvffGtm3b6n/+8R//EQBw0003AUD9bM5ZZ5017UzQ1Pcijd/+9rd46qmncMoppyCTydQfP+qoo7D33nvX35/J3vve9zZ8/NKXvhR/+ctf5v1e2Wy2/v/Hxsawbds2vPSlL0W5XMYDDzzQ9LZPVSqV8C//8i9YuXIlvvvd7zbsB9dff32qP0ceeWT9ayqVSv3s3WS196lSqcy5PWm/fnx8HEBcvxtuuAFve9vbcPLJJ+Pqq6/G9u3b8dWvfrXJd4JoeeKlWKJlYOvWrSgWi9h3331TPX/qjed/+9vfAAB77bVXw+OO42D33Xevf37Dhg3YtGkTLrjgAlxxxRV46Utfite+9rV4+9vfXg99b37zm/F//+//xf/5P/8HZ5xxBo444gi8/vWvx7HHHjtnh2mar/vTn/6E+++/H8PDwzO+xlNPPQUA+POf/wwpJZ73vOelej/mM9v7AwB77703br/99obHMpnMtG1cuXIltm/fPu/3+sMf/oD/+I//wI033ohisdjwucn3MS7USSedhD//+c/4xS9+gdWrVzd8burl2jSy2eyM97pVq9X651vx9bX/Hn300Q2XnV/0ohdhw4YN+MUvftH0thMtRwx2RH1ovh+2c/nCF76AE044Addccw2uu+46vP/978d5552HX/3qV1i/fj2y2SxuvfVW3HTTTfjxj3+Mn/70p7jyyivxj//4j7juuutm7ZBM83Vaa+y333644IILZnyNXXbZZcF/r1aaqwt0LiMjIzj88MNRKBRw7rnnYo899kAmk8Hdd9+Nf//3f2/qDOhM/uu//gvf/e538e1vf3vGe9KefPLJVK8zNDRU34d22mkn3HTTTTDGNJwNfeKJJwAA69atm/O1dtppp/pzJ5v69bX/znQf5Nq1a1OFZqJ+wEuxRMvA8PAwCoUC7rvvvgV9/a677goAePDBBxse930fjzzySP3zNfvttx/+4z/+A7feeituu+02bN68GZdcckn981JKHHHEEbjgggvwxz/+EZ/+9Kdx44031i+Vzma+r9tjjz3wzDPP4IgjjsDGjRun/amdUdtjjz2gtcYf//jHOb9f2suys70/tcemvj8LdfPNN+Ppp5/GZZddhg984AN4zWteg40bN844n63ZS8q33XYbPvShD+H000/HcccdN+Nzdtppp1R/rrzyyvrXHHDAASiXy7j//vsbXuvXv/51/fNzOeCAA3D33XdPC62//vWvkcvl8JznPAcAcOCBBwLAtC5kIG4cmu0sLlG/YbAjWgaklDjmmGPwox/9CL/97W+nfd7MM65y48aNcBwHX/rSlxqe+9///d8YHR3FUUcdBQAoFosIw7Dha/fbbz9IKeuX05555plpr1/74T7XeIo0X/emN70Jmzdvxje+8Y1pz61UKvUO32OOOQZSSpx77rnTAsPkv18+n582zmUmBx10ENauXYtLLrmk4e/wk5/8BPfff3/9/Vms2pm+ydvo+z4uuuiiac/N5/OpL80+8cQTeNOb3oSXvOQl9c7amSzkHrvXve51sG27YRuNMbjkkkuw884747DDDmvYjgceeABBENQfO/bYY7Flyxb8z//8T/2xbdu24aqrrsLRRx9dv/9ur732wvOf/3xcc801Dd271113HR599FG88pWvTPVeEC13vBRLtEx85jOfwXXXXYfDDz+8PgrkiSeewFVXXYXbb7+9YRzHVMPDwzjzzDNxzjnn4NWvfjVe+9rX4sEHH8RFF12Egw8+GG9/+9sBADfeeCNOO+00vPGNb8RznvMchGGIyy+/HEopvOENbwAAnHvuubj11ltx1FFHYdddd8VTTz2Fiy66COvXr59z7EWar3vHO96B73//+3jve9+Lm266CS9+8YsRRREeeOABfP/738fPfvYzHHTQQdhzzz3xsY99DJ/85Cfx0pe+FK9//evhui7uvPNOrFu3Dueddx6A+CzQxRdfjE996lPYc889sXbt2nojxmS2beP888/HiSeeiMMPPxxvfetb6+NOdtttN3zwgx9caNkaHHbYYVi5ciWOP/54vP/974cQApdffvmMwfzAAw/ElVdeiU2bNuHggw/GwMAAjj766Blf9/3vfz+2bt2Kj3zkI/je977X8Ln9998f+++/P4CF3WO3fv16nH766fjP//xPBEGAgw8+GFdffTVuu+02XHHFFQ2Xpc8880x861vfwiOPPFKfu3fsscfiRS96EU488UT88Y9/rK88EUURzjnnnIbv9cUvfhGvfOUr8ZKXvATvec97MDo6igsuuADPec5z5h0jQ9Q3utiRS0Qt9re//c3867/+qxkeHjau65rdd9/dnHrqqcbzPGNMMu5kppEoxsTjTfbee29j27bZYYcdzMknn2y2b99e//xf/vIX8853vtPsscceJpPJmFWrVplXvOIV5uc//3n9OTfccIN53eteZ9atW2ccxzHr1q0zb33rW81DDz0057an/Trf9835559v9tlnH+O6rlm5cqU58MADzTnnnGNGR0cbnvvNb37TvOAFL6g/7/DDDzfXX399/fNPPvmkOeqoo8zg4KABUB99MnXcSc2VV15Zf71Vq1aZ4447zjz22GMNzzn++ONNPp+f9vc7++yzTZp/cu+44w7zohe9yGSzWbNu3TrzkY98xPzsZz+btj3j4+PmbW97m1mxYoUBMOfok8MPP3zW0SVnn332vNs0nyiKzGc+8xmz6667GsdxzD777GO+/e1vT3tebRTMI4880vD4M888Y971rneZ1atXm1wuZw4//PBZ99Hrr7/evOhFL6rvf+94xzvME088sei/A9FywSXFiIiIiJYJ3mNHREREtEww2BEREREtEwx2RERERMsEgx0RERHRMsFgR0RERLRMMNgRERERLRN9NaBYa43HH38cg4ODTS/HQ0RERNQNxhiMjY1h3bp1kHLuc3J9Fewef/zxJbNIOBEREVEzHn30Uaxfv37O5/RVsBscHAQAfORDH0Q269Yf94N4BDsAOBYw9WRebYTzmoIN22rPmT4/0BgpRQCAFXkFx+78VXJjDLaOxuuAurbAUL47u8doKYQXxG/68JDVlbOrrEeC9YixHgnWI8F6xFiPxFz1CEKDbcV4reRmNq1S8fC5z3+xnmPm0lfBrlbgbNbFQD4HAPACDaEAKeIA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GQ+PdJGzK8jaXsu3gfVIsB4J1iPGeiRYjwTrEWu2HnmrCj8qTHymPUtq9FWwMxMV9YMAQlQQGoUKDGwR1XeGQEsYGAj4sKVGgHiOnTFASRqoFg5HVKaEip/BlqqDAdeDNTGAMNQS454DJX0MOFWUqq37ntN5QBhhW8VGzraQmbiP0Bhg3M8g0hoDbgWer9Ge2eMAEEGZcYyXXVSqGQw41Xo9qoGFciCRs0vQIsT4wm9znBfrUcN6JFiPGtajhvVIsB41aetR9iUqFT8eZddEsKtU48vHJkUyFSbNs5aJxx57DLvssku3N4OIiIioaY8++ijWr18/53P6KthprfH4449jcHCwqZUn+lmxWMQuu+yCRx99FIVCYf4voGn4Hi4e38PF43vYGnwfF4/vYfOMMRgbG8O6desg5+m66KtLsVLKeZMuzaxQKPAAXCS+h4vH93Dx+B62Bt/HxeN72JyhoaFUz+vLcSdEREREyxGDHREREdEywWBHc3JdF2effTZc1+32pvQsvoeLx/dw8fgetgbfx8Xje9hefdU8QURERLSc8YwdERER0TLBYEdERES0TDDYERERES0TDHZEREREywSDHc3qq1/9KnbbbTdkMhkceuih+M1vftPtTeop5513Hg4++GAMDg5i7dq1OOaYY/Dggw92e7N62mc/+1kIIXD66ad3e1N6yubNm/H2t78dq1evRjabxX777Yff/va33d6snhFFET7+8Y9jw4YNyGaz2GOPPfDJT34y1bqd/erWW2/F0UcfjXXr1kEIgauvvrrh88YYnHXWWdhpp52QzWaxceNG/OlPf+rOxi4zDHY0oyuvvBKbNm3C2WefjbvvvhvPf/7zceSRR+Kpp57q9qb1jFtuuQWnnnoqfvWrX+H6669HEAR41atehVKp1O1N60l33nknvva1r2H//ffv9qb0lO3bt+PFL34xbNvGT37yE/zxj3/EF77wBaxcubLbm9Yzzj//fFx88cX4yle+gvvvvx/nn38+Pve5z+HLX/5ytzdtySqVSnj+85+Pr371qzN+/nOf+xy+9KUv4ZJLLsGvf/1r5PN5HHnkkahWqx3e0uWH405oRoceeigOPvhgfOUrXwEQr7O7yy674H3vex/OOOOMLm9db9q6dSvWrl2LW265BS972cu6vTk9ZXx8HC984Qtx0UUX4VOf+hQOOOAAXHjhhd3erJ5wxhln4I477sBtt93W7U3pWa95zWuwww474L//+7/rj73hDW9ANpvFt7/97S5uWW8QQuCHP/whjjnmGADx2bp169bh3/7t3/ChD30IADA6OooddtgBl112Gd7ylrd0cWt7H8/Y0TS+7+Ouu+7Cxo0b649JKbFx40b88pe/7OKW9bbR0VEAwKpVq7q8Jb3n1FNPxVFHHdWwT1I6//u//4uDDjoIb3zjG7F27Vq84AUvwDe+8Y1ub1ZPOeyww3DDDTfgoYceAgD8/ve/x+23345/+qd/6vKW9aZHHnkETz75ZMPxPDQ0hEMPPZQ/Y1rA6vYG0NKzbds2RFGEHXbYoeHxHXbYAQ888ECXtqq3aa1x+umn48UvfjH23Xffbm9OT/ne976Hu+++G3feeWe3N6Un/eUvf8HFF1+MTZs24aMf/SjuvPNOvP/974fjODj++OO7vXk94YwzzkCxWMTee+8NpRSiKMKnP/1pHHfccd3etJ705JNPAsCMP2Nqn6OFY7Aj6oBTTz0V9913H26//fZub0pPefTRR/GBD3wA119/PTKZTLc3pydprXHQQQfhM5/5DADgBS94Ae677z5ccsklDHYpff/738cVV1yB73znO9hnn33wu9/9DqeffjrWrVvH95CWHF6KpWnWrFkDpRS2bNnS8PiWLVuw4447dmmretdpp52Ga6+9FjfddBPWr1/f7c3pKXfddReeeuopvPCFL4RlWbAsC7fccgu+9KUvwbIsRFHU7U1c8nbaaSc873nPa3jsuc99Lv7+9793aYt6z4c//GGcccYZeMtb3oL99tsP73jHO/DBD34Q5513Xrc3rSfVfo7wZ0x7MNjRNI7j4MADD8QNN9xQf0xrjRtuuAH/8A//0MUt6y3GGJx22mn44Q9/iBtvvBEbNmzo9ib1nCOOOAL33nsvfve739X/HHTQQTjuuOPwu9/9Dkqpbm/ikvfiF7942pidhx56CLvuumuXtqj3lMtlSNn441IpBa11l7aot23YsAE77rhjw8+YYrGIX//61/wZ0wK8FEsz2rRpE44//ngcdNBBOOSQQ3DhhReiVCrhxBNP7Pam9YxTTz0V3/nOd3DNNddgcHCwfu/I0NAQstlsl7euNwwODk67JzGfz2P16tW8VzGlD37wgzjssMPwmc98Bm9605vwm9/8Bl//+tfx9a9/vdub1jOOPvpofPrTn8aznvUs7LPPPrjnnntwwQUX4J3vfGe3N23JGh8fx8MPP1z/+JFHHsHvfvc7rFq1Cs961rNw+umn41Of+hSe/exnY8OGDfj4xz+OdevW1TtnaREM0Sy+/OUvm2c961nGcRxzyCGHmF/96lfd3qSeAmDGP5deemm3N62nHX744eYDH/hAtzejp/zoRz8y++67r3Fd1+y9997m61//erc3qacUi0XzgQ98wDzrWc8ymUzG7L777uZjH/uY8Tyv25u2ZN10000z/vt3/PHHG2OM0Vqbj3/842aHHXYwruuaI444wjz44IPd3ehlgnPsiIiIiJYJ3mNHREREtEww2BEREREtEwx2RERERMsEgx0RERHRMsFgR0RERLRMMNgRERERLRMMdkRERETLBIMdERER0TLBYEdERES0TDDYERERES0TDHZERAu0detW7LjjjvjMZz5Tf+wXv/gFHMfBDTfc0MUtI6J+xbViiYgW4f/9v/+HY445Br/4xS+w11574YADDsDrXvc6XHDBBd3eNCLqQwx2RESLdOqpp+LnP/85DjroINx7772488474bputzeLiPoQgx0R0SJVKhXsu+++ePTRR3HXXXdhv/326/YmEVGf4j12RESL9Oc//xmPP/44tNb461//2u3NIaI+xjN2RESL4Ps+DjnkEBxwwAHYa6+9cOGFF+Lee+/F2rVru71pRNSHGOyIiBbhwx/+MH7wgx/g97//PQYGBnD44YdjaGgI1157bbc3jYj6EC/FEhEt0M0334wLL7wQl19+OQqFAqSUuPzyy3Hbbbfh4osv7vbmEVEf4hk7IiIiomWCZ+yIiIiIlgkGOyIiIqJlgsGOiIiIaJlgsCMiIiJaJhjsiIiIiJYJBjsiIiKiZYLBjoiIiGiZYLAjIiIiWiYY7IiIiIiWCQY7IiIiomWCwY6IiIhomWCwIyIiIlom/n8qnsXHx6ybKQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sim.plot(z=t_wg/2)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "881fb0c0", "metadata": {}, "source": [ "Submit the simulation." ] }, { "cell_type": "code", "execution_count": 7, "id": "00d87870", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
[15:21:00] Created task 'taper' with task_id 'fdve-36f853ad-86d4-4669-9924-eb0db68748adv1'.           webapi.py:139\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[15:21:00]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'taper'\u001b[0m with task_id \u001b[32m'fdve-36f853ad-86d4-4669-9924-eb0db68748adv1'\u001b[0m. \u001b]8;id=621941;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=373138;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           View task using web UI at                                                                  webapi.py:141\n",
       "           'https://tidy3d.simulation.cloud/workbench?taskId=fdve-36f853ad-86d4-4669-9924-eb0db68748a              \n",
       "           dv1'.                                                                                                   \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0mView task using web UI at \u001b]8;id=678876;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=210251;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py#141\u001b\\\u001b[2m141\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m\u001b]8;id=994376;https://tidy3d.simulation.cloud/workbench?taskId=fdve-36f853ad-86d4-4669-9924-eb0db68748adv1\u001b\\\u001b[32m'https://tidy3d.simulation.cloud/workbench?\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=375225;https://tidy3d.simulation.cloud/workbench?taskId=fdve-36f853ad-86d4-4669-9924-eb0db68748adv1\u001b\\\u001b[32mtaskId\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=994376;https://tidy3d.simulation.cloud/workbench?taskId=fdve-36f853ad-86d4-4669-9924-eb0db68748adv1\u001b\\\u001b[32m=\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=570662;https://tidy3d.simulation.cloud/workbench?taskId=fdve-36f853ad-86d4-4669-9924-eb0db68748adv1\u001b\\\u001b[32mfdve\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=994376;https://tidy3d.simulation.cloud/workbench?taskId=fdve-36f853ad-86d4-4669-9924-eb0db68748adv1\u001b\\\u001b[32m-36f853ad-86d4-4669-9924-eb0db68748a\u001b[0m\u001b]8;;\u001b\\ \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m\u001b]8;id=994376;https://tidy3d.simulation.cloud/workbench?taskId=fdve-36f853ad-86d4-4669-9924-eb0db68748adv1\u001b\\\u001b[32mdv1'\u001b[0m\u001b]8;;\u001b\\. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "fc2f61e62b5e4da0ac703770cbc2117c", "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": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[15:21:02] status = queued                                                                            webapi.py:271\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[15:21:02]\u001b[0m\u001b[2;36m \u001b[0mstatus = queued \u001b]8;id=370370;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=171507;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py#271\u001b\\\u001b[2m271\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[15:21:05] status = preprocess                                                                        webapi.py:265\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[15:21:05]\u001b[0m\u001b[2;36m \u001b[0mstatus = preprocess \u001b]8;id=210932;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=49009;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py#265\u001b\\\u001b[2m265\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
[15:21:09] Maximum FlexCredit cost: 0.025. Use 'web.real_cost(task_id)' to get the billed FlexCredit  webapi.py:288\n",
       "           cost after a simulation run.                                                                            \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[15:21:09]\u001b[0m\u001b[2;36m \u001b[0mMaximum FlexCredit cost: \u001b[1;36m0.025\u001b[0m. Use \u001b[32m'web.real_cost\u001b[0m\u001b[32m(\u001b[0m\u001b[32mtask_id\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m to get the billed FlexCredit \u001b]8;id=888031;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=922816;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py#288\u001b\\\u001b[2m288\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0mcost after a simulation run. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           starting up solver                                                                         webapi.py:292\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0mstarting up solver \u001b]8;id=279667;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=637073;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py#292\u001b\\\u001b[2m292\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[15:21:10] running solver                                                                             webapi.py:302\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[15:21:10]\u001b[0m\u001b[2;36m \u001b[0mrunning solver \u001b]8;id=952268;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=154415;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py#302\u001b\\\u001b[2m302\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "6aedcbe24ced41198165b15739fec488", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[15:21:22] early shutoff detected, exiting.                                                           webapi.py:316\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[15:21:22]\u001b[0m\u001b[2;36m \u001b[0mearly shutoff detected, exiting. \u001b]8;id=168094;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=255889;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py#316\u001b\\\u001b[2m316\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[15:21:23] status = postprocess                                                                       webapi.py:333\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[15:21:23]\u001b[0m\u001b[2;36m \u001b[0mstatus = postprocess \u001b]8;id=312937;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=658331;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py#333\u001b\\\u001b[2m333\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[15:21:26] status = success                                                                           webapi.py:340\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[15:21:26]\u001b[0m\u001b[2;36m \u001b[0mstatus = success \u001b]8;id=132306;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=468592;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py#340\u001b\\\u001b[2m340\u001b[0m\u001b]8;;\u001b\\\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": "44548500b02241fd8c77db92f3641c56",
       "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": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[15:21:27] loading SimulationData from data/simulation_data.hdf5                                      webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[15:21:27]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data/simulation_data.hdf5 \u001b]8;id=667161;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=886100;file://C:\\Users\\xinzhong\\anaconda3\\envs\\tidy3d_env\\lib\\site-packages\\tidy3d\\web\\webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sim_data = web.run(simulation=sim, task_name=\"taper\", path=\"data/simulation_data.hdf5\")" ] }, { "cell_type": "markdown", "id": "3bb86ac7", "metadata": {}, "source": [ "## Creating Animation " ] }, { "cell_type": "markdown", "id": "d907d1aa", "metadata": {}, "source": [ "Before creating the animation, we can inspect the field distribution at a few time instances." ] }, { "cell_type": "code", "execution_count": 8, "id": "bf93d4ee", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9gAAAHqCAYAAAD/B+b+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADAsklEQVR4nOzdd3wUZf4H8M/MJptKEgIhkQ6CAoqgIIh6oMJPOCtn5yyInHin2Dh7Ayt6omJBsZwdzoKe5c5DsaCeIipgwVPsgkAohiSkb3bm98fzPBNmspttsy35vF+vfW0yO/PMM7PlO7P7fOermaZpgoiIiIiIiIhioie7A0RERERERETtAU+wiYiIiIiIiFzAE2wiIiIiIiIiF/AEm4iIiIiIiMgFPMEmIiIiIiIicgFPsImIiIiIiIhcwBNsIiIiIiIiIhfwBJuIiIiIiIjIBTzBJiIiIiIiInIBT7ApYTRNs27z5s1LSh8uuugiqw/5+flJ6QOlvlR4rQLAZ599ZuvLkiVLktYXIurYUuFzkTGcwnHIIYdYr5OjjjoqqX0pKiqy+jJz5syk9oUShyfYKcwwDPztb39Dv379kJ2djX322Qf/+Mc/wl6+srISM2bMQElJCfLy8nDooYdi9erVrebr27evLXCq25///GfbfI8//njA+TRNQ3l5eVh9+sMf/oCnnnoKRx55ZNjb4abTTz8dTz31FH73u99F3caHH36IOXPmoLKy0r2ORWDZsmU4+OCDkZubi86dO+OEE07Azz//HPbyzz33HA444AAUFRWhS5cuGDduHP7973+3mm/z5s2YMWMG+vXrh5ycHOy+++6YNWsWfvvtt6Bt+3w+DBkyJG4HYA888ABOPPFE9O7dG5qm4cwzzwxrubPPPjviQJvs1yoA9OnTB0899RSuuuqqpPWBiKLDGO6+dI/hmzdvxhVXXIFDDz0UnTp1gqZpWL58eURtPPPMM9hvv/2QnZ2NkpISTJ8+Hdu3b7fN09ZzrWkaFi1aZM0b7PWjaRoGDhzoxmZbnn32WZx22mkYOHAgNE3DIYccEnC+r776CieeeCL69++P3NxcdO3aFWPHjsWrr74a9roGDRqEp556CpdccolLvY/OQw89hKeeeiqpfaDEy0h2Byi4q6++GrfeeivOPvts7L///nj55Zfxxz/+EZqm4ZRTTmlzWcMwcOSRR+Lzzz/HpZdeiq5du+L+++/HIYccglWrVrX60Bw+fDj++te/2qbtscceAdu+4YYb0K9fP9u0oqKisLZpn332wWmnnRbWvPEwYsQIjBgxAm+++WbAA5VwfPjhh7j++utx5plnhr3dbvnXv/6FY489Fvvttx9uvfVWVFdX4+6778bBBx+MNWvWoKSkpM3l7733XlxwwQU48sgjceutt6KhoQGPP/44jjrqKLzwwgs47rjjAAA1NTUYM2YMamtrce6556JXr174/PPPcd999+Gdd97BqlWroOutv5+79957sX79+rhsOwDcdttt2LlzJ0aNGoXNmzeHtcynn36Kxx9/HNnZ2RGtK9mvVQDo3LkzTjvtNCxfvhy33HJLUvtCRJFhDHdfusfwdevW4bbbbsPAgQMxdOhQrFixIqLlH3jgAZx77rkYP3487rzzTvz666+4++678emnn2LlypVWnBs7dmzAk7q77roLn3/+OcaPH29Nmz9/Pmpqamzz/fLLL7jmmmtw+OGHR7GVbfd/1apV2H///dv8sv6XX37Bzp07MXXqVHTv3h11dXV44YUXcMwxx+DBBx/EjBkzQq6rtLQ06TEcAE466SQA4ssh6kBMSkm//vqrmZmZaZ533nnWNMMwzN/97ndmz549zebm5jaXf/bZZ00A5vPPP29N27p1q1lUVGROmTLFNm+fPn3MI488MmSfHnvsMROA+cknn0S4NQIAc/bs2VEt67apU6eaeXl5US17++23mwDMn376yd1OhWHIkCHmgAEDzMbGRmvaZ599Zuq6bs6aNSvk8gMHDjT3339/0zAMa1pVVZWZn59vHnPMMda0RYsWmQDMf/3rX7blr7vuOhOAuXr16lZtb9myxSwsLDRvuOEGE4B5++23R7OJbfr555+tvufl5ZlTp05tc37DMMwxY8aYZ511Vtivc9NMrdeqaZrmO++80+r9TESpizE8vtI1hldXV5u//fabaZqm+fzzz5sAzHfeeSesZRsbG82ioiJz7Nixthj+6quvmgDMe+65p83l6+rqzE6dOpn/93//F3JdN954ownA/OCDD8LqW7jWr19v+v1+0zRNc6+99jLHjRsX9rLNzc3msGHDzD333DPkvOPGjYuo7UQAYPs8oPaNQ8Qdfv755zaH1STKyy+/DJ/Ph3PPPdeapmka/vKXv+DXX38N+a3nkiVLUFpaav0iCQAlJSU46aST8PLLL6OxsbHVMk1NTaitrQ2rfzt37oTf7w9za9o2Z86cgPtWDXHadfhz3759cdRRR2H58uUYOXIkcnJyMHToUGuI1YsvvoihQ4ciOzsbI0aMwJo1a1zp4659vfTSSwEA/fr1s14XkQzRjlZFRQX+97//4Q9/+AO8Xq81fdiwYRg8eDCeeeaZkG1UV1ejW7dutv1dUFCA/Px85OTk2OYDxDfAu9ptt90AwDavcsUVV2DPPfds8xvjyspKXHTRRejVqxeysrIwYMAA3HbbbTAMI2TfATFkOpL34VNPPYW1a9fi5ptvDnuZtvh8Plx//fUYOHAgsrOz0aVLFxx88MFYtmyZbb5vvvkGJ5xwAoqLi5GdnY2RI0filVdeadVeZWUlLr74YvTt2xdZWVno2bMnzjjjjFbD/YgoPIzhjOGh+pqsGA4AnTp1QnFxcVTLrl27FpWVlTj55JNt+/uoo45Cfn5+yGOAV199FTt37sSpp54acl2LFy9Gv379cOCBB9qmNzY2Yvbs2RgwYACysrLQq1cvXHbZZQFfj4H06tUr4Oi3cHg8HvTq1Svmof3PPPMMRowYgU6dOqGgoABDhw7F3XffbZsn3GMVwzBw9913W6/ZkpISTJo0CZ9++mlMfaT0xyHiDiUlJa2G1fh8Plx88cW2k5pAfD4fqqqqwlpPcXFxmx8ya9asQV5eHgYPHmybPmrUKOvxgw8+uM3l99tvv1brGDVqFB566CF8++23GDp0qDX97bffRm5uLvx+P/r06YOLL74YF154YcC2Dz30UNTU1MDr9WLixIm44447XM/Tacv333+PP/7xjzjnnHNw2mmnYd68eTj66KOxcOFCXHXVVdYBzdy5c3HSSSdh3bp1UX+gOx133HH49ttv8Y9//AN33XUXunbtCgBtDs2uq6tDXV1dyLY9Hg86d+4c9HEVwAKd3Obm5uKrr75CeXk5ysrKgrZxyCGHYMmSJbj33ntx9NFHo6GhAffeey+qqqpsz/fYsWOh6zouvPBC3HHHHejZsye++OIL3HzzzZg8eTIGDRpka/fjjz/GE088gf/+979BD2Lr6uowbtw4bNy4Eeeccw569+6NDz/8EFdeeSU2b96M+fPnt7V7IrZz505cfvnluOqqq9rcJ5GYM2cO5s6diz/96U8YNWoUqqur8emnn2L16tX4v//7PwAid+yggw5Cjx49cMUVVyAvLw/PPfccJk+ejBdeeAF/+MMfAIhh+L/73e/w9ddf46yzzsJ+++2H7du345VXXsGvv/5qvbaIKHyM4YzhbUlmDI9VW8cAOTk5WLNmDQzDCLqvFi1ahJycHNuXNoGsWbMGX3/9Na6++mrbdMMwcMwxx+C///0vZsyYgcGDB+PLL7/EXXfdhW+//RYvvfRSdBvWhtraWtTX16OqqgqvvPIK/vOf/+Dkk0+Our1ly5ZhypQpGD9+PG677TYAwNdff40PPvjAer9Ecqwyffp0PP744/j973+PP/3pT2hubsb777+Pjz76CCNHjoxp2ynNJfsn9HRw7rnnmh6Px3z77bfbnE8N4wznFmpo0pFHHmn279+/1fTa2loTgHnFFVe0uXxeXp551llntZr+73//2wRgLl261Jp29NFHm7fddpv50ksvmX//+9/N3/3udyYA87LLLrMt++yzz5pnnnmm+cQTT5j//Oc/zWuuucbMzc01u3btaq5fv77N/phm8OFls2fPNgO9FNVwtl33VZ8+fUwA5ocffmhNe/31100AZk5OjvnLL79Y0x988MGgw68SObxMbV+oW58+fdpsx+/3m0VFReb48eNt07dv327m5eWZAMxPP/20zTa2bNlijh8/3rberl272van8sgjj5hFRUW2eadOnWr6fD7bfIZhmKNGjbKGLf70008Bh4jfeOONZl5envntt9/apl9xxRWmx+MJ6zW0q1BDxC+55BKzX79+ZkNDg2ma4Q+jNM3gr9Vhw4aFbGP8+PHm0KFDrfWapthHBx54oDlw4EBrmhpu/+KLL7ZqY9fhf6bJIeJEsWAMFxjDhWTFcKdIh4hv27bN1DTNnD59um36N998Y/Vh+/btAZf97bffTK/Xa5500kkh1/PXv/7VBGD+73//s01/6qmnTF3Xzffff982feHChVENJw9niPg555xjbZuu6+YJJ5xgVlRUhGw72BDxCy+80CwoKGgzRSPcY5W3337bBGBecMEFrdpwxnDT5BDxjoa/YIfw5JNP4v7778cdd9yBQw89tM15hw0b1mqoaDChflGrr69HVlZWq+nqAhb19fWuLe8cujpt2jT8/ve/x5133onzzz8fPXv2BCAu1KAu1gAAkydPxsSJEzF27FjcfPPNWLhwYZt9csuQIUMwZswY6//Ro0cDAA477DD07t271fQff/wx6JUqE+GMM85o85cKJdC30rvSdR3nnHMObrvtNlx55ZU466yzUF1djcsuuwxNTU0AQr8ucnNzseeee6Jnz5446qijsHPnTtx111047rjj8P7772PAgAHWvD169MCoUaNwxBFHoE+fPnj//fdxzz33oGvXrrYrhD/++OP48ssvQ5aQev755/G73/0OnTt3tg2BnjBhAm699Va89957YQ1dC8e3336Lu+++G//4xz8Cvg+iVVRUhK+++grfffddwF98Kioq8Pbbb+OGG27Azp07sXPnTuuxiRMnYvbs2di4cSN69OiBF154AcOGDbN+0d5VIoeyErVnjOGM4bFyK4bHqmvXrjjppJPwxBNPYPDgwfjDH/6AjRs34vzzz0dmZiZ8Pl/Q19WSJUvQ1NQUMsYahoFnnnkG++67b6vRF88//zwGDx6MQYMG2WL4YYcdBgB45513Wg0pj9VFF12EE044AZs2bcJzzz0Hv99vHe9Eo6ioCLW1tVi2bBkmTZoUcJ5wj1VeeOEFaJqG2bNnt2qDMZx4gt2Gzz77DH/+858xZcoUzJo1K+T8nTt3xoQJE1xZd05OTsCcloaGBuvxeC2vaRouvvhivP7661i+fHmbObUHH3wwRo8ejTfffLPN/rhp1wAMAIWFhQBEbk+g6Tt27EhMx4Lo378/+vfv70pbN9xwA7Zv346//e1vuPXWWwEAhx9+OKZPn46FCxeGrAt64oknIiMjw1bq4thjj8XAgQNx9dVX49lnnwUAfPDBBzjqqKNsw5wmT56MgoICXH/99TjrrLMwZMgQVFdX48orr8Sll17aav87fffdd/jiiy+CDsXbunUrAGDbtm223MD8/PyI651eeOGFOPDAA3H88cdHtFwoN9xwA4499ljsscce2HvvvTFp0iScfvrp2GeffQCIoY+maeLaa6/FtddeG7CNrVu3okePHvjhhx9c7x8RtWAMZwx3g5sxPFYPPvgg6uvrcckll1jlp0477TTsvvvuePHFF4PGykWLFqG4uBi///3v22z/3XffxcaNG3HxxRe3euy7777D119/HTKGV1RU2E6Cc3JyrOcyUoMGDbJS0s444wwcfvjhOProo7Fy5cqoTmLPPfdcPPfcc/j973+PHj164PDDD8dJJ51kO9kO91jlhx9+QPfu3aPOqaf2jSfYQezYsQPHH3889thjDzzyyCNhLdPU1ISKioqw5i0pKYHH4wn6+G677YZ33nkHpmnaPkRUaaLu3bu32f5uu+0WsIxRuMurQBfO9vTq1Qvr1q0LOV8wwT4kg12AJdh+CzbdNM3oOuaSmpqaViUwAvF4PCHLbHm9XjzyyCO4+eab8e2336K0tBR77LEH/vjHP0LXddsv0E4//vgjli5dioceesg2vbi4GAcffDA++OADa9qDDz6I0tLSVjlExxxzDObMmYMPP/wQQ4YMwbx589DU1ISTTz7ZukjMr7/+CkC8h37++Wd0794dXq8XhmHg//7v/3DZZZcF7J8qKbP//vvjl19+sabPnj0bc+bMaXO/7Ortt9/G0qVL8eKLL9ouXNPc3Iz6+nr8/PPPKC4uRkFBQdhtKmPHjsUPP/yAl19+GW+88QYeeeQR3HXXXVi4cCH+9Kc/WRdAueSSSzBx4sSAbbT1HBGROxjDGcPd4mYMj1VhYSFefvllrF+/Hj///DP69OmDPn364MADD0RJSUnAsmPr16/H+++/jxkzZiAzM7PN9hctWgRd1zFlypRWjxmGgaFDh+LOO+8MuKx6zR133HF49913relTp07F448/Hv5GtuGEE07AOeecg2+//RZ77rlnxMt369YNn332GV5//XX85z//wX/+8x889thjOOOMM/DEE08AQNjHKkRt4Ql2AIZh4NRTT0VlZSXefPNN5ObmhrXchx9+GHIImvLTTz+hb9++QR8fPnw4HnnkEXz99dcYMmSINX3lypXW420ZPnw43n///VYXvFi5ciVyc3NDfkD8+OOPANq+8Meu88YSVNRFQSorK23BYdeTrFQS6bem8+bNw/XXXx9yvj59+oR9JdPS0lLrCt9+vx/Lly/H6NGj2/yld8uWLdb8Tj6fD83NzbZ5g80HwJp3/fr12LFjB/baa69W895yyy245ZZbsGbNGgwfPhy77747ampqQv5CtGjRItswt0h/OVB1uANdyGXjxo3o168f7rrrLlx00UURtasUFxdj2rRpmDZtGmpqajB27FjMmTMHf/rTn6y+ZmZmhtzO3XffHWvXro2qD0QUHGM4Y3hbUiGGx6p3797WSIDKykqsWrUq6Iiof/zjHzBNM+Tw8MbGRrzwwgs45JBDAn6Bs/vuu1s1tNvah3fccYdt1EGoL4MioY4Nwr0YYSBerxdHH300jj76aBiGgXPPPRcPPvggrr32WgwYMCDsY5Xdd98dr7/+OioqKvgrNrXCE+wArr/+euvbrX79+oW9nJv5W8ceeywuvvhi3H///bjvvvsAiG9xFy5ciB49etjyXDZv3oyqqirsvvvu1reTJ5xwApYsWYIXX3wRJ5xwAgBg+/bteP7553H00UdbuV0VFRUoLCy0fXPs8/lw6623wuv12g42tm3b1ioIv/baa1i1ahUuuOCCsLY7kN133x0A8N577+GYY44BIK4cqb5NTDV5eXkAEHapiHjnb82bNw+bN2/Gvffea5v+ww8/AGjZvwMGDICu63j22WdxzjnnWAHy119/xfvvv2/r4x577IE33ngDy5cvt+W+/eMf/wAA7LvvvgCACy64AJMnT7atd+vWrTjnnHNw5pln4thjj7XeQyeddBLmzJmD119/vdWvu5WVlcjPz0dGRgYOOuigqPaDcthhh+Gf//xnq+kzZsxAnz59cPXVV9uuvhuJ3377DV26dLH+z8/Px4ABA7BhwwYA4tvxQw45BA8++CDOP/98q6yZsut76Pjjj8cNN9yAf/7zn63ysJ2/ehFR+BjDGcPbkmoxPJj169ejrq6uVdUOpyuvvBLNzc0Bh3UDouRW7969Q27Da6+9hsrKyqAn4ieddBJee+01PPzww5gxY4btsfr6ehiGgby8PIwYMaLN9YRj69at6Natm22az+fDk08+iZycHNuXVpFwxnBd160UL5WSEe6xyvHHH48FCxbg+uuvb1XmizGceILt8OWXX+LGG2/E2LFjsXXrVjz99NO2x9vKZXIzf6tnz5646KKLcPvtt8Pn82H//ffHSy+9hPfffx+LFi2yBdMrr7wSTzzxhO0b9RNOOAEHHHAApk2bhv/973/o2rUr7r//fvj9fts3sa+88gpuuukmnHDCCejXrx8qKiqwePFirF27FrfccovtIOLAAw/Evvvui5EjR6KwsBCrV6/Go48+il69euGqq66KelsPP/xw9O7dG9OnT8ell14Kj8eDRx99FCUlJdavkYlw5plnttqPgajgcfXVV+OUU05BZmYmjj76aCtoO7mZv/X000/jhRdewNixY5Gfn48333wTzz33HP70pz+1+vZ6/PjxAGB9o15SUoKzzjoLjzzyCMaPH4/jjjsOO3fuxP3334/6+npceeWV1rIzZ87EY489hqOPPhrnn38++vTpg3fffRf/+Mc/8H//93/WxWf2228/7Lfffrb1qvXttddetpPvSy+9FK+88gqOOuoonHnmmRgxYgRqa2utC6T9/PPPIUtTvfrqq/j8888BiGD7xRdf4KabbgIghq/vs88+tm/2d3XRRRehtLS01RcCkRgyZAgOOeQQjBgxAsXFxfj000+xZMkSzJw505pnwYIFOPjggzF06FCcffbZ6N+/P7Zs2YIVK1bg119/tfp/6aWXYsmSJTjxxBNx1llnYcSIEaioqMArr7yChQsXYtiwYVH3k6ijYgxnDE/lGA7AillfffUVAOCpp57Cf//7XwDANddcY813xhln4N1337UNkb/11luxdu1ajB49GhkZGXjppZfwxhtv4KabbsL+++/fal1r167FF198gSuuuCLkCd+iRYuQlZUV9Jfw008/Hc899xz+/Oc/45133sFBBx0Ev9+Pb775Bs899xxef/31kKWp3nvvPbz33nsAxBc+tbW11v4YO3Ysxo4dCwA455xzUF1djbFjx6JHjx4oLy/HokWL8M033+COO+6I+Losyp/+9CdUVFTgsMMOQ8+ePfHLL7/g3nvvxfDhw62LuoV7rHLooYfi9NNPxz333IPvvvsOkyZNgmEYeP/993HooYfajguoA0rS1ctTVqgyHYnk9/vNW265xezTp4/p9XrNvfbay3z66adbzTd16tSAJScqKirM6dOnm126dDFzc3PNcePGmZ988oltnk8//dQ8+uijzR49epher9fMz883Dz74YPO5555rtZ6rr77aHD58uFlYWGhmZmaavXv3Nv/yl7+Y5eXlYW0PgpT4ME3TXLVqlTl69GjT6/WavXv3Nu+8886gJT4ClUlCgPIHwcpFmWbgEh/HH3+8mZOTY+7YsSPkttx4441mjx49TF3XIyr3EauVK1eaY8eONTt37mxmZ2ebw4YNMxcuXBiwJESfPn1alQ3x+Xzmvffeaw4fPtzMz8838/PzzUMPPTRg+ZpvvvnGPOGEE8xevXqZmZmZZp8+fcxLLrnErK2tbbOPbe33nTt3mldeeaU5YMAA0+v1ml27djUPPPBAc968eWZTU1PI7Vev9UC3xx57rM1l3SjTddNNN5mjRo0yi4qKzJycHHPQoEHmzTff3KrvP/zwg3nGGWeYZWVlZmZmptmjRw/zqKOOMpcsWWKb77fffjNnzpxpvf969uxpTp06tVWpFZbpIgoPYzhjeCrHcNM0w359jhs3rtW0f/3rX+aoUaPMTp06mbm5ueYBBxwQ8LlWrrjiChOA+cUXX7TZp6qqKjM7O9s87rjj2pyvqanJvO2228y99trLzMrKMjt37myOGDHCvP76682qqqoQW952ybNdX1v/+Mc/zAkTJpilpaVmRkaG2blzZ3PChAnmyy+/HHIdphm8TNeSJUvMww8/3OzWrZv1Wj3nnHPMzZs32+YL91ilubnZvP32281BgwaZXq/XLCkpMX//+9+bq1atarXuQK9xar8000zy1SOow9A0DZdeeikuu+wy5OXlxb2kRSC1tbWor6/H+eefj1dffdV24ZLS0lKcccYZuP322xPeL0otqfBaBUS+/I4dO/DBBx9g8uTJeP75563hokREiZQKn4uM4RSOQw45BD6fDy+//DK8Xm9UFzV1S0VFBQzDQElJCc477zwrZYTaNz30LETuuf3221FSUoIFCxYkZf1XX301SkpK8Mwzz9imf/XVV6ivr8fll1+elH5R6kn2axUQw11LSkpiGtZOROSWZH8uMoZTuD788EOUlJTgj3/8Y1L70b9//7hfXZ5SD3/BpoTZtc7mHnvsETBPNt6+/fZbKycsIyPDdgEvIiUVXquAKA/z0UcfWf/vs88+rS78QkSUCKnwucgYTuFYtWqVdSXzkpKSpF7T5N1337UqsPTq1Suq8mKUfniCTUREREREROQCDhEnIiIiIiIicgFPsImIiIiIiIhcwBNsIiIiIiIiIhdkJLsDiWQYBjZt2oROnTpB07Rkd4eIKC5M08TOnTvRvXt36Lo736M2NDSgqanJlbYAwOv1Ijs727X2qP1jDCeijoAxPP11qBPsTZs2oVevXsnuBhFRQmzYsAE9e/aMuZ2GhgZ0yclHHfwu9EooKyvDTz/9xABNYWMMJ6KOhDE8fXWoE+xOnToBAL7/7jvrbyKi9mbnzp0YMHCga59zTU1NqIMfp6IHvC5kFjXBwKLyjWhqamJwprAxhhNRR8AYnv461Am2GlLWqVMnFBQUJLk3RETx5fYw2hzo8GqxB2cPi0NSFBjDiagjYQxPXx3qBJuIiKLn0TR4XAj4HmgAAzQREVHCMIYnDq8iTkREREREROQC/oJNRERh0TXA48KINR3gt99EREQJxBie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B4sWLcKpp56akH4whhMREbWIR3yO+CuIE088EW+88UbEKyIiovRmappVRzO2W7p97R+7iooK9O/fH4DI51JlPw4++GC89957CesHYzgRUcfEGB5YPOJzxL9gDxgwANdeey0++ugjDB06FJmZmbbHL7jggqg6kmjxfnGY1vgse5kude8sm6XmN60h5Y725ARVrss51FsNp/IHGRcWqryX1U6E465DjUh3jRoaHsawlLCHxoVLrTPC4fLpLtllwsItQeVGP9wqdxVtXxJebosSrn///vjpp5/Qu3dvDBo0CM899xxGjRqFV199FUVFRQnrR3uI4aamtXrPxKtcYtxYMU2UlnJ2I2G9kv3QraG0crKphsDae6KGaltT5fBe6xjE8byoxTW/GMZsqCHicjnreZTzqWHdqsSTdUyihqL75MWHdjkG0mSZLq+nGEBLCaYGedyjymh1UWW6CjvJPsh93yz61DlbvBdKCkS5rnxvhm2b9fwiAEBemWjH07nEts3F+WLI9ECI9neXQ5u1ynViPp8Y0pzTTbST2XcwAODHHaL/FRX1slui/93yRD+afxTlsap+qZK7Qjyuy+1ZL4dkV8t21PFk785i/cZPHwIAfnlPDBXfViW2d6jcf1tqRb8+/lwMZd/yoxjC/UV3sR3m6O5i/d+L6b9+JNrxdhJD3csOFUO/VZk0VVqtqdlRjrZODIFvrBT3GbL8l5Ep+rlN9uOrreJxVW6tZ6GYT2sUZcSM9aIcmRpynlHaW+yPPvsAAOo9hdY6K+Wwc3VcmCNrshVkib7m67IEbaNYp9YsX1/q9ZYp++gV29po6nIb7dum3g9e+dxlOF73rfIn5WvPVOXnklV6kwDEJz5HfIL90EMPIT8/H++++y7effdd22OapqVFcCYioigwfytq06ZNw+eff45x48bhiiuuwNFHH4377rsPPp8Pd955Z8L6wRhORNRBMYYHFI/4HPEJ9k8//RTVioiIKM1pmjtXdWlnw8vCcfHFF1t/T5gwAd988w1WrVqFAQMGYJ999klYPxjDiYg6KMbwgOIRn6Oqg62YciiDcwgRERERtdiwYQN69epl/d+nTx/06dMniT1iDCciIopHfI7qN/4nn3wSQ4cORU5ODnJycrDPPvvgqaeeiqkj4VqwYAH69u2L7OxsjB49Gh9//HFC1hsrv2kGLNFlmGbQElmJ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YbjrTdfnioLjCTYREYXFbxrwG4Yr7RAREVHiMIYnDi9yRkREREREROQC/oJNRERhMVzK3zKYv0VERJRQjOGJwxNsIiIKi98wofMCKURERGmHMTxxOESciIjajYqKCpx66qkoKChAUVERpk+fjpqamjaXaWhowHnnnYcuXbogPz8fxx9/PLZs2RJw3t9++w09e/aEpmmorKyMwxYQERFROuMJNhERhaXZAJoN04Vb/Pp46qmn4quvvsKyZcvwr3/9C++99x5mzJjR5jIXX3wxXn31VTz//PN49913sWnTJhx33HEB550+fTr22WefeHSdiIgobtIhhrcXHCJORERhSfXhZV9//TWWLl2KTz75BCNHjgQA3HvvvTjiiCMwb948dO/evdUyVVVV+Pvf/47FixfjsMMOAwA89thjGDx4MD766CMccMAB1rwPPPAAKisrcd111+E///lPXLaBiIgoHlI9hrcn/AU7BFPTXK1P53Z7qU4zTdb0JQDxfy10tPcWtbZixQoUFRVZJ9cAMGHCBOi6jpUrVwZcZtWqVfD5fJgwYYI1bdCgQejduzdWrFhhTfvf//6HG264AU8++SR0naEzmVLpfa4+11L15jb1ORvqFis3t8OtvsV73zrXE6l4PwfRvsZC9ScR/Q5XrH1J1GuEUh9/wSYiorC4/e13dXW1bXpWVhaysrKibre8vBzdunWzTcvIyEBxcTHKy8uDLuP1elFUVGSbXlpaai3T2NiIKVOm4Pbbb0fv3r3x448/Rt1HIiKiZOAv2InDr+GJiCgsflniw40bAPTq1QuFhYXWbe7cuQHXe8UVV0DTtDZv33zzTdy2+8orr8TgwYNx2mmnxW0dRERE8eR2DKfg+As2ERElxYYNG1BQUGD9H+zX67/+9a8488wz22yrf//+KCsrw9atW23Tm5ubUVFRgbKysoDLlZWVoampCZWVlbZfsbds2WIt8/bbb+PLL7/EkiVLAACmHPrXtWtXXH311bj++uvb7BsRERF1HDzBJiKisBgufXNtyDYKCgpsJ9jBlJSUoKSkJOR8Y8aMQWVlJVatWoURI0YAECfHhmFg9OjRAZcZMWIEMjMz8dZbb+H4448HAKxbtw7r16/HmDFjAAAvvPAC6uvrrWU++eQTnHXWWXj//fex++67h+wXERFRsrkdwyk4nmATEVG7MHjwYEyaNAlnn302Fi5cCJ/Ph5kzZ+KUU06xriC+ceNGjB8/Hk8++SRGjRqFwsJCTJ8+HbNmzUJxcTEKCgpw/vnnY8yYMdYVxJ0n0du3b7fW58zdJiIioo6NJ9hERBQWv2FCS/ELpCxatAgzZ87E+PHjoes6jj/+eNxzzz3W4z6fD+vWrUNdXZ017a677rLmbWxsxMSJE3H//ffHrY9ERESJlg4xvL3gCTYREYXFNE2YLgRWM47lS4qLi7F48eKgj/ft27fV+rOzs7FgwQIsWLAgrHUccsghcd0GIiIit6VDDG8veBVxIiIiIiIiIhfwF+wwqYLz4RaODzafmh6sgH2khemDtRNpv9wW7Xoi3Z5krzMW6dbfZK03kWJ9f7T3fWQYpisXN+EFUihWqRr70lW6xcFA3N4Gt18zofoX7+M/t9brNuf6k/HejnZfun0cF+/3IWN44vAEm4iIwmKapitDwzi8jIiIKLEYwxOHQ8SJiIiIiIiIXMBfsImIKCym4dIFUji8jIiIKKEYwxOHJ9hERBQW5m8RERGlJ8bwxOEQcSIiIiIiIiIX8BdsIiIKi2mImxvtEBERUeIwhicOf8EmIiIiIiIicgF/wSYiorCwxAcREVF6YgxPHJ5gR8hZBD7aIvPRLhetaNcXadH7RK3HjXXGKlnrjVa69Tdcsbx2Uk2qP0e8QAqlgmjeJ7F+TqT6ezOUZH9Our3/4rE9bvUx2r6p5YL1I9Vew/F6TSXivRZt35NxjOsmxvDE4RBxIiIiIiIiIhfwF2wiIgoLa2gSERGlJ8bwxOEJNhERhcel4AwGZyIiosRiDE8YDhEnIiIiIiIicgF/wSYiorAYpunKBWiMNL9gFBERUbphDE8c/oJNRERERERE5AL+gk1ERGExTZcukMJvv4mIiBKKMTxxeIJNRERh4RVIiYiI0hNjeOJ0+BNslYsQbRF4tZwbOQ3RrDeUaPsV6f5I1HrcFO26Y32u021fxbreeL033NwfsfYxma9jIoo/vsftUvWYJxxu9d2tPoXqT7KOVZK9/lR4zyX6eC3R7yuKnw5/gk1EROExDEBz4Ztrw3ChM0RERBQ2xvDE4Qk2ERGFxTRNV3KvmL9FRESUWIzhicOriBMRERERERG5gL9gExFRWExD3Nxoh4iIiBKHMTxxeIJNRERhMQzTpfwtDi8jIiJKJMbwxOEQcSIiIiIiIkqqiooKnHrqqSgoKEBRURGmT5+OmpqaNuc///zzseeeeyInJwe9e/fGBRdcgKqqqgT2ujX+gk1ERGFhDU0iIqL0lA4x/NRTT8XmzZuxbNky+Hw+TJs2DTNmzMDixYsDzr9p0yZs2rQJ8+bNw5AhQ/DLL7/gz3/+MzZt2oQlS5bErZ+hdNgTbGetuWC158KtZRdsvnSpeZzomn1ubB/rE4YnXfvdkfA5IopMpO+ZVKipmw6S/VmUivWulVj7Fu/XbLLrXrvVj1R+DQST7H3WXnz99ddYunQpPvnkE4wcORIAcO+99+KII47AvHnz0L1791bL7L333njhhRes/3fffXfcfPPNOO2009Dc3IyMjOSc6nKIOBERhUV9++3GjYiIiBIn1WP4ihUrUFRUZJ1cA8CECROg6zpWrlwZdjtVVVUoKChI2sk10IF/wSYiosgYpunKN+0Gv60nIiJKKLdjeHV1tW16VlYWsrKyom63vLwc3bp1s03LyMhAcXExysvLw2pj+/btuPHGGzFjxv+3d//BUdT3H8dfl4RcQJLQQMiRJjGgIgk/lUiM6YzYoFEZR0dGSgUHhNKxJC2/tFIEoQoEUCwGEYuDP2oJ/miLSgtMGYQoCATCj+oU0CoZIhJACSRAgXC33z/8ctODJFzI3u5t8nzM3Ay3t7uf917u7sVnf3z2l1ddhxk4gg0AAAAACFpqaqri4+P9j6KionrnmzJlilwuV6OPffv2NbuempoaDR48WJmZmZo5c2az19ccHMEGAATFCQOkAACAy5md4ZWVlYqLi/NPb+jo9eTJkzVq1KhG19mtWzd5PB4dPXo0YPqFCxd0/PhxeTyeRpevra3V3XffrdjYWK1cuVJt2rQJYktChw42ACAohmFSOHOKOAAAljI7w+Pi4gI62A1JTExUYmLiFefLycnRiRMnVF5erv79+0uSPvroI/l8PmVnZze4XE1NjfLz8+V2u/Xhhx8qJiYmyC0JHU4RBwAAAADYJiMjQ3fffbfGjh2rsrIybd68WYWFhRo2bJh/BPFDhw6pR48eKisrk/RD5/quu+7S6dOntWzZMtXU1KiqqkpVVVXyer22bQtHsAEAQTF8hnycIg4AgOM4IcOXL1+uwsJC5eXlKSIiQkOGDFFxcbH/9bq6Ou3fv19nzpyRJO3cudM/wvj1118fsK4DBw4oPT09ZLU2xnEd7HPnzik7O1t79uzRrl271K9fP7tLAoBWwTAMU07v5hTx1osMBwB7OCHDExISVFJS0uDr6enpAe0PHDgwLP9P4bgO9m9/+1slJydrz549lrR36XD2Tb2ZfHNvPm+25tbT3OH9r7Z9M24rYPXf4tL2rnYb7HrP7P6sNMTMv6Pd7xHQ2lid4Re19u96qH6PmyqU76NZ22hX9lmd9Wb9Lez+blnx2Q7V5zZcvpcwn6OuwV6zZo3++c9/6vnnn7e7FABodS6OQGrGA60PGQ4A9iHDreOYI9hHjhzR2LFj9f7776tdu3Z2lwMAAIJEhgMAWgtHdLANw9CoUaP02GOPKSsrSxUVFUEtd+7cOZ07d87/vKamJkQVAkDL5/MZkgl7rs0YZAXOQYYDgP3IcOvYeor4lClT5HK5Gn3s27dPixYtUm1trX73u981af1FRUWKj4/3P1JTU0O0JQDQ8hk+r2kPOB8ZDgDOQYZbx2XYOPTasWPH9P333zc6T7du3TR06FCtWrVKrv8ZZMDr9SoyMlLDhw/Xm2++We+y9e39Tk1N1ZGqqqBujF4fpw100txB2q60vqZy8iBnTa2BQc4Y5MyqOi5VU1OjJI9HJ0+evOrfukvXFx8fr9RHXlNEdPNP7/WdP6PKt0abVh/s4cQMv1pOy/5LhctgSgxyZn67DHLW8gY5I8Odz9ZTxBMTE5WYmHjF+YqLizVr1iz/82+//Vb5+fl65513lJ2d3eBybrdbbrfblFoBoLUza881e79bBjIcAJyDDLeOI67BTktLC3jevn17SdJ1112nlJQUO0oCgFbH8PlMCmefCdXAKchwALAfGW4dR92mCwAAAACAcOWII9iXSk9Pl12Xjpt9TXOo2X1ti93th0MNdl8fZXW7Trj2OlyEy3WRwTK8XhleE/Z+m7AOOJedGX61nPZdDTW7f4/D4f8GF9mV8U5rN1zab4zV11pbjQy3DkewAQAAAAAwAR1sAEBQDMOkW3wYodv7ffz4cQ0fPlxxcXHq0KGDxowZo1OnTjW6zNmzZ1VQUKCOHTuqffv2GjJkiI4cOXLZfG+88Yb69OmjmJgYde7cWQUFBaHaDAAATOWEDG8pHHmKOADAek4YgXT48OE6fPiw1q1bp7q6Oj366KP65S9/qZKSkgaXmThxov7xj3/ovffeU3x8vAoLC/Xggw9q8+bN/nleeOEFLViwQM8995yys7N1+vRpVVRUhGw7AAAwkxMyvKWggw0AaBH27t2rtWvXavv27crKypIkLVq0SPfee6+ef/55JScnX7bMyZMntWzZMpWUlOinP/2pJOn1119XRkaGtm7dqltvvVXV1dWaNm2aVq1apby8PP+yffr0sWbDAACAY3CKOAAgKKacWmbSHvT6bNmyRR06dPB3riVp0KBBioiI0LZt2+pdpry8XHV1dRo0aJB/Wo8ePZSWlqYtW7ZIktatWyefz6dDhw4pIyNDKSkpGjp0qCorK0OyHQAAmC3cM7wl4Qg2ACAoZp9eVlNTEzDd7XbL7XZf9XqrqqrUuXPngGlRUVFKSEhQVVVVg8tER0erQ4cOAdOTkpL8y3z99dfy+XyaM2eOXnzxRcXHx2vatGm688479a9//UvR0dFXXTMAAFbgFHHrcAQbAGCL1NRUxcfH+x9FRUX1zjdlyhS5XK5GH/v27QtZnT6fT3V1dSouLlZ+fr5uvfVWrVixQl9++aU2bNgQsnYBAIDzcAQbABAUw+czae+3T5JUWVmpuLg4//SGjl5PnjxZo0aNanSd3bp1k8fj0dGjRwOmX7hwQcePH5fH46l3OY/Ho/Pnz+vEiRMBR7GPHDniX6ZLly6SpMzMTP/riYmJ6tSpkw4ePNhoXQAAhAOzMxwNo4PdSoTLTe5bk9b6nhsul6TWu/0tmc/nlUwIZ9//ryMuLi6gg92QxMREJSYmXnG+nJwcnThxQuXl5erfv78k6aOPPpLP51N2dna9y/Tv319t2rTR+vXrNWTIEEnS/v37dfDgQeXk5EiScnNz/dNTUlIk/XA7sO+++07XXnvtFetC6PB7Y62L77fd6qujqZ+Bi/M3dZuu9rPW3PeuuZ9xu/92ZrVv5nfe7r+J1czOcDSMU8QBAC1CRkaG7r77bo0dO1ZlZWXavHmzCgsLNWzYMP8I4ocOHVKPHj1UVlYmSYqPj9eYMWM0adIkbdiwQeXl5Xr00UeVk5OjW2+9VZLUvXt33X///Ro/frw+/fRTff755xo5cqR69OihO+64w7btBQAA4Ycj2ACAoDhhgJTly5ersLBQeXl5ioiI0JAhQ1RcXOx/va6uTvv379eZM2f80/7whz/45z137pzy8/P18ssvB6z3T3/6kyZOnKjBgwcrIiJCt99+u9auXas2bdqEbFsAADCLEzK8paCDDQBoMRISElRSUtLg6+np6TIuOa0vJiZGixcv1uLFixtcLi4uTsuWLdOyZctMqxUAALQ8dLABAEFh7zcAAM5EhluHDjYAIDher4wIE4LVSzgDAGApMtwyDHIGAAAAAIAJOIINAAiKYZhziw/DYO83AABWIsOtQwe7mZx2DzyrhcP7Ew41XI3m3mvzau8Vada9Ni+9v2Rz1xuKe142936aZr1XTvmMGj6fOeHs85lQDeCc705L0RLfb6u2Kdh2Gro3c6jyyqr7Y5v1Pjf0f4yradusv8nVrtdqZLh1OEUcAAAAAAATcAQbABAUw2fS6WWMQAoAgKXIcOtwBBsAAAAAABNwBBsAEJQfrt9q/rVXXL8FAIC1yHDr0MEGAASF08sAAHAmMtw6nCIOAAAAAIAJOIINAAgKe78BAHAmMtw6dLABAEHx+bxyEc4AADgOGW4dOthAC+MyjFbdfmPCrbZwqwcAYC+rc8FpOWRHvU57j2A/OtgAgKAYXp/kMmHvt5cRSAEAsBIZbh062ACAoBiGSddvGZxeBgCAlchw6zCKOAAAAAAAJuAINgAgKIbPa87pZQyQAgCApchw63AEGwAAAAAAE3AEGwAQFPZ+AwDgTGS4dehgAwCCQjgDAOBMZLh1WlUH2/j/+9jV1tbaXAkAhM7F3zjD7Ht3eutkyhq9dWasBa0MGQ6gNSDDna9VdbAvfmCvv+EGmysBgNCrra1VfHx8s9cTHR0tj8ejqn+/a0JVP/B4PIqOjjZtfWj5yHAArQkZ7lwuw/TdI+HL5/Pp22+/VWxsrFwul93lXFFNTY1SU1NVWVmpuLg4u8sJmhPrpmZrOLFmyXl1G4ah2tpaJScnKyLCnLEsz549q/Pnz5uyLumHwI+JiTFtfWj5yPDQc2LNkjPrpmbrOK1uMtz5WtUR7IiICKWkpNhdRpPFxcU54gfhUk6sm5qt4cSaJWfVbcZe7/8VExNDmMJWZLh1nFiz5My6qdk6TqqbDHc2btMFAAAAAIAJ6GADAAAAAGACOthhzO12a8aMGXK73XaX0iROrJuareHEmiXn1g3APk783XBizZIz66Zm6zi1bjhXqxrkDAAAAACAUOEINgAAAAAAJqCDDQAAAACACehgAwAAAABgAjrYYWzx4sVKT09XTEyMsrOzVVZWZndJDSoqKtItt9yi2NhYde7cWQ888ID2799vd1lNMnfuXLlcLk2YMMHuUq7o0KFDGjFihDp27Ki2bduqd+/e2rFjh91lNcjr9Wr69Onq2rWr2rZtq+uuu07PPvuswm0IiI8//lj33XefkpOT5XK59P777we8bhiGnn76aXXp0kVt27bVoEGD9OWXX9pTLICwRoZbiwwPHSdkOPmNcEIHO0y98847mjRpkmbMmKGdO3eqb9++ys/P19GjR+0urV6lpaUqKCjQ1q1btW7dOtXV1emuu+7S6dOn7S4tKNu3b9cf//hH9enTx+5Srqi6ulq5ublq06aN1qxZo3//+99asGCBfvSjH9ldWoPmzZunJUuW6KWXXtLevXs1b948zZ8/X4sWLbK7tACnT59W3759tXjx4npfnz9/voqLi/XKK69o27Ztuuaaa5Sfn6+zZ89aXCmAcEaGW4sMDy0nZDj5jbBiICwNGDDAKCgo8D/3er1GcnKyUVRUZGNVwTt69KghySgtLbW7lCuqra01brjhBmPdunXG7bffbowfP97ukhr15JNPGj/5yU/sLqNJBg8ebIwePTpg2oMPPmgMHz7cpoquTJKxcuVK/3Ofz2d4PB7jueee8087ceKE4Xa7jRUrVthQIYBwRYZbhwwPPadlOPkNu3EEOwydP39e5eXlGjRokH9aRESEBg0apC1btthYWfBOnjwpSUpISLC5kisrKCjQ4MGDA97vcPbhhx8qKytLDz30kDp37qybbrpJr776qt1lNeq2227T+vXr9cUXX0iS9uzZo02bNumee+6xubLgHThwQFVVVQGfk/j4eGVnZzvmewkg9Mhwa5Hhoef0DCe/YbUouwvA5b777jt5vV4lJSUFTE9KStK+fftsqip4Pp9PEyZMUG5urnr16mV3OY16++23tXPnTm3fvt3uUoL29ddfa8mSJZo0aZKmTp2q7du36ze/+Y2io6M1cuRIu8ur15QpU1RTU6MePXooMjJSXq9Xs2fP1vDhw+0uLWhVVVWSVO/38uJrAECGW4cMt4bTM5z8htXoYMN0BQUF+vzzz7Vp0ya7S2lUZWWlxo8fr3Xr1ikmJsbucoLm8/mUlZWlOXPmSJJuuukmff7553rllVfCNpzfffddLV++XCUlJerZs6d2796tCRMmKDk5OWxrBoDWiAwPLTIcaPk4RTwMderUSZGRkTpy5EjA9CNHjsjj8dhUVXAKCwv1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tr766it9++238vl8qqioCHl7kZGRWrdundasWaPMzEwtWrRIN954ow4cOBDyttu0aRPw3OVyyefzNWkdERERl50KV1dXF1RbZrQPAMBFZDgZDrRWdLARls6fP68RI0boZz/7mZ599ln94he/CGpv7NatW/3/vnDhgsrLy5WRkSFJysjI0JYtWwICbPPmzYqNjVVKSoqkH0IpNzdXv//977Vr1y5FR0dr5cqV9bYVHR0dsAe7PhkZGdq8eXPAtM2bN6t79+6KjIy84vY0RWJiompra/0Dukiy5P6aAAD8LzK86chwoOWgg42w9NRTT+nkyZMqLi7Wk08+qe7du2v06NFXXG7x4sVauXKl9u3bp4KCAlVXV/uXGzdunCorK/XrX/9a+/bt0wcffKAZM2Zo0qRJioiI0LZt2zRnzhzt2LFDBw8e1N/+9jcdO3bMH+6XSk9P17Zt21RRUaHvvvuu3r3FkydP1vr16/Xss8/qiy++0JtvvqmXXnpJjz/+ePPeoHpkZ2erXbt2mjp1qr766iuVlJRcNhALAAChRoY3HRkOtBx0sBF2Nm7cqIULF+qtt95SXFycIiIi9NZbb+mTTz7RkiVLGl127ty5mjt3rvr27atNmzbpww8/VKdOnSRJP/7xj7V69WqVlZWpb9++euyxxzRmzBhNmzZNkhQXF6ePP/5Y9957r7p3765p06ZpwYIFuueee+pt6/HHH1dkZKQyMzOVmJiogwcPXjbPzTffrHfffVdvv/22evXqpaefflrPPPOMRo0a1bw3qR4JCQn685//rNWrV6t3795asWKFZs6caXo7AAA0hAy/OmQ40HK4jEsv+AAcqKKiQl27dtWuXbvUr18/u8sJuYEDB6pfv35auHChZW1u3LhRd9xxh6qrqy+7VycAAFeLDA89MhywDkewAYd6+eWX1b59e3322Wchb6tnz54NHgUAAABNQ4YDLVeU3QUAaLrly5frv//9ryQpLS0t5O2tXr3aP5ppXFxcyNsDAKClIsOBlo1TxAEAAAAAMAGniAMAAAAAYAI62AAAAAAAmIAONgAAAAAAJqCDDQAAAACACehgAwAAAABgAjrYAAAAAACYgA42AAAAAAAmoIMNAAAAAIAJ6GADAAAAAGCC/wNv6KTOinOqFQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1,2, figsize=(10,5), tight_layout=True)\n", "\n", "sim_data['movie_monitor'].Hz.sel(t=1e-13, method='nearest').plot(x='x', y='y', ax=ax[0])\n", "\n", "sim_data['movie_monitor'].Hz.sel(t=2e-13, method='nearest').plot(x='x', y='y', ax=ax[1])\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "498a0b61", "metadata": {}, "source": [ "To create an animation, we need to define a function that plots each frame. Then we use `matplotlib`'s `FuncAnimation` to create the animation. For this particular animation, we use 50 frames. For detail on `FuncAnimation`, please reference the [documentation](https://matplotlib.org/stable/api/_as_gen/matplotlib.animation.FuncAnimation.html).\n", "\n", "After the animation is created, we can display it directly in the notebook environment by using `HTML`. Here we see the incident pulse from the wider waveguide is squeezed into the narrower waveguide through the taper. Some field is reflected back or leaked out of the waveguide, leading to some insertion loss, which can be minimized by using a longer taper. " ] }, { "cell_type": "code", "execution_count": 9, "id": "56a8024b", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
\n", "
\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_end = sim_data['movie_monitor'].Hz.coords['t'][-1] # end time of the animation\n", "frames = 50 # number of frames\n", "\n", "fig, ax = plt.subplots()\n", "\n", "def animate(i):\n", " t = t_end*i/frames # time at each frame\n", " sim_data['movie_monitor'].Hz.sel(t=t, method='nearest').plot(x='x', y='y', ax=ax, vmin=-0.1, vmax=0.1, add_colorbar=False, cmap='seismic')\n", "\n", "# create animation\n", "ani = animation.FuncAnimation(fig, animate, frames=frames);\n", "plt.close()\n", "\n", "# display the animation\n", "HTML(ani.to_jshtml())\n" ] }, { "cell_type": "code", "execution_count": null, "id": "e1018b96", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.0" } }, "nbformat": 4, "nbformat_minor": 5 }