{ "cells": [ { "cell_type": "markdown", "id": "0667fa3c", "metadata": {}, "source": [ "## Importing custom source data\n", "\n", "In this example we illustrate how to incorporate a source with a custom spatial dependence in a Tidy3D simulation. We will illustrate this both using data taken from a monitor from another Tidy3D simulation and using a simple array defined from scratch." ] }, { "cell_type": "code", "execution_count": 1, "id": "590771ce", "metadata": { "execution": { "iopub.execute_input": "2023-03-27T20:46:09.985645Z", "iopub.status.busy": "2023-03-27T20:46:09.985379Z", "iopub.status.idle": "2023-03-27T20:46:11.180300Z", "shell.execute_reply": "2023-03-27T20:46:11.179724Z" } }, "outputs": [], "source": [ "# standard python imports\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# tidy3D import\n", "import tidy3d as td\n", "from tidy3d import web\n" ] }, { "cell_type": "markdown", "id": "2f985512", "metadata": {}, "source": [ "### Starting simulation with an in-built source\n", "\n", "We will first run a simulation with a [GaussianBeam](../_autosummary/tidy3d.GaussianBeam.html) source propagating in empty space. The definition of the source below is for a converging Gaussian beam (negative `waist_distance` parameter)." ] }, { "cell_type": "code", "execution_count": 2, "id": "cdd2a272", "metadata": { "execution": { "iopub.execute_input": "2023-03-27T20:46:11.182825Z", "iopub.status.busy": "2023-03-27T20:46:11.182490Z", "iopub.status.idle": "2023-03-27T20:46:11.201846Z", "shell.execute_reply": "2023-03-27T20:46:11.201288Z" } }, "outputs": [], "source": [ "# Free-space wavelength (in um) and frequency (in Hz)\n", "lambda0 = 1.55\n", "freq0 = td.C_0 / lambda0\n", "fwidth = freq0 / 10\n", "\n", "# Simulation size and run time\n", "sim_size = [10, 10, 10]\n", "run_time = 20 / fwidth\n", "\n", "# Grid specification\n", "grid_spec = td.GridSpec.auto(wavelength=lambda0)\n", "\n", "# In-built GaussianBeam source\n", "pulse = td.GaussianPulse(freq0=freq0, fwidth=fwidth)\n", "waist_radius = 2\n", "src_pos = -4\n", "gaussian_source = td.GaussianBeam(\n", " source_time=pulse,\n", " center=(src_pos, 0, 0),\n", " size=(0, 10, 10),\n", " waist_radius=waist_radius,\n", " waist_distance=-8,\n", " direction=\"+\",\n", ")\n" ] }, { "cell_type": "markdown", "id": "635a5b42", "metadata": {}, "source": [ "We will use monitors to record the fields at the beam waist along the propagation direction, and inject those in another simulation using a [CustomFieldSource](../_autosummary/tidy3d.CustomFieldSource.html). The best way to achieve this is to use a monitor with a slightly nonzero size in the propagation direction. This is because of the details associated with the Yee grid used in the FDTD algorithm. A monitor with a zero size will interpolate the fields to the exact monitor location along the zero-size dimension, which loses a bit of information related to the numerical grid. On the other hand, a monitor with a small but nonzero size along the propagation direction will store the fields exactly as they are in the simulation. We will illustrate the difference in the results below." ] }, { "cell_type": "code", "execution_count": 3, "id": "d21c681b", "metadata": { "execution": { "iopub.execute_input": "2023-03-27T20:46:11.203950Z", "iopub.status.busy": "2023-03-27T20:46:11.203783Z", "iopub.status.idle": "2023-03-27T20:46:11.223801Z", "shell.execute_reply": "2023-03-27T20:46:11.223193Z" } }, "outputs": [], "source": [ "# Monitor for propagation\n", "mnt_xy = td.FieldMonitor(\n", " center=(0, 0, 0), size=(10, 10, 0), freqs=[freq0], name=\"field_xy\"\n", ")\n", "\n", "# Monitors for forward and backward flux\n", "mnt_flux_pos = src_pos - 0.5\n", "mnt_flux_f = td.FluxMonitor(\n", " center=(-mnt_flux_pos, 0, 0), size=(0, td.inf, td.inf), freqs=[freq0], name=\"flux_f\"\n", ")\n", "mnt_flux_b = td.FluxMonitor(\n", " center=(mnt_flux_pos, 0, 0), size=(0, td.inf, td.inf), freqs=[freq0], name=\"flux_b\"\n", ")\n", "\n", "# Monitor to be used as custom source, 0D along x\n", "mnt_yz_1 = td.FieldMonitor(\n", " center=(-src_pos, 0, 0), size=(0, 8, 8), freqs=[freq0], name=\"yz_zero_size_x\"\n", ")\n", "\n", "# Monitor to be used as custom source, small nonzero along x\n", "mnt_yz_2 = td.FieldMonitor(\n", " center=(-src_pos, 0, 0), size=(1e-5, 8, 8), freqs=[freq0], name=\"yz_nonzero_size_x\"\n", ")\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "9773710c", "metadata": { "execution": { "iopub.execute_input": "2023-03-27T20:46:11.225715Z", "iopub.status.busy": "2023-03-27T20:46:11.225549Z", "iopub.status.idle": "2023-03-27T20:46:11.544093Z", "shell.execute_reply": "2023-03-27T20:46:11.543605Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcYAAAHWCAYAAADttCmyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABswElEQVR4nO29eZxcZZn3/Tun1k51VbpT3YEOiYEENSBgIAn4sgwyZEAHF0ZFR5EBZIJgUDA8o+SBFwQdMgoqIyqI8wg+iBLRkXFABWQRRdkZXtYAAhqyV/VS1Z2u9dzvH8WprWs5y32WTv2+n09/oCu13N3Xua9vn3Pu+7oUIYQAIYQQQgAAqtcDIIQQQvwExUgIIYTUQTESQgghdVCMhBBCSB0UIyGEEFIHxUgIIYTUQTESQgghdVCMhBBCSB0UIyGEEFIHxUjILOWBBx6Aoih44IEHvB4KIXsUFCMhPue73/0ubrrpJq+HYYkf//jHuOaaa7weBgBA0zR87Wtfw3777YdoNIpDDjkEP/nJTwy/fnx8HGeffTaGh4cRi8Vw3HHH4cknn2z53F/+8pc47LDDEI1G8Za3vAWXXXYZSqWSrB+FOI0ghPiad7zjHeLYY4+d8Xi5XBbT09OiXC67PyiDnHTSSWLx4sVeD0MIIcRFF10kAIg1a9aIG264QZx00kkCgPjJT37S9bXlclkceeSRIhaLiS996Uvi29/+tjjwwANFPB4XL730UsNzf/WrXwlFUcRxxx0nbrjhBvHZz35WqKoqzjnnHKd+NCIZipHMCiYnJ70egme0E+NswC9ifOONN0QoFBJr166tPqZpmjjmmGPEwoULRalU6vj6jRs3CgDitttuqz62c+dOMTAwID7+8Y83PPfAAw8U73znO0WxWKw+dvHFFwtFUcQLL7wg6SciTkIxEtd54403xKc+9SkxMjIiwuGw2HfffcU555wj8vm8EEKIG2+8UQAQDzzwgDj33HPF8PCwGBgYqL7+O9/5jjjwwANFOBwWIyMj4jOf+YwYGxtr+IyXXnpJfOhDHxJ77bWXiEQiYp999hEf+9jHxPj4ePU5d999tzjqqKPE3LlzRSwWE29729vE+vXru47fyOtyuZy49NJLxdKlS0U4HBYLFy4U//Iv/yJyudyM97v55pvFqlWrRF9fnxgYGBDHHHOMuOuuu4QQQixevFgAaPjSJXn//fcLAOL+++9veL+f/vSn4rDDDhPRaFQkk0lx6qmnijfeeKPhOaeffrqIxWLijTfeEB/84AdFLBYTQ0ND4sILL+wqCSGEuP3228Xf//3fV2O4ZMkSccUVVzS89thjj50x9k6SPP3002c8X/+67LLLuo6pE9/5zncEAPHcc881PP7jH/9YABC///3vO77+lFNOEXvttdeMs/Ozzz5bzJkzpxrX5557TgAQ3/nOdxqet2XLFgFAfPnLX7b1cxB3CLp41ZYQbN26FYcffnj1fs2yZcuwZcsW/OxnP8Pu3bsRDoerz/3MZz6D4eFhXHrppZiamgIAfOlLX8Lll1+O1atX49xzz8WmTZtw3XXX4bHHHsNDDz2EUCiEQqGAE088Efl8Hp/97Gex9957Y8uWLbjjjjswPj6OuXPn4rnnnsP73vc+HHLIIbjiiisQiUTwyiuv4KGHHuo4fiOv0zQNH/jAB/CHP/wBZ599Ng444AA888wz+OY3v4mXXnoJt99+e/W5l19+Ob70pS/hyCOPxBVXXIFwOIxHHnkE9913H0444QRcc801+OxnP4v+/n5cfPHFAIC99tqr7fhuuukmnHnmmVi1ahU2bNiAHTt24N///d/x0EMP4amnnsLAwED1ueVyGSeeeCKOOOIIXH311fjtb3+Lr3/961i6dCnOPffcjr+Hm266Cf39/Vi3bh36+/tx33334dJLL0Umk8FVV10FALj44osxMTGBN954A9/85jcBAP39/W3f89Of/jRWr17d8NhvfvMb3HLLLZg/f371sVQq1XFsOvF4HJFIBADw1FNPIRaL4YADDmh4zuGHH17996OPPrrtez311FM47LDDoKqNyzIOP/xw3HDDDXjppZdw8MEH46mnngIArFy5suF5CxYswMKFC6v/TnyO12YmvcU//dM/CVVVxWOPPTbj3zRNE0LUzhiPPvrohjOQnTt3inA4LE444YSGv9y//e1vCwDiBz/4gRBCiKeeemrGZa9mvvnNbwoAYteuXabGb+R1N998s1BVdcZZyPXXXy8AiIceekgIIcTLL78sVFUV//AP/zDjTET/XQjR/lJq8xljoVAQ8+fPFwcddJCYnp6uPu+OO+4QAMSll15afUw/O7viiisa3vPQQw8VK1as6PxLEELs3r17xmOf/vSnG86ehLB3KfXll18Wc+fOFX/3d3/XcBygzVll89eNN97YMI4lS5bM+IypqSkBQFx00UUdxxKLxcSnPvWpGY/feeedAoD4zW9+I4QQ4qqrrhIAxF//+tcZz121apV417veZfTHJx7CVanENTRNw+233473v//9M/6iBgBFURq+X7NmDQKBQPX73/72tygUCrjgggsa/nJfs2YNEokE7rzzTgDA3LlzAQB33XUXdu/e3XIs+pnTf/3Xf0HTNMM/g5HX3XbbbTjggAOwbNkypFKp6tff/u3fAgDuv/9+AMDtt98OTdNw6aWXzjgTaf5dGOHxxx/Hzp078ZnPfAbRaLT6+EknnYRly5ZVfz/1nHPOOQ3fH3PMMXj11Ve7flZfX1/1/7PZLFKpFI455hjs3r0bL774oumxNzM1NYV/+Id/wODgIH7yk580HAf33HOPoa8TTzyx+prp6enq2WM9+u9penq643iMvl7/b7vndvsc4g94KZW4xq5du5DJZHDQQQcZev5+++3X8P1f/vIXAMDb3/72hsfD4TCWLFlS/ff99tsP69atwze+8Q3ccsstOOaYY/CBD3wAn/zkJ6vS/NjHPob/+I//wD//8z/joosuwvHHH48PfehD+MhHPjJDUvUYed3LL7+MF154AcPDwy3fY+fOnQCAP//5z1BVFQceeKCh30c32v1+AGDZsmX4wx/+0PBYNBqdMcbBwUGMjY11/aznnnsOl1xyCe677z5kMpmGf5uYmDA79BmsWbMGf/7zn/HHP/4RyWSy4d+aL7caoa+vD/l8fsbjuVyu+u8yXq//t91zu30O8QcUI/EtdpLI17/+dZxxxhn4r//6L9x999343Oc+hw0bNuDhhx/GwoUL0dfXhwcffBD3338/7rzzTvzmN7/Bxo0b8bd/+7e4++67G85QmsfU7XWapuHggw/GN77xjZbvsWjRIss/l0za/YzdGB8fx7HHHotEIoErrrgCS5cuRTQaxZNPPokvfvGLps7AW/Hv//7v+MlPfoIf/ehHWL58+Yx/3759u6H3mTt3bvUYGhkZwf333w8hRMPZ+LZt2wBU7gF2YmRkpPrceppfPzIyUn28Oc7btm2r3tMk/oaXUolrDA8PI5FI4Nlnn7X0+sWLFwMANm3a1PB4oVDAa6+9Vv13nYMPPhiXXHIJHnzwQfz+97/Hli1bcP3111f/XVVVHH/88fjGN76B559/Hv/6r/+K++67r3qpsx3dXrd06VKMjo7i+OOPx+rVq2d86Wd0S5cuhaZpeP755zt+ntHLqu1+P/pjzb8fqzzwwANIp9O46aabcP755+N973sfVq9ejcHBwRnPNXtJ+Pe//z3+1//6X7jgggtw6qmntnzOyMiIoa+NGzdWX7N8+XLs3r0bL7zwQsN7PfLII9V/78Ty5cvx5JNPzpD+I488gjlz5uBtb3tbw/s8/vjjDc/bunUr3njjja6fQ/wBxUhcQ1VVnHzyyfjv//7vGYkDAIQQHV+/evVqhMNhfOtb32p47v/5P/8HExMTOOmkkwAAmUxmRpWRgw8+GKqqVi9xjY6Oznh/PWm1ugymY+R1H/3oR7FlyxZ8//vfn/Hc6enp6grbk08+Gaqq4oorrpiRcOt/vlgshvHx8bZj0lm5ciXmz5+P66+/vuFn+PWvf40XXnih+vuxi36mWT/GQqGA7373uzOeG4vFDF9a3bZtGz760Y/i6KOPrq5sbYWVe4wf/OAHEQqFGsYohMD111+PffbZB0ceeWTDOF588UUUi8XqYx/5yEewY8cO/Od//mf1sVQqhdtuuw3vf//7q/cU3/GOd2DZsmW44YYbUC6Xq8+97rrroCgKPvKRjxj6XRBv4aVU4ipXXnkl7r77bhx77LHVrQzbtm3Dbbfdhj/84Q8N2wmaGR4exvr163H55ZfjPe95Dz7wgQ9g06ZN+O53v4tVq1bhk5/8JADgvvvuw3nnnYdTTjkFb3vb21AqlXDzzTcjEAjgwx/+MADgiiuuwIMPPoiTTjoJixcvxs6dO/Hd734XCxcu7Lhs38jrTjvtNPz0pz/FOeecg/vvvx9HHXUUyuUyXnzxRfz0pz/FXXfdhZUrV2L//ffHxRdfjC9/+cs45phj8KEPfQiRSASPPfYYFixYgA0bNgAAVqxYgeuuuw5f+cpXsP/++2P+/PnVhTz1hEIhfPWrX8WZZ56JY489Fh//+Mer2zX23XdffP7zn7catgaOPPJIDA4O4vTTT8fnPvc5KIqCm2++ueUfNitWrMDGjRuxbt06rFq1Cv39/Xj/+9/f8n0/97nPYdeuXfjCF76AW2+9teHfDjnkEBxyyCEArN1jXLhwIS644AJcddVVKBaLWLVqFW6//Xb8/ve/xy233NJwWXn9+vX44Q9/iNdeew377rsvgIoY3/Wud+HMM8/E888/j6GhIXz3u99FuVzG5Zdf3vBZV111FT7wgQ/ghBNOwD/+4z/i2Wefxbe//W388z//84ztIsSneLgilvQof/nLX8Q//dM/ieHhYRGJRMSSJUvE2rVrZ2zwb7WlQ4jK9oxly5aJUCgk9tprL3Huuec2bPB/9dVXxac+9SmxdOlSEY1Gxbx588Rxxx0nfvvb31afc++994oPfvCDYsGCBSIcDosFCxaIj3/84zPKezVj9HWFQkF89atfFe94xztEJBIRg4ODYsWKFeLyyy8XExMTDc/9wQ9+IA499NDq84499lhxzz33VP99+/bt4qSTThLxeNzQBv+NGzdW32/evHkdN/g3c9lllwkjaeGhhx4S73rXu0RfX59YsGCB+MIXviDuuuuuGeOZnJwUn/jEJ8TAwEDXDf6tCgLoX3Y3+AtRKet25ZVXisWLF4twOCze8Y53iB/96EcznqdvZXnttdcaHh8dHRVnnXWWSCaTYs6cOeLYY49te4z+4he/EMuXLxeRSEQsXLhQXHLJJaJQKNj+GYg7KEJ0uX5FCCGE9BC8x0gIIYTUQTESQgghdVCMhBBCSB0UIyGEEFIHxUgIIYTUQTESQgghdfTUBn9N07B161bE43FL3QsIIYTMToQQyGazWLBgQcdGAUCPiXHr1q2+KeBMCCHEfTZv3oyFCxd2fE5PiTEejwMAvvCFLzR0bigUCtVyVuFw2JOzyXK5XK3vGQwGDXU+0Mc8NDSEUCjU/UNEEcg1dT+PDgFKqPp+u3btAlDpJ6e3aHKbiYmJaq3P4eFhT+JRKBSq9UkHBgYQDoddHwPjUYPxqGE4Hl3mezeKxSJSqcrrmz/DSr6SjRAChUKhOr5ux8T09DS+9rWvVT3QiZ4Sox7cvr4+9Pf3A6gUflYUBaqqVlvSRCKRrqfaMimVSigUCg1yC4fDCAY7h0fTNGiahkQiYSxRaAUgNNX4WF8CUMPQNA3pdBqxWAyRSAS5XA6qqho6iGSSzWYRCAQwb9485PN5FItFJJNJV+NRKBQwNTVVTXzFYhFz5851NRkzHjUYjxqm4tFhvhtB/72rqtrw/lbzlUw0TUM+n0cgEICiKNA0DcFgsGWD6GaM/GHX04tv8vk8SqUSgsEg+vr6EA6HIYRAPp+33VPOKPpBpigKotEootEoFEVBoVCY0SHCKfRJXywWMTQ0hGQyiUQigUwmg2w268oYgMqkz2QySCQSSCaTGBoaQrFYRDqddi0ehUIBqVQKoVAIQ0ND1bPxVCpV/evUaRiPGoxHDT/Ewy/5Kp/PQwiBcDiMvr4+BINBlEqljp1xzNCzYqyXov5XRjAYdFWO9QeZfpaqqioikYhrB1vzpNf/Co/H465O/vpJr/8VHg6HXZ389UlY/ytcVVUkk0nXkjHjUYPxqOGHePglX9VLUT9LjUQiUuXYk2IsFoszpKjjlhxbHWQ6bh1smhBIj47PmPQ6bk3+VpNex63J3yoJ67iVjNslYR3GowLjUcOtePgiX7WRoo5MOfakGLtdj3Zajp0OMh2nDzZNCKQzZRRLpZaTXsfpyd9p0us4Pfk7JWEdp5NxtySsw3hUYDxqOB2Pcrnsfb7qIkUdWXLsSTHqQeyEU3I0IsXmcco+2KpSLAsMzRvsuojBqclvZNLrODX5jSRhHaeSsdEkrMN4VGA8ajgVD03TvM9XBqWoI0OOPSlGQ1sbIF+OZqSoI/tga5BiPIBw2NjvQvbkNzPpdWRPfjNJWEd2MjabhHUYjwqMRw3Z8dBvOXmar0xKUceuHHtSjGaQJUcrUtSRdbBpmtYoxZC58Mua/FYmvY6syW8lCevISsZWk7AO41GB8ajREI/RcWgW+9AXCgWMjY15nq+sSFHHjhwpRgPYlaMdKerYPdg0TasstLEoRR27k9/OpNexm4ztJGEdu8nYbhLWYTwqMB41qvEolZDOlE3LUY+HvnHfSkEHGfnKjhR16uVYLBYNv45iNIhVOcqQok7zwVYulw29rjrpSyVbUtSxOvllTHodq8lYRhLWsZqMZSVhHcajAuNRIxwOY2jeIIplYUqO9fEYGBiQmq+MylGWFHV0OZr5g41iNIFZOcqUok7zwdZtDA2Tft6gbSnqmJ38Mie9jtlkLDMJ65hNxrKTsA7jUYHxqBEOhzAUDxiWo1PxMCNH2VLUMX05WMqn9hBG5eiEFHXqD7ZOlwhmTnpjC22MYnTyOzHpdYwmYycmvY7RZOxUEtZhPCowHjXCIbVRjh7Fw4gcnZKijtFFlwDFaIlucnRSijr1B9vY2NiMye/0pNfpNvmdnPQ63ZKxk5Nep1syZjxqMB41XIlHvRxHxz2LRyc5Oi1Fs1CMFmknRzekqKMoCgKBAILBYMPkd2vS67Sb/G5Mep12ydiNSa/TLhkzHoyH5/HQ5VgqeRqPVnL0mxSBHuuuIRs9gIVCAfl8HqFQyDUp6qiqioGBAWSzWaRSKSSTSWQyGdcmvY4+sTOZTPUxtya9jp6MU6kU0uk0EokE0um0K5NeR0/G6XSa8WA8qvgiHiEVQ/MGkRqd8DQekUgE+Xy++odKsVj0lRQBnjHaRj9z1P/qAczf6LWLPvnrzxzdnPQ69X8Zuz3pdfRkXL/k3O02SYxHDcajhj/iEfJFPPTKY/rVNj9JEaAYCSGEkAYoRpvo9xRb/RXkFvo9k1JdQXA3+9Xp1N8z8aJfHVC7Z6KfqZSa7qm4AeNRg/Go4Y94FH0Rj+ara272czTCrBLjli1b8MlPfhLJZBJ9fX04+OCD8fjjj3s2nuaFNm73cwQqB9n4eK11VCQScbVfnU7zQgK3+9UBMxcSRCIR15u5Ni/sYDwYD8An8ShqSI2OeR6P5oU2bvZzNMqsEePY2BiOOuoohEIh/PrXv8bzzz+Pr3/96xgcHPRkPO1Wn7opRyEEyuVyw1/CgHv96nTara5zc/K3W13nZjPXdqsdGQ/Gw/N4FDWksmWEmu4puh2PVqtP3W52bIRZI8avfvWrWLRoEW688UYcfvjh2G+//XDCCSdg6dKlro+l25YMN+RYf5ANDs5sHeXW5O+25NyNyd9tybkbk7/bFgDGowbjUcOVeOhSDChIzptZ5s2teHTakuE3Oc4aMf7yl7/EypUrccopp2D+/Pk49NBD8f3vf7/ja/L5fHUFmP5lF6P7FJ2UY/1BFgwG21Z0mDn5jRfRNYLRfVhOTn6j+7CcnPxG98U5nYwZjwqMR40GKSYCnsXDyD5Fp+W4RxYRf/XVV3HdddfhrW99K+666y6ce+65+NznPocf/vCHbV+zYcMGzJ07t/q1aNEiW2Mwu3nfCTk2H2TdxtAw+UfHUCjKOeDNbk52YvKb3ZzsxOQ3u1ncqWTMeFRgPGoUCsVGKXbpkuFUPMxs3ndKjmbz76wRo6ZpOOyww3DllVfi0EMPxdlnn401a9bg+uuvb/ua9evXY2Jiovq1efNmy59vtaKNTDk2H2SBQMDQ66qTPxhEKlu2LUerFTtkTn6rFTtkTn6rFVRkJ2PGowLjUaNQKFQW2hiUok59PMbHZ5aPM4PVijay5ZjP51EqlfbMIuIjIyM48MADGx474IAD8Ne//rXtayKRSHVptP5lBbtl3mTI0W7ZJFVVkZw3gFBAsSVHu2WsZEx+u2WsZCRju2XFZCVjxqMC41GjGo9g0JQUdeq3cpTLZQgLzY5l5CsZctSl2OmWU8vPt/RpHnDUUUdh06ZNDY+99NJLWLx4saOfK6v2qR05yqolqKoqkomAZTnKqu1oZ/LLqu1oJxnLqrVpNxkzHhUYjxoN8Zg3YFqKOuFwGIODg57nKztyrJeivsfc8GeberaHfP7zn8fDDz+MK6+8Eq+88gp+/OMf44YbbsDatWtNv5fRm7CyC4JbkaPsAruqojTK0eCCHNkFj61MftkFj60kY9kFqK0mY8ajAuNRQ3Y8QqEQgsGgt/nKohztSBGYRWJctWoVfvGLX+AnP/kJDjroIHz5y1/GNddcg1NPPdX0e9VXXmiHU10yzMjRqarzDXIcndmyqhmnugCYmfxOdQEwk4yd6spgNhkzHhUYjxpOxUNVVe/zlUk52pUiMIvECADve9/78MwzzyCXy+GFF17AmjVrLL2PqqoolUpt5eh06ygjcnS6FUtVjk0tq5pxujWOkcnvdGscI8nY6VZFRpMx41GB8ajhdDwCgYD3+cqgHGVIEZhlYpSFfomglRzd6qfYSY5u9SdTlcqG33aT361+cZ0mv1v94jolY7f693VLxoxHBcajhlvx8EW+6iJHWVIEelSMAKq1Tevl6GaTYaD1weZ20852k9/NJqpA68nvZhNVoHUydrupLeNRg/Go4Yd4+CVftZKjTCkCPd6oWP8FlkolaJoGIYSrTYaBxmbHuVyu+rib/cmam7lGIhHkcjnX+8XVN3Otb/7sZr+4+ua6qVQKAGbUonUaxqMG41HDD/HwS76qb3ZcLBahaZo0KQI9fMaoo0tQF6PbTYaBxr/EvOpkrU9+IQRyuRyi0ajrTVSByuSPRqPI5XIQQrjeRBWoTPJkMolisYhisYhkMul6U1vGowbjUcMP8fBLvopEIhBCQNO0hrZ/Ut5f2jvNUkqlUsMGVjP19GShaVrD5+p/AbnN1NRU9f/1v8bcRv9LuNWY3ELTtIa6uplMhvFoMSa3YDxq+CUefshX9WMQQkitrdrTYqy/p9jX19d2QY6T1F+jj0Qi1b+C3G52XH/PZGRkxPV+dUDjPZORkRFPmrnW38MaHh7G8PCwq/3qdBiPCoxHDb/Eww/5qv6eYl9fn/Taqj0rxlYLbVotyHGSVjeuvWh23LyQwO1+dUDrhQRuN3NttbDDzX51OoxHBcajhl/i4Yd81bzQxonC4z0pRk3T2q4+dUuOnVZzuXmwZbNTLVfXuTn5O62uc2vyd1rt6GYybrfakfFgPLyOhx/yVbvVp7Ll2JNiLBaLHVefOi1HI0uc3TjYsrvLyGQn266uc2PyG1ly7vTkN7IFwI1k3G0LAONRg/Go4XQ89Bzkdb7qtiVDphx7UowAuq4+dUqOZvb9OHmwZXeXkZnWkIj3d1xd5+TkN7MPy6nJb2ZfnJPJ2Oi+OMajBuNRw8l4+CFfGd2nKEuOPSlGIw1+AflytLIZ1omDrSrFPhXxeKzr852Y/FY2J8ue/FY2izuRjM1uFmc8ajAeNZyIh952yst8ZXbzvgw59qQYFROtWGTJ0U6FCJkHW4MU5xhrdAzInfx2KnbImvx2KqjITMZWK6gwHjUYjxqN8bC+lUPTNIyPj3uer6xWtLErx54Uo1nsylFG2SQZB1s2O2VJijoyJr+MMlZ2k7GMsmIykrHdsmKMRw3Go0Y1HtlJZHeXTb9ej4cupEDAfK6Qka9st45qkqOZMVCMBrEqR5m1BJsPNjOdtbPZbGWhjUUp6tiZ/DJrO1pNxjJrbdpJxrJqbTIeNRiPGvF4HIl4PzLTmik51sdjcHDQ1hjsyFFal4w6OZop3kIxmsCsHJ0osGvlYKtO+ni/LSnqWJn8ThQ8NpuMnShAbSUZyy5AzXjUYDxqxOMxJPpUw3JsjkcoFLI9Biv5SnZBcCvl4ihGkxiVo5NV5+sPtnK53PFga5z03RfaGMXM5HeyC4DRZOxkVwYzydiprgyMRw3Go0Z8TsCQHJ2Mhxk5ypaijt5w2fDzpX1yD9FNjm60Yqk/2MbHx1sebE63xjEy+d1ojdMtGbvRqshIMmY8KjAeNVyJR70cWyzIcSMeRuTolBR1zCy6pBgt0k6ObvYnCwQC1TE0T363+sV1mvxu9otrl4zd7N/XKRkzHhUYD4/iocsxO+lZPDrJ0WkpmqWn+zHapb6fIwCEQiEXm3YKAAKqomBwYC4mMhmk0ykk5w1iamo3MtksEvE44v1zAPHmJRShVb4a3kar/btFVAVIzhtAenQMqdQuDCXnAQBS6dHKpJ83AFURtj+nG5WfVUMmMwEIDbHYHKRHxyqTPjkP4VDA8TGEQwEMJQeRSo92j4dDMB41ejoeTfM93qcA4TnG4yE0QFTyjCzq+znm83lEIhEUi0VfSRGgGG1TL8dSqQRFUdyRYjkHaAIQQKicxtAcgVR2Gtu2VNrzJPpUxAPjwO7xupeVgcL4zPdSJCzIAZDsE0gXy9i1YwsAIBxUkOwrQs1N235/o8QDAMJlZMZ3ITMOKAowFA8gXNoJyOtK05EwgKE5Wvd4OAjjUaNn49FivsfDAgjDWDxKAhBFoAxA7QNg/FJkJ+rlOD09XX3ML1IEelSMenNLWQQCgYYNpHrjY+cQgCagCQEhgGJJIBRUEFSBfLHy1104pKBQavpLTwig3HRwlwSgyPuLsC+sIFfQ3vx/FaXym+N1kXBIgTZV+cxISAGUFr8Lp1EMxMMFGI836cV4tJnv4ZBqKB7FUqURsQYAmgZZYgQw47JxIBBwvDOHme1tFKOE99LPFBVFgRAChULB2TNGIXQ3Qmga8rlJ5IUCoSnoCwhoAshk8wgHNDTcbxYC0Jr+LCxOAl1uSgshUBSNe4BCSmjGzWxNU1AoK4i+eQK6ezdQCgioqnsJSAigUFYRUSuXsMplBZPZHIIBdxuplspq93g4DONRoyfj0WK+i+IkCuWAoXiUNAWaiFR0WNa65gkz6CcSqqpW8kuxiGAwaGqBjFkoxi4MDw8jkUjYfh8hBMbGxlAqlTA4OIhQKISpqSlMTk6iv78fsZi87RGNH6wBue0olgTyuUn8/dt3YW6fgetS5QKQ29r4WHQBEOh8w72oFbGztKvhsfnBYYRU+/ucCCEOYXG+60xMB/GrVxYjElIR6t8bUOQsDmrOkcViEWNjYwgGgxgcHHRMjplMxvBze1KMoVDI9uorfTWXpmmYP39+9f30+4uZTAbBYNCZFW+iDJQqB09eKJjbV8K8he8EuomqtBsYa/rLcHA5EJzT8WXT5WlsnX6x4bFE3zL0BfrMjpwQ4hYW5zu0IjD6OAAgGFAQCioIh0NS1iJks1ns3r0bAwMD1dwYDoerq3YzmYxjK3TNFCzoSTHapdsSZz3g+l8oTi0Hn5ouo6i9+deVGuouRjU48+BWg91fJ0oQatOhYuTzCCHeYXW+O0SnLTL61ppUKoV0Ou349pVucB+jSYzu+3G6eWh2dxmTOQ0hF+8XEUKIFYzsG3W6+TRrpTqE2c2wTskxm51EZlpDf1R1fREDIYSYwUwxBafkWCgUMD4+bvj5FKNBrFaIkC3HSpeMLBJ9KmJ99q/5E0KIU1ipMCRbjnqFITM7BShGA9gtmyRLjrUuGXEpXTIIIaQTpbL1WzV2yu7JkmN92b2BgQHDr6MYuyCrlqBdOTYeZP2WxkAIIWYolgWmps2XqpNRi9auHJtr0bKIeBeM3oSVXWDXqhzdKnhMCCH1hAIKJnMastlJw6+Rma+sytFugfaeFOP4+HjX5qFOVZ03K0dKkRDiFcGAgv6oikw261m+MitHGV1LelKMwWCwY/NQp1uxGJUjpUgI8ZpYXwCJeNzTfGVUjrJaefWkGAcGBto2D3WrP1k3OVKKhBC/EI/3e56vuslRZn/LnhSjoigtm4e62bQTaC9HSpEQ4jf8kK/ayVF20+eeLQmnd9ZOp9NIpVJIJpPIZDKuSVGnuXyc/v+UIiHEb/ghXzWXj0skEkin09KkCPSwGIGaHFOpFFKpFIBK5w23pKjTfLBRioQQv+KHfKXLcdeuXVLPFHV68lIqIYQQ0o6eFqN+T7FUKlUvn3ZareoU9dfonSw8TgghdvFDvtLvKepnjqVSSWpt1Z4VY/NCm0gk0nJBjtM037h2uisHIYRYxQ/5qnmhTSQSkV54vCfFKIRoufpUv+folhzbreaiHAkhfsMP+ard6lPZhcd7Uozj4+NtV5+6JcduS5wpR0KIX8hmJz3PV922ZMiUY0+Ksf6eYiuclqPRfT+UIyHEa6amy5VWdx7mK6P7FGXJsSfFODAw0HVLhlNyNLsZlnIkhHhFqSwwmdMqre48yldmN+/LkGNPijEUChl6nmw5Wq0QQTkSQrygWBboj6qmWt3JzFdWK9rYleOsFeO//du/QVEUXHDBBY5+jiw52i2b1HiwGW8BQwghVgkFFMT6zDdFlyFHu2XemuUohPGmy7NSjI899hi+973v4ZBDDnHl8+zKUVYtwerBls0iu9t881BCCDFDMGC8uW8zduQoq/ZpvRzHx8cNv27WiXFychKnnnoqvv/972NwcNC1z7UqR9kFduPxeKUFzLRmqbM2IYS4hRU5yi4IXl8EwCizToxr167FSSedhNWrV3d9bj6fRyaTafiyg1k5OlV1Ph7vR6JPxWROQ6k860JICOkhzMhRthR1wuEwBgYGDD9/VhURv/XWW/Hkk0/iscceM/T8DRs24PLLL5c6huauHO22fTjdiiU+J4BSWaBQsH6pgxAyC8jtArb8svGxfT4ARIe9GY8FmguPt8qJTklRx+iiS2AWnTFu3rwZ559/Pm655RZEo1FDr1m/fj0mJiaqX5s3b5Yylm5njm71J4v1BRBSjd9QJoQQr+h05ui0FM0ya84Yn3jiCezcuROHHXZY9bFyuYwHH3wQ3/72t5HP5xEINK6eikQiiEQijoyn3Zmj202GgwE5RXMJIcRpWp05+k2KwCwS4/HHH49nnnmm4bEzzzwTy5Ytwxe/+MUZUnSDZjlGIhHkcjn2UySEkDbUy7FQKCCfz/tKisAsEmM8HsdBBx3U8FgsFkMymZzxuJvocty2bRtyuRyi0SilSAghHdDPFHO5HAD4SorALLrH6Gempqaq/5/P513v50gIIbMJ/UxRpz6H+oFZc8bYigceeMDrITTcU4zFYl1XqxJCSC/TfE9xamqq42pVL+AZow2aF9q43c8RADSN2zUIIbODVgtt/FgLmmK0SLvVp27KsVjUUChTjIQQ/9Np9anf5EgxWqDblgw35FgoahibKkOhFwkhPsfIlgyn5bjHFxH3EqP7FJ2UY6FQQCpbRjCgIMx9jIQQH2Nmn6JTctQ0bc8uIu4lZjfvOyHHQqGAVHoUoYCCwf4AzxgJIb7FyuZ92XLUNA3pdHrPLiLuFVYr2siUY8NBlghAoRUJIQ5isr9vA3Yq2siSoy7FYrFoqog4xWgAu2XeZMix4SCbNwiVUiSEOEyhpKFYNG9HGWXe7MqxXopDQ0N7ZhFxmZi5CSur9qkdOfqxliAhZM9HURSMTZU9y1dW5dgsRbN7ynsyw46Pj0MzcI1AdkFwK3KkFAkhXhEOKggGFKTSo57lK7NytCtFoEfFWCqVkE6nO8rRqS4ZZuRIKRJCvERRgMH+gOf5yqgcZUgR6FExDgwMoFgstpWj062jjMiRUiSE+AFFUZCcN+h5vuomR1lSBHpUjKFQCENDQy3l6FY/xU5ypBQJIX7CL/mqnRxlShHoUTECQDgcniFHt5sMtzrYKEVCiB/xS75qlqNsKQKzvLuGXXQ5plIpbNu2DQBcbzJc3+x4165d1XFRioQQv+GXfFXf7DiTyUBRFKkdjXo+84bDYUQiker3sVjM9TGoqopEIlH9PpFIUIqEEF/il3xVn6sjkYjUNn89n32z2SxyuRyi0SgURem6WtUJCoUC0uk0QqEQQqEQ0uk0mx0TQnyJH/KVfvlUURREo1HkcjmptVV7Woz19xSTyWTbBTlOUn+NfmhoqFqhwa1+joQQYhQ/5Kvme4rJZFJ64fGeFWOrhTatFuQ4Sasb1140OyaEkG74IV+1W2gju/B4T4pxamqq7epTt+TYaTUX5UgI8RN+yFfdVp/KlGPPirHT6lOn5WhkiTPlSAjxA8WiVml152G+MrolQ5Yce1KMsVis65YMp+RoZt8P5UgI8RJNA8amyp7mK7P7FGXIsWfFaATZcrSyGZZyJIR4RaGkIRiolITzIl9Z3bxvV449KUYzyJKjnQoRlCMhxAsURcFgf8CTfGW3oo0dOVKMBrArRxllkxoOtvQoChaahxJCiBnCQQWKhaboduUoq8xbvRynpqYMv45iNIhVOcqsJdhwsGXLljprE0KIUSw4sYpVOcqufarLkWJ0CLNydKLArqqqlRYwgUpnbU2zceQSQoiDmJWjEwXBgYoczZT7pBhNYlSOTladV1UVyUQAwYCCQpliJIT4F6NydEqKOhSjw3SToxutWNQ3b4rbudRBCCFu0E2OTkvRLBSjRdrJ0c3+ZIqiIBzgfUZCiP9pJ0e/SRGgGG3RLMd8Pu96006eMRJCZgvNcszn876TIkAx2kaXo36mGAwG2WSYEELaoMsxGAxWzxz9JEWAYiSEEEIaoBhtop8p6meOpVLJk2bHhBAyG9DvKZZKpeqZot8qelGMNmheaBOJRFxvdiyE4x9BCCFSaF5oE4lEfFnukmK0SLvVp242OxZCoFBmCAkh/qfd6lM/1oJmVrVAty0ZbshREwJjk2WeMRJCfE+3LRl+kyPFaBKj+xSdlKOmaUhnyiiVBcIBmpEQ4l+M7lN0Wo6sleoQZjfvOyFHTdOQHh1DsSwwGAtAVSlGQog/Mbt53yk5ZrNZitEJrFa0kSnHhoMsHkAoxPARQpzDzq0aqxVtZMsxm80ik8mwVqps7JZ5kyHHhoMsOQ9hSpEQ4jCFkoCwYEe7Zd5kyVGXYiKRoBhlIqv2qR05+rGWICFkz0e8ucjPi3xlV471UozH4+Y+29Sz9xCMXmuWXRDcihwpRUKIV4SDKkplgfTomCf5yqoc7UgR6GExZrPZjs9xqkuGGTlSioQQL1FVYDAW8DRfmZWjXSkCPSrGWCyGTCbTVo5Ot44yIkdKkRDiB0IhFUPJeZ7mK6NylCFFoIfFmEgkWsrRrX6KneRIKRJC/IQf8lU3OcqSIjCLxLhhwwasWrUK8Xgc8+fPx8knn4xNmzZZfr94PD5Djm42GQZaH2yUIiHEj/ghX7WTo0wpArNIjL/73e+wdu1aPPzww7jnnntQLBZxwgknmNq02Uy9HNPptOtNhoHGgy2VSiGVSlGKhBBf4od81SzHdDotVYoAEJTyLi7wm9/8puH7m266CfPnz8cTTzyBv/mbv7H8vvF4HIVCAblcDgA8aTIcDoeRTCaRSqUAgFIkhPgWP+QrXY7btm1DLpdDNBqVJkVgFp0xNjMxMQEAmDdvXtvn5PN5ZDKZhq9mCoUC8vl89Xs7Z6BW0TStYWyZTIb9HAkhvsQv+ao+V+fzeam1VWelGDVNwwUXXICjjjoKBx10UNvnbdiwAXPnzq1+LVq0qOHf6+8pjoyMtF2Q4yT11+iHh4cxPDzsaj9HQggxil/yVf09xZGREem1VWelGNeuXYtnn30Wt956a8fnrV+/HhMTE9WvzZs3V/+t1UKbVgtynKTVjWs3+zkSQohR/JKvmhfaOFF4fNaJ8bzzzsMdd9yB+++/HwsXLuz43EgkgkQi0fAFoHrjuNVCG7fk2Gk1F+VICPETfslX7VafypbjrBGjEALnnXcefvGLX+C+++7DfvvtZ/m9xsfHO64+dVqORpY4U46EED8gRKUknNf5qtuWDJlynDViXLt2LX70ox/hxz/+MeLxOLZv347t27djenra9HsFg8Guq0+dkqOZfT+UIyHES4QAxibLnucro/sUZclx1ojxuuuuw8TEBN797ndjZGSk+rVx40bT7zUwMGBoS4ZsOVrZDEs5EkK8olASKJVFpdWdR/nK7OZ9GXKcNfsYrfQEa4eiKIafqwdCX55sda+MnQoR+sGmb2ZNzhuYPX/REEJmLUIIDMYC9vKVjb3hViva6HLUC7cMDQ2Z+lzmVwPYPXOUUTap4S+x0TFoEv9QIISQVoSDKkIWmqLLOHO03Tqq6cyxWCwaf63pT+tRrMpRZi3BhoMtU5Z6Fk0IIc3YKQJmR47SumTUyXF8fNz46yx/Yg9iVo5OFNgNh8OVFjDlSmdtupEQ4lesyFF6QfA35RgMGr9zSDGaxKgcnaw6Hw6HMRQPoFQWKJQZQkKIfzEjR9lS1FFVFQMDA8afL+2Te4hucnSjFUs4pGIwFuAZIyHE9xiRo1NS1DGz6JJitEg7ObrZnywUUhEO0IyEEP/TSY5OS9EsFKMNmuXoRZNhVaUYCSGzg1Zy9JsUgVm0j9Gv1O9zzGQyUBSF/RQJIaQN9fsct23bBgC+kiLAM0YpxGKx6v9HIhFKkRBCOhAOhxGJRKrf1+dQP0Ax2kS/fKooCqLRKHK5nKv9HAkhZLaRzWaRy+UQjUahKIrvyl1SjDZovqeYTCY9aXZMCCGzhfp7islk0pe1oClGi7RbaON2s+MS9zESQmYJrRba+LFRArOqBbqtPnVLjlPTZRQ143tzCCHEKzqtPvWbHClGkxjdkuG0HLO7y5jMaQhxuwYhxOcY2ZLhtBxZRNwhzO5TdEqO2ewkMtMa+qMqggHvLzsQQkg7zOxTdEqOhUKBRcSdwOrmfdlyzGazyGSzSPSpiPUFbL8fIYQ4hZXN+7LlWCgUkEqlWERcNnYr2siSY/Ugi8cRn0MpEkKcpVS2fqvGTkUbWXLUpRgKhVhEXCayyrzZlWPjQdZvaQyEEGKGYllgarps+nUyyrzZlWO9FJPJJIuId8PoTVjZtU+tytGPtQQJIXs+oYCCyZyGbHbS8Gtk5iurcmyWomqy43JPinF8fByFQqHjc5wqCG5WjpQiIcQrggEF/VEVmWzWs3xlVo52pQj0qBiDwSBSqVRbOTrdJcOoHClFQojXxPoCSMTjnuYro3KUIUWgR8U4MDCAUCjUUo5utY7qJkc/SnH61Sy0AreHENJrxOP9nuerbnKUJUWgR8WoKAqSyeQMObrdT7GdHP0oxWIqh23fewmZP+zweiiEEA/wQ75qJ0eZUgR6uB+jqqpIJpNIp9NIpVJIJpPIZDKuNhkGGvs56vhNigAw+dQoyuMFZB5JYe679/Z6OIQQD/BDvqrv55hOp5FIJJBOp6VJEehhMQI1OaZSKaRSKQDA8PCw6/0Umw82v0lRaALZR1IQAihsm0b+L1PAgV6PihDiBX7IV7ocd+3aJfVMUacnL6USc4z9eRcKO3MIDoQgShqyT6a9HhIhhDhGT4tRv6dYKpWql087rVZ1ivpr9H7s57jt0b9AlDQoIRVKUMXkE2mU8iWvh0UI8QA/5Cv9nqJ+5lgqlaTWVu1ZMTYvtIlEIi0X5DhN841rt/s5dqM4XcD2x/9SkaKiIDAngNJEEalntno9NEKIy/ghXzUvtIlEItILj/ekGIUQLVef6vcc3ZJju9VcfpLj9qc3I5/JIfBmbVYlqAJCYOsjr3k6LkKIu/ghX7VbfSq78HhPinF8fLzt6lO35NhtibNf5Lj5T68AQkAJ1A4VNRpA6rlt2J02XiaKEDJ7yWYnPc9X3bZkyJRjT4qx/p5iK5yWo9F9P17LcWpXBqkXtyHYF2p4XI0GUMoVsfWJ110fEyHEXaamy5VWdx7mK6P7FGXJsSfFODAw0HVLhlNyNLsZ1ks5bnnsNZRyxRliVFQFiqLgr394CUKz3paGEOJvSmWByZxWaXXnUb4yu3lfhhx7UoyhUKj7kyBfjlYrRHghR6EJ/PWhl6sSbCYYCyOzdRxjr+1yZTyEEPcplgX6o6qpVncy85XVijZ25diTYjSDLDnaLZvUeLA5f28v/coOTG6fQGhOpOW/B8IBaMUytjz6quNjIYR4QyigINZnvim6DDnaLfPWLEchjF/dohgNYFeOsmoJVg+2bBbZ3eabh5phy6OvQitpCIRbTwpFUaCGAtj8yJ9Ryhvrb0kImV0EA8ab+zZjR46yap/Wy3F8fNzw6yhGg1iVo+wCu/F4vNICZlqz1FnbCMXpArY8+ioCoUDHrtfhOWHkxndjxzNvODIOQsjsxoocZRcEry8CYBSK0QRm5ehU1fl4vB+JPhWTOQ2lsvwQ6nsX211G1VGDAUC8uaWDEEJaYEaOsqWoEw6HMTAwYPj5FKNJjMrR6VYs8TkB9EdVFDXrlzrasflPr0AIATXY/fAIRkPY+ewW7mkkhLTFiBydkqKO0UWXAMVoiW5ydKs/WawvgJAqd7vE7vQkUi9ug1YqY3d6ElPpSZSmG+8hirLAdHoKu9OTKE4XUNxdwLan/iJ1HISQPYtOcnRaimbp6bZTdmju56gXDHC7yXAwIKdork6oL4T9jjsA5TcX1Ox8YSsmd0wAkdqBKkoaguEAFq5aimCkcggNLE5KHQchZM+juWVVPB73nRQBitEWzXKMRCLI5XK+66dohtCcCA7+xyOq3//ha7+qiLEFB5x8GGLzE24NjRCyB1Avx0KhgHw+7yspAryUahtdjkII5HI5RKPRWStFQghxg3g8jmg0ilwuByGEr6QIUIxSmJqaqv5/Pp93vZ+j38gUp/G7HS9hutTbvwdCSGv0M0Wd+hzqB3gp1Sb19xRjsdiMe469yB1vPINLnr4dA+E5+ODCd+L9C9+JQwcXddwTSQjpDZrvKU5NTTXcc/QDFKMNWi20abUgx0k0B7Zr2KUkythdLqKcn8J1L/8OP/jzH7EssRc+sngF3rfPIRjpm+v1EAkhHtBqoU2rBTleM+supX7nO9/Bvvvui2g0iiOOOAKPPvqoJ+Not/rUzWbHxaKGQtl/YgQqB9ZwtB/79A0gFgzjmYmt+H+f/iX+5u6rsObhm/GrLc/wUishPUSn1adet9hrZladMW7cuBHr1q3D9ddfjyOOOALXXHMNTjzxRGzatAnz5893bRzdtmS028ohk0JRw9hUuX4XhSMoAQVaSUN5tLaXURMCO5Up/P0D1yLbP3MfZUnTUH6zYK+iKJgTDGNOMAxNaMgW87hjy/+HO7c+g72jCV5qJaQHMLIlw+kzRzNFxE2L8fTTT8dZZ52Fv/mbvzH7Utt84xvfwJo1a3DmmWcCAK6//nrceeed+MEPfoCLLrrIlTEY3afopBwLhQJS2TKCAQVhVe4+xmYO/PBKDB+2EFsKW6qPbZvO4vbXn8FrwQIChdZmHgzPmfGYqqiYG+7D3HAfCloJaV5qJWSPx8w+RafkqGmaqSLipsU4MTGB1atXY/HixTjzzDNx+umnY5999jH7NqYpFAp44oknsH79+upjqqpi9erV+NOf/uT45wPmK9o4IcdCoYBUehShgILEHBX5aVtv15XBfYcRXdSPybrqN9snVLyg5TEQnoNIwNpFh7AaxHC0H0IITJeLeGZiK55+egu+9txdOHavt+EfFh2Kv9v7AIQtvj8hxHusbN6XLUdN05BOp50tIn777bdjy5YtOPfcc7Fx40bsu+++eO9734uf/exnKBadaz+USqVQLpex1157NTy+1157Yfv27S1fk8/nkclkGr6sYrWijcx7jg0HWaJz54vZgn6pdUHfXIz0JZAt5fDTvzyOdU/chv/72sNeD4+QnsZkf98G7FS0kXXPUZdisVh0voj48PAw1q1bh6effhqPPPII9t9/f5x22mlYsGABPv/5z+Pll1+28rbS2bBhA+bOnVv9WrRokaX3sVvmTYYcGw6yeYNQ9wAp6uTKRWyfzmDbdAaxQATvXXAQvvzOD+AT+x7u9dAI6WkKJQ3Fonk7yijzZleO9VIcGhoyVUTc1nWqbdu24Z577sE999yDQCCAv//7v8czzzyDAw88EF/72tfw+c9/3s7bNzA0NIRAIIAdO3Y0PL5jxw7svffeLV+zfv16rFu3rvp9JpPBokWLTN2ElVX71M5l1RkHmSK3cLhVsqUcptu0vQqrQcwJtv/5SloZmWIOu8tFhNQA9o0l8ZHFh+H9+7wTS+PDTg2ZEGICRVEwNlVGKF5AONJn6DUya59avazaLMVwOIzpaeP3nUyLsVgs4pe//CVuvPFG3H333TjkkENwwQUX4BOf+AQSiUrdzF/84hf41Kc+JVWM4XAYK1aswL333ouTTz4ZQOWHv/fee3Heeee1fE0kEkEkMrOn4Pj4OBKJRNeAyS4IbkWOLQ8y4UyDYqPMDUcxHO3H7lL7S+fpwtQMMQohMFnKI1PMQQEwGI7hQ4sOxQcXLcf/M7QEQTXg8MgJIWYIBxWUNQWp9CiGhoat5SubmJVjKymaxbQYR0ZGoGkaPv7xj+PRRx/F8uXLZzznuOOOM3U91yjr1q3D6aefjpUrV+Lwww/HNddcg6mpqeoqVaOUSiWk0+mOgXOqS4YZOfqx6jwA7N3Xj4dO/F/oC7T+C/L/vvonXPTUf1a/z5WLmChMoyQ0zAmEcexeb8OHFh2KE0fegblhY3+FEkLcR1GAwf4AMsWQp/nKqBxlSBGwIMZvfvObOOWUUxCNRts+Z2BgAK+99pqlAXXiYx/7GHbt2oVLL70U27dvx/Lly/Gb3/xmxoKcbgwMDKBQKLSVo9Oto4zI0a9SNIoGYDQ/helyEUE1gMW8VErIrERRFCTnDSI9Ou5pvuomR1lSBCyI8bTTTrP8YTI477zz2l46NUooFEIikUAqlZohR7f6KXaS42yXYkBREQ0E0RcI81IpIXsAfslX7eQoU4rALKt8I5NwOIyhoaEGOerFbN3qp9jqYAMwq6UIAO9dcBAGwnNw9PD+vFRKyB6CX/JVsxz15g2ypAj0sBiBRjlu27YNAFxvMlx/sO3atas6rtkqRQCYF4nhpH0O9noYhBDJ+CVf1csxk8lAURSp1cVmZ+aVSDgcbli5GovFXB+DqqrVFb0ADK2YJYQQL/BLvqrP1ZFIRGo96p7PvtlsFrlcDtFoFIqiIJ1OQ7NT7sEC+kKgUCiEUCiEdDrd882OCSH+xA/5Sr+nqCgKotEocrmc1K4cPS3G+oU2yWQSQ0NDKBaLrsqx/sb10NBQtUKD0y2rCCHELH7IV80LbZLJpPSWVT0rxlarT/V7jm7JsdVqLjf7ORJCiFH8kK/arT6V3c+xJ8XYafWpW3LstMSZciSE+Ak/5KtuWzJkyrFnxdhp9anTcjSy74dyJIT4gWJRq7S68zBfGd2nKEuOPSnGWCzWdUuGU3I0sxmWciSEeImmoVJE3MN8ZXbzvgw59qwYjSBbjlYqRFCOhBCvKJQ0BAOVknBe5CurFW3syrEnxWgGWXK0UzaJciSEeIGiKBjsD3iSr+yWebMjR4rRAHblKKOWYMPBlh5FwULzUEIIMUM4qECx0BTdrhxl1T6tl+PU1JTh11GMBrEqR5kFdhsOtmzZUmdtQggxigUnVrEqR9kFwXU5UowOYVaOTlSdV1UVyXmDCAUqnbU1zcaRSwghDmJWjrKlqBOPx02V+6QYTWJUjk62YlFVFclEAMGAgkKZYiSE+BejcnRKijoUo8N0k6Mb/cnUN2+K27nUQQghbtBNjk5L0SwUo0XaydHNpp2KoiAc4H1GQoj/aSdHv0kRoBht0SzHfD7vetNOnjESQmYLzXLM5/O+kyJAMdpGl6N+phgMBmd1k2FCCHESXY7BYLB65ugnKQIUIyGEENIAxWgT/UxRP3MslUqeNDsmhJDZgH5PsVQqVc8U/VbRi2K0QfNCm0gk4nqzYyEc/whCCJFC80KbSCTiy3KXFKNF2q0+dbPZsRAChTJDSAjxP+1Wn/qxFjSzqgW6bclwQ46aEBibLPOMkRDie7ptyfCbHClGkxjdp+ikHDVNQzpTRqksEA7QjIQQ/2J0n6LTcmStVIcwu3nfCTlqmob06BiKZYHBWACqSjESQvyJ2c37Tskxm81SjE5gtaKNTDk2HGTxAEIhho8Q4hx2btVYrWgjW47ZbBaZTIa1UmVjt8ybDDk2HGTJeQhTioQQhymUBIQFO9ot8yZLjroUE4kExSgTWbVP7cjRj7UECSF7PuLNRX5e5Cu7cqyXYjweN/fZpp69h2D0WrPsguBW5EgpEkK8IhxUUSoLpEfHPMlXVuVoR4pAD4sxm812fI5TXTLMyJFSJIR4iaoCg7GAp/nKrBztShHoUTHGYjFkMpm2cnS6dZQROVKKhBA/EAqpGErO8zRfGZWjDCkCPSzGRCLRUo5u9VPsJEdKkRDiJ/yQr7rJUZYUgR4VIwDE4/EZcnSzyTDQ+mCjFAkhfsQP+aqdHGVKEQCCtt9hFqP/AjOZDAqFAvL5vKtNhoHawZZKpZBKpQCgoeo8IYT4BT/kK12O6XQaqVQKkUgEuVxOmhSBHj5j1InH44hGo8jlchBCeNJkOBwOI5lMolgsolgsIplMUoqEEF/ih3yly1EIgVwuh2g0Kk2KAMVYPVPUMVM2SBaapiGTyVS/z2Qy7OdICPElfslX9bk6n89Lra3a02Ksv6c4MjLSdkGOk9Rfox8eHsbw8LCr/RwJIcQofslX9fcUR0ZGpNdW7Vkxtlpo02pBjpO0unHtZj9HQggxil/yVfNCGycKj/ekGIvFYtvVp27JsdNqLsqREOIn/JKv2q0+lS3HnhTj+Ph4x9WnTsvRyBJnypEQ4geEqJSE8zpfdduSIVOOPSnGYDDYdfWpU3I0s++HciSEeIkQwNhk2fN8ZXSfoiw59qQYBwYGDG3JkC1HK5thKUdCiFcUSgKlsqi0uvMoX5ndvC9Djj0pRkVRDD9XlhztVIigHAkhXiCEwGAs4Fm+slrRxq4ce1KMZrErRxllkxoOttExaHZaaxNCiAHCQRUhC03RZcjRduuoJjkWi0XjrzX9aR7w+uuv46yzzsJ+++2Hvr4+LF26FJdddpnUDZ3dsCpHmbUEGw62TNlSZ21CCDGKnSJgduQorUtGnRzHx8cNv25W1Ep98cUXoWkavve972H//ffHs88+izVr1mBqagpXX321a+Oor61a/307nCiwGw6HMZSch9TOLRibLKNvVvxpQwjpReprq6bTaUMlN2UXBNflaKaq2awQ43ve8x685z3vqX6/ZMkSbNq0Cdddd52rYgSMy9HJqvPhcBhD8QB2TpRQEDQjIcS/mJGjbCnqqKqKgYEB48+X9skuMzExgXnz5nny2d0uq7rRiiUcUjEYC4BXUwkhfsfIZVWnpKhjZtHlrDhjbOaVV17Btdde2/VsMZ/PNxQIry98a5d2Z45u9icLhVSEAzQjIcT/dDpzdFqKZvH0jPGiiy6Coigdv1588cWG12zZsgXvec97cMopp2DNmjUd33/Dhg2YO3du9WvRokVSx9985uhFk2FVpRgJIbODVmeOfpMi4PEZ44UXXogzzjij43OWLFlS/f+tW7fiuOOOw5FHHokbbrih6/uvX78e69atq36fyWQckaP+3plMBoqisMkwIYS0of7Mcdu2bQDgKykCHotRb1tihC1btuC4447DihUrcOONNxqqXBOJRBCJROwOsyuxWKx6STUSiVCKhBDSgXA4jEgkglwuB6CSQ/3ErFh8s2XLFrz73e/GW97yFlx99dXYtWsXtm/fju3bt3s9tOrlU0VREI1GkcvlXO3nSAghs41sNotcLodoNApFUXxX0WtWLL6555578Morr+CVV17BwoULG/7Ny03ure4p6tfLge77HAkhpNdovqeo98Y1us/RDbwfgQHOOOMMCCFafnlFu4U2bjc7LpVnRQgJIaTlQhs/1oJmVrVAt9WnbslxarqMomZ8bw4hhHhFp9WnfpMjxWgSo1synJZjdncZkzkNIW7XIIT4HCNbMpyW4x5XRNwvmN2n6JQcs9lJZKY19EdVBAPeX3YghJB2mNmn6JQcC4WCqSLiFKNBrG7ely3HbDaLTDaLRJ+KWF/A9vsRQohTWNm8L1uO+uKeYND4WlOK0QB2K9rIkmP1IIvHEZ9DKRJCnKVUtn6rxk5FG1ly1KUYCoV6o4i4W8gq82ZXjo0HWb+lMRBCiBmKZYGp6bLp18ko82ZXjvVSTCaTpoqI96QYjd6ElV371Koc/VhLkBCy5xMKKJjMachmJw2/Rma+sirHZima3RvZk2IcHx9HoVDo+BynCoKblSOlSAjximBAQX9URSab9SxfmZWjXSkCPSrGYDCIVCrVVo5Od8kwKkdKkRDiNbG+ABLxuKf5yqgcZUgR6FExDgwMIBQKtZSjW62jusmRUiSE+IV4vN/zfNVNjrKkCPSoGBVFQTKZnCFHt/sptpMjpUgI8Rt+yFft5ChTisAsKSLuBKqqIplMIp1OI5VKIZlMIpPJuNpkGGjs56hDKRJC/Igf8lV9P8d0Oo1EIoF0Oi1NikAPixGoyTGVSiGVSgGo9Ih0u59i88FGKRJC/Iof8pUux127dkk9U9TpyUuphBBCSDt6Woz6PcVSqVS9fNpptapT1F+jd7NlFSGEmMUP+Uq/p6ifOZZKJam1VXtWjM0LbSKRSMsFOU7TfOPa7X6OhBBiFD/kq+aFNpFIRHrh8Z4UoxCi5epT/Z6jW3Jst5qLciSE+A0/5Kt2q09lFx7vSTGOj4+3XX3qlhy7LXGmHAkhfiGbnfQ8X3XbkiFTjj0pxvp7iq1wWo5G9/1QjoQQr5maLlda3XmYr4zuU5Qlx54U48DAQNctGU7J0exmWMqREOIVpbLAZE6rtLrzKF+Z3bwvQ449KcZQKGToebLlaLVCBOVICPGCYlmgP6qaanUnM19ZrWhjV449KUYzyJKj3bJJjQeb8RYwhBBilVBAQazPfFN0GXK0W+atWY5CGG+6TDEawK4cZdUSrB5s2Syyu803DyWEEDMEA8ab+zZjR46yap/Wy3F8fNzw6yhGg1iVo+wCu/F4vNICZlqz1FmbEELcwoocZRcEry8CYBSK0QRm5ehU1fl4vB+JPhWTOQ2lMkNICPEvZuQoW4o64XAYAwMDhp/PrGoSo3J0uhVLfE4A/VEVRc36pQ5CCHEDI3J0Soo6RhddAhSjJbrJ0a3+ZLG+AEKq8RvKhBDiFZ3k6LQUzUIxWqSdHN1uMhwMyCmaSwghTtNKjn6TItDj/Rjt0tzsOBKJIJfLsZ8iIYS0ob6fY6FQQD6f95UUAZ4x2kaXoxACuVwO0WiUUiSEkA7E43FEo1HkcjkIIXwlRYBilMLU1FT1//P5vOv9HAkhZDahnynq1OdQP0Ax2qT+nuLIyIjr/RwJIWQ2UX9PcWRkxJflLilGGzQvtHG7nyMAaNyuQQiZJbRaaOPHWtAUo0XarT51U47FooZCmWIkhPifTqtP/SZHitEC3bZkuCHHQlHD2FQZCr1ICPE5RrZkOC1HFhF3EKP7FJ2UY6FQQCpbRjCgIMx9jIQQH2Nmn6JTctQ0jUXEncLs5n0n5FgoFJBKjyIUUDDYH+AZIyHEt1jZvC9bjpqmIZ1Os4i4E1itaCNTjg0HWSIAhVYkhDiIyf6+DdipaCNLjroUi8Uii4jLxm6ZNxlybDjI5g1CpRQJIQ5TKGkoFs3bUUaZN7tyrJfi0NAQi4h3w8xNWFm1T+3I0Y+1BAkhez6KomBsquxZvrIqx2YphsNhU5/bkxl2fHwcmoFrBLILgluRI6VICPGKcFBBMKAglR71LF+ZlaNdKQI9KsZSqYR0Ot1Rjk51yTAjR0qREOIligIM9gc8z1dG5ShDikCPinFgYADFYrGtHJ1uHWVEjpQiIcQPKIqC5LxBz/NVNznKkiLQo2IMhUIYGhpqKUe3+il2kiOlSAjxE37JV+3kKFOKQI+KEQDC4fAMObrdZLjVwUYpEkL8iF/yVbMcZUsRmIVizOfzWL58ORRFwf/8z//Yeq96OW7bts1VKerUH2y7du3Crl27KEVCiC/xS76ql+O2bdukShGYhWL8whe+gAULFkh7v3A4jEgkUv0+FotJe2+jqKqKRCJR/T6RSFCKhBBf4pd8VZ+rI5GINCkCs0yMv/71r3H33Xfj6quvlvae2WwWuVwO0WgUiqJ0Xa3qBIVCAel0GqFQCKFQCOl0mv0cCSG+xA/5Sr98qigKotEocrmc1Nqqs0aMO3bswJo1a3DzzTdjzpw5Ut6z/p5iMplsuyDHSeqv0Q8NDVUrNLDZMSHEb/ghXzXfU0wmk9ILj88KMQohcMYZZ+Ccc87BypUrDb8un88jk8k0fOm0WmjTakGOk7S6ce1Fs2NCCOmGH/JVu4U2sguPeyrGiy66CIqidPx68cUXce211yKbzWL9+vWm3n/Dhg2YO3du9WvRokUAgKmpqbYLbdySY6fVXJQjIaRKdBhYelbjV3TY1SH4IV91W30qU45BW6+2yYUXXogzzjij43OWLFmC++67D3/6058aFskAwMqVK3Hqqafihz/8YcvXrl+/HuvWrat+n8lksGjRIkxNTWHvvfduu/pUl2MqlUI6nZa+4srIEmf9YEun00ilUlJXXBFCiFGKRQ0TU6MIhcKe5SujWzL0nK5fHbS6w8BTMQ4PD2N4uPtfPt/61rfwla98pfr91q1bceKJJ2Ljxo044ogj2r4uEonMkClQWc3U7RfmlBzN7PuhHAkhXqJpQCZXRmSOd/nK7D5FGXL0VIxGectb3tLwfX9/PwBg6dKlWLhwoen3M7olQ7YcrWyGbXmwhQKWx0AIIUYplDQEA5WScJbzlQ05Wt28b1eOs2LxjZfIuudop0IE7zkSQrxAURQM9gc8yVd2K9rYuec4K8W47777QgiB5cuXu/J5duUoo2xSw8GWHkXBQvNQQggxQzhYWQRpFrtylFXmrV6OU1NThl83K8XoBVblKLOWYMPBli1b6qxNCCFGseDEKlblKLv2qS5HitEhzMrRiQK7qqpWWsAEKp21Nc3GkUsIIQ5iVo5OFAQHKnI0U+6TYjSJUTk6WXVeVVUkEwEEAwoKZYqREOJfjMrRKSnqUIwO002ObrRiUd+8KW7nUgchhLhBNzk6LUWzUIwWaSdHN/uTKYqCcID3GQkh/qedHP0mRYBitEWzHPP5vOtNO3nGSAiZLTTLMZ/P+06KAMVoG12O+pliMBhkk2FCCGmDLsdgMFg9c/STFAGKkRBCCGmAYrSJfqaonzmWSiVPmh0TQshsQL+nWCqVqmeKfqvoRTHaoHmhTSQScb3ZsRCOfwQhhEiheaFNJBLxZblLitEi7VafutnsWAiBQpkhJIT4n3arT/1YC5pZ1QLdtmS4IUdNCIxNlnnGSAjxPd22ZPhNjhSjSYzuU3RSjpqmIZ0po1QWCAdoRkKIfzG6T9FpObJWqkOY3bzvhBw1TUN6dAzFssBgLABVpRgJIf7E7OZ9p+SYzWYpRiewWtFGphwbDrJ4AKEQw0cIcQ47t2qsVrSRLcdsNotMJsNaqbKxW+ZNhhwbDrLkPIQpRUKIwxRKAsKCHe2WeZMlR12KiUSCYpSJrNqnduTox1qChJA9H/HmIj8v8pVdOdZLMR6Pm/tsU8/eQzB6rVl2QXArcqQUCSFeEQ6qKJUF0qNjnuQrq3K0I0Wgh8WYzWY7PsepLhlm5EgpEkK8RFWBwVjA03xlVo52pQgAQUuvmuXEYjFkMhkAaPmLc7p1lC7HVCqFdDrd8jNMH2RasfsHayVAlGc+1u21WhGKVpr5eUpPHj6EzA4sz/dG8YRCKobi85BKj8nLVybR5ZhOp5FKpdp+hgwpAj0sRlVVW8rRrX6KneRo6SAbfbz7c8p5YPdfGx/TSkAg0vFlAa2IecVtjY/tzgJqqPtnEkK8weJ8b4X0fGWBbnKUJUWgR8VYLBaRSCQwZ84cjI+Po1QqIRaLoVgsYmxsDMFgEIlEAqVSqfub2WTu3LkYGxvDzp07MTg4CAAYGxtDqVSqfj/j0oHQgJJAsSRQ0hRMTBsMY1kAuTlND4aBQGfBFTUgU+preCxaDCFEMRLiXyzOd52J6SBK5UqeQaEIKKq1fCWZRCLRMIZQKISpqSlMTk6iv78fkUik5RiKRQNX1d6kJ8W4a9eu6gKcUqlU/StICAFFURAMBrF9+3bXxqNpGqanpzE5OQmgshJM71XWEiEAUYQmBISI4FevLEYwYKBjsdCA8lsaHwvMARQVQtSWZquKgrIQCAWUuvc9wPoPaIJSWaBYFggoCrQ34xEOKq42ZNY0oFDSoLz5oUIIhIMq3Gyx2T0e7sB44M3PnIXx6DDfjX7W+O7Ke6uTO6qPm85XDiCEQKlUwtatW6EoSiUub14F1K8ENrN7927D79+TYlQUpaHody6Xq95UDofDrjcZVlUViqJU/8oJh8MIBAIdXiGAcvX/EAmpCAWNiFEAxaZ7DiGlOlGiYYGd4yUAApGQgv6+TmNwjvHJEqYLlXjMHwhUE6KbBIvA2GTldzXYH/Bk3yjjUYPxqGE4Hl3mezeKJQFVVRryJWAlXzmDoijI5/PVE5pul3DNHLc9L8bmy6XlchnBoLu/Fk3TGsZRKpUQCAQ6C1rtAzQNWllDqH9vhMMGLo9oRWC66T37Rqr3CrPZSaihymrdkqIA0Xmur4QtFAooTY1CDVU2FRfUOOLxflfHoGkaJkbHoIYqE39ahDGnf9D1P5gYjwqMRw1T8egy37t/WBHK5A6oqtrwu7aUrxyg+dKopmkdczfFaJBSqYRCoQBFURCNRlEsFqsBj0TM36C2gqZp1b969M8sFArI5/OIRCIdDjal8qW8+RegYuAvNqU886/FN1+bzWaRyU4ikZiLWCxWucGdHnN1m0ihUEAqPYZQKIxkMompqanKZRFFtX0z3SiVWrTjKBZLGB6eDwCVS+2j444uxmqG8ajAeNQwHY8O890QSnnGQ9bzlVzy+TxKpRKCwSBCoRDy+Xz1DFbGiU1P7mMEGqWoBzQSiSAYDKJUKiGfzzs+hvqDLBwOIxgMIhgMIhwOQwiBfD7vSrPj5tVcXrSAabUaOB6PI5FIIJPJdN13KoNWq+vc7K+pw3hUYDxq+CUefshX9VKsz9365V0ZiyZ7Uoyaps2Qoo5bcmx1kOm4ebBls1Mtlzi7Ofk7bZFxa/J3WnLuZjJut+Sc8WA8vI6HH/JVsxR1ZMuxJ8VYLBZbSlHHaTl2Osh03DjYsrvLb14ear3vx43Jb2TfqNOT38g+LDeScbd9WIxHDcajhtPx0HOQ1/mqnRR1ZMqxJ8UIoOv1cKfkaESKOk4ebNndZWSmNSTi/R3vFzk5+c0UU3Bq8pvZnOxkMja6OZnxqMF41HAyHn7IV92kqCNLjj0pRqNbMmTL0cxBpuPEwVaVYp+KeLx7KxYnJr+VCkOyJ7+Vih1OJGOzFTsYjxqMRw0n4lEulz3PV0alqCNDjj0pRjPLdmXJ0YoUdWQebA1SnGN875HMyW+n7J6syW+njJXMZGy1jBXjUYPxqNEYD+Md65vRNA3j4+Oe5yuzUtSxK8eeFKNZ7MrRjhR1ZBxs2eyUJSnqyJj8MmrR2k3GMmo7ykjGtlvjMB5VGI8a1XhkJ5HdPXPLRTf0eOhCsrJ5X0a+sipFnWY5mhkDxWgQq3KUIUWd5oPNTGft6j4si1LUsTP5ZRZot5qMZRY8tpOMZRU8ZjxqMB414vE4EvF+ZKY1U3Ksj8fgoL0iCnbkaFeKOvVyNFMrlWI0gVk5ypSijpWDrTrp4/22pKhjZfI70bXEbDJ2oguAlWQsswsAwHjUw3jUiMdjSPSphuXYHI9QyH6TACv5SpYUdXQ5mnqN7U/tMYzK0Qkp6tQfbOVyuePB1jjpuy+0MYqZye9kKy+jydjJ1jhmkrHsJKzDeNRgPGrE5wQMydHJeJiRo2wp6qiqaupnohgt0E2OTkpRp/5gGx8fb3mwOTXpdYxMfjf6W3ZLxm70izOSjBmPCoxHDVfiUS/HFgty3IiHETk6JUUdM4suKUaLtJOjG1LUCQQC1TE0T36nJ71Op8nvVtNnoH0ydquJKtA5GTMeFRgPj+KhyzE76Vk8OsnRaSmahWK0QbMc3ZSijqqqGBwcbJj8bk36+jE0T343J71OczJ2c9LrtErGjAfj4Yt4zAlUFuR4GI9WcvSbFIEe764hAz2QpVIJpVKp2hfMzdZVoVAIQ0NDSKVS2LZtGwC4Nul19MmfTqexa9cuAJWk5GYHBADVn1lvWKooiqsdEIBaMmY8GA8d/8QjBqhBT+Oh58ZCoYDp6enqY36RIsAzRinUr95SFMX1fo5AZZLVH1ixmLyFNkZRVRWJRKL6fSKRcL1HG9D4s0ciEdd75gGMRz2MRwXGo0YwGGy45ydjBaxMKEab6JcC9ObH+vduk81mkcvlEI1GoSiKay156ikUCkin0wiFQgiFQkin06605KlHvzyk99jM5XKutORphvGowHjUYDxq6JdRVVWFoiiutawyCsVog+Z7in19fa72c9TRG5YmEgkkk0nX+9UBjQsJhoaGqvug3OpXB8xcSJBMJl3tV6dTfw+L8WA8AJ/EQ4g3mz57G4/6e4p9fX2u93M0AsVokXYLbdxudlwqlTA52dg6yu1mrq0WErjdzLXdQgK3m7m2WtjBeDAensdDCKQzZRRLJU/j0WqhjRfNjrtBMVqg2+pTt+So1//r75/ZOsqtyd9pdZ1bk7/b6jq3Jn+n1Y6MRw3Go4Jr8dClWBYYmjfoWTw6rT71mxxnlRjvvPNOHHHEEejr68Pg4CBOPvlk18dgdEuG03LM5/Mol8tQVbXtQgKnJ7+RJedOT36jS86dnvxGtgAwHjUYjwqOx6NeivEAwuHWi1ycjoeRLRlOy3GPLCL+85//HKeddhrOPPNMPP3003jooYfwiU98wtUxmN2n6JQc9YNM3+DfiYbJPzoOzUTh8U6Y2Yfl1OQ3uw/LqclvZl+cU8mY8ajBeFTQNK1RiqHO6d6peJjZp+iUHEul0p5XRLxUKuH888/HVVddhXPOOQdve9vbcOCBB+KjH/2oa2OwunlfthzrDzKjy6yrk79UQjpTti1HK5uTZU9+q5uTZU9+K5vFZSdjxqMG41FB07TKQhuDUtSpj8fUlPV+jjpWNu/LlmOpVDL9+5wVYnzyySexZcsWqKqKQw89FCMjI3jve9+LZ5991pXPt1vRRpYc7VSICIfDGJo3iGJZ2JKjnYodsia/3YodspKxnQoqspIx41GD8ahQjUepZEqKOno8JicnTTf4rcdOvpIlR12KeuEVo8wKMb766qsAgC996Uu45JJLcMcdd2BwcBDvfve7MTo62vZ1+Xy+WuFB/zKLrDJvduUoo2xSOBzCUDxgWY4yyljZnfyyyljZTcYyyorZTcaMRw3Go0JDPOYNmpaiTjweR39/PzRNsyRoGfnKrhzrpaj3ZDSKp2K86KKLoChKx68XX3yx+gu5+OKL8eEPfxgrVqzAjTfeCEVRcNttt7V9/w0bNmDu3LnVr0WLFgEwfhNWdu1Tq3KUWUswHFIb5WjwdyGztqPVyS+7tqPVZCyz1qbVZMx41GA8KsyMh71qMrFYDKqqolwue5avrMqxWYpm4+GpGC+88EK88MILHb+WLFmCkZERAMCBBx5YfW0kEsGSJUvw17/+te37r1+/HhMTE9WvzZs3AwCKxWLXSwROFQQ3K0cnCuw2yHG0dcuqepwoeGx28jtV8NhsMnaiALXZZMx41GA8KjgVj2AwiEAg4Gm+MitHu1IEPC4iPjw8jOHh4a7PW7FiBSKRCDZt2oSjjz4aQEVur7/+OhYvXtz2dZFIpG1w9AOtlfCc7pJRX3i8/vtmnKw6X5EjkNpdaVnVbkI72QWgvrByKpVqO6Gd7gJQX+i6/vtmnOzKUF/omvFgPAD/xCMcDjecTHiRr+oLj+fz+bbCkyFFYJbcY0wkEjjnnHNw2WWX4e6778amTZtw7rnnAgBOOeUU0+8XDoehKAoKhcKMM0e3Wkd1O3N0oxVLOKRWFuS0+cvYjdY43f4ydqs1TrczFTdaFXU7U2E8ajAeFdyKhx/yVbczR1lSBGaJGAHgqquuwj/+4z/itNNOw6pVq/CXv/wF9913HwYHB02/V/3N2Ho5ut1Psd3B5mZ/snA41HLyu9kvrt3kd7tfXLtk7Gb/vnbJmPFgPLyOhx/yVTs5ypQiMIv6MYZCIVx99dW4+uqrpbyfqqqIRCLI5/PVA61YLLraZBiYeVlV/383+5M1XzZKJBLVLgBu9YtrvmyUTCaRyWRcbaIKzLyMp/+/m/37GI8ajEcFv8TDD/mq+bJqKBSSKkVgFp0xOoEuR6DWBsXtJsNA419iXnWy1ie//pdwMBh0vYmqPvmDwWD1L2O3m6gCjWcqbidhHcajBuNRwS/x8EO+0s8c69v8yZIi0ONiJIQQQprpaTG2+muj1YIcp6m/Ru9FP0egds9E/8u4VCq53sxVv2dSqmuN42a/Op36e1he9KsDGI96GI8KfomHH/KVfk+x1VU/GfSsGFsttGm1IMdpmm9cu93PEZi5kCASibjezLV5IUEkEnG1X51O88IOt/vVAYxHPYxHBb/Eww/5qnmhjROFx3tSjPovsHmhjf7Xh1tybLeay82DrVAotlxd52Yz13ar69xu5tputaObybjdakfGg/HwOh5+yFftVp/KlmNPirFQKLRdfeqWHLstcXbjYCsUNaRGx9qurnNj8ndbcu7W5O+2BcCNZNxtCwDjUYPxqOBWPPyQr7ptyZApx54UI4COq0+dlqPRfT9OHmyFooZUtoxQl9V1Tk5+o/uwnJ78RvfFOZmMje6LYzxqMB4VnI6HngO9zFdG9ynKkmNPijEUCnXdkuGUHM1uhnXiYKtKMaAgOW+g6xJnJya/2c3JTk1+s5vFnUjGZjeLMx41GI8KTsWjVCqhXC57mq/Mbt6XIceeFKPRvS6y5Wi1QoTMg61BiomA4d+FzMlvtWKH7MlvtYKKzGRstYIK41GD8agwMx7GO9a3YmpqCpqmIRAIeJavrFa0sSvHnhSjGWTJ0W7ZJBkHW6FQbJSiif5kgJzJb7eMlaxkbLesmIxkbLesGONRg/Go0BCP0TEUitYEnc1mMTk5CVVVLRUQkJGv7JZ5a5ajMNF/lmI0gF05yqolaOdgKxQKlYU2FqWoY2fyy6rtaDcZy6q1aScZy6q1yXjUYDwqVOMRDCKVLZuWox6P/v5+W1XA7OQrWbVP6+Vo5rikGA1iVY6yC+zWH2xGA12d9MGgLSnqWJn8sgseW03GsgtQW0nGsgtQMx41GI8KqqoiOW8AoYBiSo718YjFYrbGAFiTo/SC4G/K0QwUownMytGpqvP6wVYul7uOoWHSzxuwLUUdM5PfqS4AZpOxU10ZzCRjp7oyMB41GI8KqqoimQgYlqNT8TAjR9lS1AkGgwiFQoafTzGaxKgcnW7FEolEEAgEoGkapqamWj7H6dY4Ria/061xjCZjp1sVGUnGjEcNxqOC4/FQlEY5tlmQ43Q8jMjRKSnqmHk/itEC3eToVn+ycDgMVVUxOTk5Y/K71S+u0+R3q19ct2TsVv++TsmY8ajBeFRwLR71chwd8yweneTotBTNQjFapJ0c3WzaCVQuEfT39zdMfjebqAKtJ7/bTVTbJWM3m9oCrZMx48F4eB4PXY51LasA9+PRSo5+kyIwixoV+5HmZsfFYhGaprnenywWiyEYDCKTyTQ073SzX1x9M9dUKgUADV0A3KC5mWskEkEul3O9f199c13Gg/EAfBIPpVLQIz2W9TQe9c2ONU2DEMJXUgR6TIz6Ppbp6Wnp76v/BaYoCoQQKBbtba41+rlAZcKHQiGUy2WMjo4CAIaHh2feWxFFINf0sxczgGL8pnQ3QqEQxsfHAQADAwOYnp6W/vs2OoapqSlEIhFomoaJiQlXxwCgezxcgPGo0XPxaDnfJw3Ho1gsVsemSFq0V49esxqo/OFQLpelf0Y9+s9iZD+jIszsepzlvPHGG1i0aJHXwyCEEOIRmzdvxsKFCzs+p6fEqGkatm7ding87shfQJlMBosWLcLmzZuRSCSkv7/X8Oeb3fDnm93w57OHEALZbBYLFizoXm9V+qf7GFVVu/6lIAO90/ieCn++2Q1/vtkNfz7rzJ0719Dz/HGnkxBCCPEJFCMhhBBSB8UokUgkgssuu8zVrRpuwp9vdsOfb3bDn889emrxDSGEENINnjESQgghdVCMhBBCSB0UIyGEEFIHxeggd955J4444gj09fVhcHAQJ598stdDkk4+n8fy5cuhKAr+53/+x+vhSOH111/HWWedhf322w99fX1YunQpLrvsMtOd6f3Ed77zHey7776IRqM44ogj8Oijj3o9JGls2LABq1atQjwex/z583HyySdj06ZNXg/LMf7t3/4NiqLgggsu8Hoo0tiyZQs++clPIplMoq+vDwcffDAef/xxz8ZDMTrEz3/+c5x22mk488wz8fTTT+Ohhx7CJz7xCa+HJZ0vfOELWLBggdfDkMqLL74ITdPwve99D8899xy++c1v4vrrr8f//t//2+uhWWLjxo1Yt24dLrvsMjz55JN45zvfiRNPPBE7d+70emhS+N3vfoe1a9fi4Ycfxj333INisYgTTjihbZ/S2cxjjz2G733vezjkkEO8Hoo0xsbGcNRRRyEUCuHXv/41nn/+eXz961/H4OCgd4MSRDrFYlHss88+4j/+4z+8Hoqj/OpXvxLLli0Tzz33nAAgnnrqKa+H5Bhf+9rXxH777ef1MCxx+OGHi7Vr11a/L5fLYsGCBWLDhg0ejso5du7cKQCI3/3ud14PRSrZbFa89a1vFffcc4849thjxfnnn+/1kKTwxS9+URx99NFeD6MBnjE6wJNPPoktW7ZAVVUceuihGBkZwXvf+148++yzXg9NGjt27MCaNWtw8803Y86cOV4Px3EmJiYwb948r4dhmkKhgCeeeAKrV6+uPqaqKlavXo0//elPHo7MOfROEbMxXp1Yu3YtTjrppIZY7gn88pe/xMqVK3HKKadg/vz5OPTQQ/H973/f0zFRjA7w6quvAgC+9KUv4ZJLLsEdd9yBwcFBvPvd7662vZnNCCFwxhln4JxzzsHKlSu9Ho7jvPLKK7j22mvx6U9/2uuhmCaVSqFcLmOvvfZqeHyvvfbC9u3bPRqVc2iahgsuuABHHXUUDjroIK+HI41bb70VTz75JDZs2OD1UKTz6quv4rrrrsNb3/pW3HXXXTj33HPxuc99Dj/84Q89GxPFaIKLLroIiqJ0/NLvTwHAxRdfjA9/+MNYsWIFbrzxRiiKgttuu83jn6I9Rn++a6+9FtlsFuvXr/d6yKYw+vPVs2XLFrznPe/BKaecgjVr1ng0cmKUtWvX4tlnn8Wtt97q9VCksXnzZpx//vm45ZZbEI1GvR6OdDRNw2GHHYYrr7wShx56KM4++2ysWbMG119/vWdj6qnuGna58MILccYZZ3R8zpIlS7Bt2zYAwIEHHlh9PBKJYMmSJfjrX//q5BBtYfTnu++++/CnP/1pRummlStX4tRTT/X0L71OGP35dLZu3YrjjjsORx55JG644QaHR+cMQ0NDCAQC2LFjR8PjO3bswN577+3RqJzhvPPOwx133IEHH3zQlS46bvHEE09g586dOOyww6qPlctlPPjgg/j2t7+NfD6PQCDg4QjtMTIy0pArAeCAAw7Az3/+c49GRDGaYnh4GMPDw12ft2LFCkQiEWzatAlHH300gEo37Ndffx2LFy92epiWMfrzfetb38JXvvKV6vdbt27FiSeeiI0bN+KII45wcoi2MPrzAZUzxeOOO656tt+tf5tfCYfDWLFiBe69997qdiFN03DvvffivPPO83ZwkhBC4LOf/Sx+8Ytf4IEHHsB+++3n9ZCkcvzxx+OZZ55peOzMM8/EsmXL8MUvfnFWSxEAjjrqqBnba1566SVvc6XXq3/2VM4//3yxzz77iLvuuku8+OKL4qyzzhLz588Xo6OjXg9NOq+99toetSr1jTfeEPvvv784/vjjxRtvvCG2bdtW/ZqN3HrrrSISiYibbrpJPP/88+Lss88WAwMDYvv27V4PTQrnnnuumDt3rnjggQcaYrV7926vh+YYe9Kq1EcffVQEg0Hxr//6r+Lll18Wt9xyi5gzZ4740Y9+5NmYKEaHKBQK4sILLxTz588X8XhcrF69Wjz77LNeD8sR9jQx3njjjQJAy6/ZyrXXXive8pa3iHA4LA4//HDx8MMPez0kabSL1Y033uj10BxjTxKjEEL893//tzjooINEJBIRy5YtEzfccIOn42F3DUIIIaSO2XnjhBBCCHEIipEQQgipg2IkhBBC6qAYCSGEkDooRkIIIaQOipEQQgipg2IkhBBC6qAYCSGEkDooRkIIIaQOipEQQgipg2IkhBBC6qAYCdmD2bVrF/bee29ceeWV1cf++Mc/IhwO49577/VwZIT4FxYRJ2QP51e/+hVOPvlk/PGPf8Tb3/52LF++HB/84AfxjW98w+uhEeJLKEZCeoC1a9fit7/9LVauXIlnnnkGjz32GCKRiNfDIsSXUIyE9ADT09M46KCDsHnzZjzxxBM4+OCDvR4SIb6F9xgJ6QH+/Oc/Y+vWrdA0Da+//rrXwyHE1/CMkZA9nEKhgMMPPxzLly/H29/+dlxzzTV45plnMH/+fK+HRogvoRgJ2cP5l3/5F/zsZz/D008/jf7+fhx77LGYO3cu7rjjDq+HRogv4aVUQvZgHnjgAVxzzTW4+eabkUgkoKoqbr75Zvz+97/Hdddd5/XwCPElPGMkhBBC6uAZIyGEEFIHxUgIIYTUQTESQgghdVCMhBBCSB0UIyGEEFIHxUgIIYTUQTESQgghdVCMhBBCSB0UIyGEEFIHxUgIIYTUQTESQgghdVCMhBBCSB3/P2B2EznA+IZ/AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sim = td.Simulation(\n", " size=sim_size,\n", " grid_spec=grid_spec,\n", " sources=[gaussian_source],\n", " monitors=[mnt_xy, mnt_flux_f, mnt_flux_b, mnt_yz_1, mnt_yz_2],\n", " run_time=run_time,\n", " boundary_spec=td.BoundarySpec.all_sides(boundary=td.PML()),\n", ")\n", "sim.plot(z=0)\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "ffcf9d6d", "metadata": { "execution": { "iopub.execute_input": "2023-03-27T20:46:11.546048Z", "iopub.status.busy": "2023-03-27T20:46:11.545876Z", "iopub.status.idle": "2023-03-27T20:46:34.342543Z", "shell.execute_reply": "2023-03-27T20:46:34.341963Z" } }, "outputs": [ { "data": { "text/html": [ "
[14:27:01] Created task 'free space gaussian' with task_id                      webapi.py:139\n",
       "           'fdve-2ff9d5bf-36ed-49d4-a877-6b8c026fa524v1'.                                    \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:27:01]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'free space gaussian'\u001b[0m with task_id \u001b]8;id=895886;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=385715;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m\u001b[32m'fdve-2ff9d5bf-36ed-49d4-a877-6b8c026fa524v1'\u001b[0m. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "d0d1f6aeda874f53a96a692f64b2ac8b", "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": [ "
[14:27:02] status = queued                                                      webapi.py:269\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:27:02]\u001b[0m\u001b[2;36m \u001b[0mstatus = queued \u001b]8;id=759145;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=138485;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#269\u001b\\\u001b[2m269\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": [ "
[14:27:06] status = preprocess                                                  webapi.py:263\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:27:06]\u001b[0m\u001b[2;36m \u001b[0mstatus = preprocess \u001b]8;id=591490;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=295651;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#263\u001b\\\u001b[2m263\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": [
       "
[14:27:12] Maximum FlexCredit cost: 0.025. Use 'web.real_cost(task_id)' to get    webapi.py:286\n",
       "           the billed FlexCredit cost after a simulation run.                                  \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:27:12]\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 \u001b]8;id=590581;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=343215;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#286\u001b\\\u001b[2m286\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0mthe billed FlexCredit cost after a simulation run. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           starting up solver                                                   webapi.py:290\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0mstarting up solver \u001b]8;id=937061;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=296218;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#290\u001b\\\u001b[2m290\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           running solver                                                       webapi.py:300\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0mrunning solver \u001b]8;id=228761;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=284043;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#300\u001b\\\u001b[2m300\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "aaeae8e1bcf04333a6acb230230334d0", "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": [ "
           status = postprocess                                                 webapi.py:330\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0mstatus = postprocess \u001b]8;id=428043;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=824721;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#330\u001b\\\u001b[2m330\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": [ "
[14:27:27] status = success                                                     webapi.py:337\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:27:27]\u001b[0m\u001b[2;36m \u001b[0mstatus = success \u001b]8;id=239780;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=940501;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#337\u001b\\\u001b[2m337\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": "80ed3cee80df4e3582b59766a1b47002",
       "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": [ "
[14:27:28] loading SimulationData from simulation_data.hdf5                     webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:27:28]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from simulation_data.hdf5 \u001b]8;id=604164;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=805707;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sim_data = web.run(sim, task_name=\"free space gaussian\", verbose=True)\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "061b02ad", "metadata": { "execution": { "iopub.execute_input": "2023-03-27T20:46:34.698560Z", "iopub.status.busy": "2023-03-27T20:46:34.698349Z", "iopub.status.idle": "2023-03-27T20:46:34.978560Z", "shell.execute_reply": "2023-03-27T20:46:34.977959Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhEAAAHHCAYAAAABEQq9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPx0lEQVR4nO3deXxTVfo/8M9NoWkLbVmEQr9sZRkQEFEWF5RFGVFBrY7iLqCDggVEZmSZUQqoFBGFARkEfiM4IAPjgrii6Mg2g4AgyKqgoliE4kILLaRtcn5/lMakuSfck3uT3DSft6+8Xvb25twnN6F9eu7znKsJIQSIiIiIFDmiHQARERHFJiYRREREFBImEURERBQSJhFEREQUEiYRREREFBImEURERBQSJhFEREQUEiYRREREFBImEURERBQSJhExokWLFhg8eHBUjr1kyRK0a9cONWvWRJ06dSwff9KkSdA0zfJxKfwq37uffvrJkvFatGiBAQMGWDIWEYUfk4goW7x4MTRN032MHz8+2uFh//79GDx4MFq1aoWFCxdiwYIF0Q4pqBUrVuCee+5BmzZtoGkaevfurTzGP/7xD5x//vlISkpCmzZtMGfOHN398vPzMXDgQNSpUwdpaWm46aab8M0335h8BaF56623cPHFFyMpKQnNmjVDbm4uysvLA/Y7ceIEHnzwQTRo0AC1atVCnz59sH379ihEbC9PP/00brzxRmRkZEDTNEyaNEl5jO3bt+PGG29EvXr1kJKSgo4dO2L27Nl++/Tu3Vv33/q1115r0Sv5jcfjwfTp05GVlYWkpCR06tQJ//rXv4I+p6ysDO3bt4emaZgxY4blMVH1UyPaAVCFKVOmICsry29bx44doxTNb9auXQuPx4O//e1vaN26dbTDOad58+Zh27Zt6NatG37++Wfl58+fPx/Dhg3DH/7wB4wZMwYbNmzAqFGjUFJSgnHjxnn3O3XqFPr06YPCwkL85S9/Qc2aNTFz5kz06tULO3bsQP369a18WUG9//77yM7ORu/evTFnzhzs2rULTz31FAoKCjBv3jzvfh6PB/3798fOnTvx2GOP4bzzzsPf//539O7dG9u2bUObNm0iFrPdPP7442jUqBEuuugifPDBB8rP//DDD3HDDTfgoosuwhNPPIHatWvj66+/xg8//BCwb5MmTZCXl+e3LTMzM+TYZf76179i2rRpGDp0KLp164ZVq1bhrrvugqZpuOOOO3SfM2fOHHz//feWx0LVmKCoWrRokQAgtm7dGnS/5s2bi0GDBkUmKB+TJ08WAMTx48fDdozc3Fxh1Ufx+++/F263WwghRIcOHUSvXr0MP7ekpETUr19f9O/f32/73XffLWrVqiV++eUX77ZnnnlGABBbtmzxbtu3b59ISEgQEyZMMPcizvrkk08EAPHtt98G3a99+/biwgsvFGVlZd5tf/3rX4WmaWLfvn3ebStWrBAAxKuvvurdVlBQIOrUqSPuvPPOkGKsfO+s+nw0b9484PxHQuU5Pn78uAAgcnNzDT+3sLBQZGRkiJtvvtn72ZPp1auX6NChg4lIjfnhhx9EzZo1RU5Ojnebx+MRV155pWjSpIkoLy8PeM6xY8dEenq6mDJligAgnn322bDHSbGPlzNilKyOoPLyyKFDhwAA//nPf+BwODBx4kS//ZYtWwZN0/z+Uq2qRYsWyM3NBQA0aNDAO8178cUX45ZbbvHb94ILLoCmafjiiy+821asWAFN07Bv3z7vto0bN6Jbt25ISkpCq1atMH/+fOXXHkzTpk3hcIT2sf7kk0/w888/4+GHH/bbnpOTg+LiYrz77rveba+99hq6deuGbt26ebe1a9cOV199Nf7973/7Pd/lciE3NxetW7eG0+lE06ZNMXbsWLhcrpDi9LV3717s3bsXDz74IGrU+G1i8eGHH4YQAq+99ppfzBkZGX7vXYMGDTBw4ECsWrXKVDw//fQTBg4ciLS0NNSvXx+PPPIIzpw5E7Df0qVL0b17d6SkpKBu3bro2bMnPvzww6Bjv/zyy6hRowYee+yxkOM7lxYtWoT83GXLluHYsWN4+umn4XA4UFxcDI/HE/Q55eXlOHXqVNB98vPzcf/99yMjIwNOpxMdOnTASy+9ZCimVatWoayszO+zrGkahg8fjh9++AGbNm0KeM748ePRtm1b3HPPPYaOQQSwJsI2CgsL8dNPP/k9rHDVVVfh4YcfRl5envfa948//oiRI0eib9++GDZsmPS5s2bNws033wyg4jLBkiVLcMstt+DKK6/Exo0bvfv98ssv2LNnDxwOBzZs2ODdvmHDBjRo0ADnn38+AGDXrl245pprUFBQgEmTJmHIkCHIzc3FypUrDZ0Pvce5fhCr+PzzzwEAXbt29dvepUsXOBwO7/c9Hg+++OKLgP0AoHv37vj6669x8uRJ77433ngjZsyYgRtuuAFz5sxBdnY2Zs6cidtvvz1sMWdmZqJJkybe71fue/HFFwckWd27d0dJSQm++uqrkOMYOHAgzpw5g7y8PFx//fWYPXs2HnzwQb99Jk+ejHvvvRc1a9bElClTMHnyZDRt2hT/+c9/pOMuWLAAQ4YMwfjx4/Hss896t//666+GPh8lJSUhvyajPvroI6SlpSE/Px9t27ZF7dq1kZaWhuHDh+smUl999RVq1aqF1NRUNGrUCE888QTKysr89jl27BguvfRSfPTRRxgxYoT3cuIDDzyAWbNmnTOmzz//HLVq1fL+26vUvXt37/d9bdmyBS+//DJmzZrFImdSE+2pkHhXeTlD7+Gr6uUM2SWAyvF8p8CLi4tF69atRYcOHcSZM2dE//79RVpamvjuu+/OGZ/edPWrr74qAIi9e/cKIYR46623hNPpFDfeeKO4/fbbvft16tRJ3Hzzzd6vs7OzRVJSkt9x9+7dKxISEgJeS69evaTnxfcR7BKP6uWMnJwckZCQoPu9Bg0aiDvuuEMI8duU95QpUwL2mzt3rgAg9u/fL4QQYsmSJcLhcIgNGzb47ffiiy8KAOK///2vNB4jlzOeffZZAUB8//33Ad/r1q2buPTSS71f16pVS9x///0B+7377rsCgFi9erX0ODKVn48bb7zRb/vDDz8sAIidO3cKIYQ4cOCAcDgculP+Ho/H+/++lzP+9re/CU3TxJNPPhlw3ObNmxv6fKhclhAitMsZnTp1EikpKSIlJUWMHDlSvP7662LkyJECgPczU+n+++8XkyZNEq+//rr45z//KW688UYBQAwcONBvvwceeEA0btxY/PTTT37b77jjDpGeni5KSkqCxtS/f3/RsmXLgO3FxcUCgBg/frx3m8fjEd27d/de0vr22295OYMMY2GlTcydOxe/+93vwjJ2SkoKFi9ejJ49e6Jnz57YsmUL/vGPf6BZs2YhjXfllVcCANavX4/zzz8fGzZsQLdu3fD73//eWzB24sQJ7N6929uW6na78cEHHyA7O9vvuOeffz769euH9957z+8Yzz33HH799ddzxmJlQdrp06eRmJio+72kpCScPn3aux8AOJ1O3f1893n11Vdx/vnno127dn6zS1dddRWAiksol19+OYCK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dNVfFpXdFbfeeqtYuHChuO+++wQA8fTTT/vtV1RUJFq1aiUaNmwopk+fLmbOnCmaNm0qMjMz/X7Iu91ucf311wtN08Qdd9wh5syZI2bNmiWGDRsm6tWrF/R9N5pEvP3220LTNHHVVVeJBQsWiFGjRgmHwyGGDh3qt195ebm49NJLRe3atcXkyZPF3LlzRYcOHURqaqq3m6TSoEGDDB278vNxwQUXiBtuuEHMnTtX3HPPPbq/VJ944gkBQFx++eVixowZYs6cOeK+++7z6xSoutjUF198IerVqye6dOkiCgsLg8Zixj//+U/x5JNPigkTJggAok+fPt7PzaFDhwJe7yeffOL3/Pvvv9/bZTF37lxx2223CQB+C4998sknolGjRuLRRx8Vc+fOFTNmzBA9evQQAMSDDz7oN97Ro0dF8+bNRUpKinjkkUfE/PnzRV5enrjttttE3bp1Db2mxx57zDv2woULRf/+/QUA8corrwR9HrszSAWTiCgzs2Lltm3bxCWXXCISExNFs2bNxPPPPx/Q4vnoo4+KhIQEsXnzZr/nfvbZZ6JGjRpi+PDhQY8bLImo/EG5YsUK77bS0lKRkpIiEhMTvUmLr3Xr1okuXbqIxMRE0bJlS/Hiiy9aumJl5Vh6D9+EQZZECCHEggULRNu2bUViYqJo1aqVmDlzpt9fy5UOHz4sbr31VpGWliZq164tBgwYIA4cOBCwX2lpqXjmmWdEhw4dhNPpFHXr1hVdunQRkydPDvqL0WgSIYQQK1euFJ07dxZOp1M0adJEPP7446K0tDRgv19++UU88MADon79+iIlJUX06tVL97P3hz/8QSQnJ4tff/016HErz/fevXvFrbfeKlJTU0XdunXFiBEjdN//l156SVx00UXe89CrVy+xZs0a7/f1VqzcvHmzSE1NFT179jxna2OogrUU+yYMsiSitLRUTJo0STRv3lzUrFlTtG7dWsycOdNvn2+++UbcdtttokWLFiIpKUmkpKSILl26iBdffFH383Xs2DGRk5MjmjZtKmrWrCkaNWokrr76arFgwQJDr8ntdoupU6eK5s2bi8TERNGhQwexdOnScz6PSQSp0IQQwpLrIkRUbWRkZOC+++7zW+CJiKgqJhFE5GfPnj247LLL8M033+C8886LdjhEZGNMIoiIiCgkvHcGERERhYRJBBEREYWESQQR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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1)\n", "sim_data.plot_field(\"field_xy\", field_name=\"Ey\", val=\"abs\", ax=ax)\n", "ax.set_xlim([-sim.size[0] / 2, sim.size[0] / 2])\n", "ax.set_ylim([-sim.size[1] / 2, sim.size[1] / 2])\n", "ax.set_title(\n", " f\"Flux fwd={float(sim_data['flux_f'].flux):1.2e}, bck={float(sim_data['flux_b'].flux):1.2e}\"\n", ")\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "32705449", "metadata": {}, "source": [ "### Custom source from simulation data\n", "\n", "Now we can use the recorded data as an input to a [CustomFieldSource](../_autosummary/tidy3d.CustomFieldSource.html) in another simulation. We will run two simulations to illustrate the difference between zero and nonzero size of the monitor along `x`. Note that we can create the source directly using the [FieldData](../_autosummary/tidy3d.FieldData.html) method `to_source`. Note that we can center the source anywhere we want. The size of the source is by default taken from the [FieldData](../_autosummary/tidy3d.FieldData.html) used to create it. However, the source size needs to be `0` along one of the directions, so in the case of the `nonzero_size_x` data, we have to manually reset it." ] }, { "cell_type": "code", "execution_count": 7, "id": "3ff5d0d7", "metadata": { "execution": { "iopub.execute_input": "2023-03-27T20:46:34.980773Z", "iopub.status.busy": "2023-03-27T20:46:34.980584Z", "iopub.status.idle": "2023-03-27T20:46:35.050270Z", "shell.execute_reply": "2023-03-27T20:46:35.049763Z" } }, "outputs": [], "source": [ "custom_src_1 = sim_data[\"yz_zero_size_x\"].to_source(source_time=pulse, center=(0, 0, 0))\n", "custom_src_2 = sim_data[\"yz_nonzero_size_x\"].to_source(\n", " source_time=pulse,\n", " center=(0, 0, 0),\n", " size=(\n", " 0,\n", " 8,\n", " 8,\n", " ), # by default taken from the data, but it must be reset to zero along x\n", ")\n", "sim_1 = td.Simulation(\n", " size=sim_size,\n", " grid_spec=grid_spec,\n", " sources=[custom_src_1],\n", " monitors=[mnt_xy, mnt_flux_f, mnt_flux_b],\n", " run_time=run_time,\n", " boundary_spec=td.BoundarySpec.all_sides(boundary=td.PML()),\n", ")\n", "sim_2 = td.Simulation(\n", " size=sim_size,\n", " grid_spec=grid_spec,\n", " sources=[custom_src_2],\n", " monitors=[mnt_xy, mnt_flux_f, mnt_flux_b],\n", " run_time=run_time,\n", " boundary_spec=td.BoundarySpec.all_sides(boundary=td.PML()),\n", ")\n" ] }, { "cell_type": "code", "execution_count": 9, "id": "1d0b3bcd", "metadata": { "execution": { "iopub.execute_input": "2023-03-27T20:46:35.052396Z", "iopub.status.busy": "2023-03-27T20:46:35.052215Z", "iopub.status.idle": "2023-03-27T20:46:54.357434Z", "shell.execute_reply": "2023-03-27T20:46:54.356836Z" } }, "outputs": [ { "data": { "text/html": [ "
[14:28:46] Created task 'zero_x' with task_id                                   webapi.py:139\n",
       "           'fdve-36edde23-9270-4133-9a85-33fe1c7e09f9v1'.                                    \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:28:46]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'zero_x'\u001b[0m with task_id \u001b]8;id=308708;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=715580;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m\u001b[32m'fdve-36edde23-9270-4133-9a85-33fe1c7e09f9v1'\u001b[0m. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "4cae42a127c045c7bb7ae943684fe55d", "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": { "application/vnd.jupyter.widget-view+json": { "model_id": "1c7fd0dbc98849af97535fac38f995f1", "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": [ "
[14:28:47] Created task 'nonzero_x' with task_id                                webapi.py:139\n",
       "           'fdve-5be0ba3d-3d6b-479c-81c2-b783057403a5v1'.                                    \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:28:47]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'nonzero_x'\u001b[0m with task_id \u001b]8;id=876254;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=159887;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m\u001b[32m'fdve-5be0ba3d-3d6b-479c-81c2-b783057403a5v1'\u001b[0m. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7a00d9775ac74117bbad0ad2d11d8051", "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": { "application/vnd.jupyter.widget-view+json": { "model_id": "cedf430c6ccc480fa2ef4f01f3cabc46", "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": [ "
[14:28:48] Started working on Batch.                                         container.py:402\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:28:48]\u001b[0m\u001b[2;36m \u001b[0mStarted working on Batch. \u001b]8;id=210738;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\u001b\\\u001b[2mcontainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=863426;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#402\u001b\\\u001b[2m402\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "4b9dc656fc4b4d3cac6be932d710bd7d", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[14:31:09] Batch complete.                                                   container.py:436\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:31:09]\u001b[0m\u001b[2;36m \u001b[0mBatch complete. \u001b]8;id=91553;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\u001b\\\u001b[2mcontainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=121546;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#436\u001b\\\u001b[2m436\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" } ], "source": [ "batch = web.Batch(simulations={\"zero_x\": sim_1, \"nonzero_x\": sim_2}, verbose=True)\n", "batch_results = batch.run(path_dir=\"data\")\n" ] }, { "cell_type": "markdown", "id": "4f22fc0f", "metadata": {}, "source": [ "Below we plot the injected field in the two simulations. As can be seen, there is a bit of backwards ppower injected in the simulation in which we used a `FieldMonitor` with size `0` along x, while the injection is extremely clean in the case where the size of the monitor was slightly larger than zero. As mentioned above, this is because the fields from the original simulation are captured exactly as they are on the numerical grid." ] }, { "cell_type": "code", "execution_count": 10, "id": "1c3b481c", "metadata": { "execution": { "iopub.execute_input": "2023-03-27T20:46:54.656545Z", "iopub.status.busy": "2023-03-27T20:46:54.656309Z", "iopub.status.idle": "2023-03-27T20:46:56.475472Z", "shell.execute_reply": "2023-03-27T20:46:56.474936Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "64045feedf474d5f940ec2b23ec631f8", "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": [ "
[14:31:10] loading SimulationData from                                          webapi.py:512\n",
       "           data/fdve-36edde23-9270-4133-9a85-33fe1c7e09f9v1.hdf5                             \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:31:10]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from \u001b]8;id=984109;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=920210;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0mdata/fdve-\u001b[93m36edde23-9270-4133-9a85-33fe1c7e09f9\u001b[0mv1.hdf5 \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "edc184fc671a45aaa5d048c956b3fed9", "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": [ "
[14:31:10] loading SimulationData from                                          webapi.py:512\n",
       "           data/fdve-5be0ba3d-3d6b-479c-81c2-b783057403a5v1.hdf5                             \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:31:10]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from \u001b]8;id=128187;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=209010;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0mdata/fdve-\u001b[93m5be0ba3d-3d6b-479c-81c2-b783057403a5\u001b[0mv1.hdf5 \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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T6w8ICoqCkuWLLHZdvv2bTz33HM2d8k2bNiA9u3bo379+khNTYXRaLR+Cd66dSsaNWpkU0e3bt1QrVo1TJ061XoB+L//+z98+OGH6Nq1K0aNGoXt27cjLS0NBw4cwMqVK522MycnB23btkV2djaGDh2K2NhYnD59Gl999RWuXbuGyMhIyXL25wYA48ePx4ULF1CyZEkA+R2VZs2aoXz58hg7dizCwsLw2WefoUuXLlixYgUeffRR2fcxKysLly5dstkWHh4u+QTNbDajc+fO2LZtG/r3748777wTe/fuxaxZs/DXX39h1apVhR7n3LlzaNmyJXJzc61tXbhwoXXYoVIBAQF48skn8fLLL2Pbtm3o2LEjAGDevHmoVasWOnfujMDAQHz55ZcYPHgwzGYzUlJSAACzZ8/G0KFDUbJkSbz00ksAgJiYGADA33//jVWrVqFbt25ITEzE+fPnsWDBAjRv3hx//vkn4uPjnbZLyfGl3Lp1Cy1atMCRI0cwZMgQJCYm4vPPP0dycjKuXbuG4cOH2+y/bNkyZGZmYsCAATAYDJgxYwYee+wx/P3339ahkV9//TWeeOIJ1KlTB2lpabh69Sr69u2L8uXLy76/Dz74IAYPHoy0tDR06dIF99xzD86ePYuhQ4eidevWGDhwoGwdRMVF9+7dkZiYiLS0NPz222947733EB0dbfO03JX4cOTIEXTt2hV9+/ZFr1698MEHHyA5ORn169dHrVq1ALjn2j948GBERUVhwoQJuHHjBoD8zuMrr7yC1q1bY9CgQTh06BDmzZuHnTt34scff5Qdav34449j//79GDp0KCpXrowLFy5g7dq1+Oeffwq9gTN79mxcv37dZtusWbOwZ88elC1bFgBw/vx5NGnSxPqFOyoqCt9++y369u2LjIwMRcPdbt++7RDXQkNDERoaKrn/gAEDsHjxYvTu3RvDhg3DsWPHMGfOHOzevdvpe3Hr1i20atUK//zzD4YNG4b4+HgsWbIEGzZskG2jvWeffRY//PAD1q5di+rVqwPI7xiXLFkSI0eORMmSJbFhwwZMmDABGRkZeO211wAAL730EtLT03Hq1CnMmjULAKyfk4yMDLz33nt48skn0a9fP2RmZuL9999H27ZtsWPHDtSrV89pm5QcX4oQAp07d8bGjRvRt29f1KtXD99//z1Gjx6N06dPW9tpsW3bNnzxxRcYPHgwwsPD8dZbb+Hxxx/HP//8Y/1c7N69G+3atUNcXBxeeeUV5OXlYdKkSYiKipJ9b++8805MnjwZo0ePRteuXdG5c2fcuHEDycnJqFGjBiZNmiRbB3mZIK8YPHiwCAgIEBs2bBBCCGE2m0W1atVE27Zthdlstu538+ZNkZiYKB566CHrttTUVAFAPPnkkzZ17tmzRwAQ//d//2ez/fnnnxcArMcqzO7duwUA8fnnnzvdLyEhQfTq1avQ38+YMUMAEB999JF1W6tWrUSdOnVEVlaWdZvZbBZNmzYV1apVc3o8IYQAIPlatGiREEKI5s2bi+bNm1v3X7JkiTAajWLr1q029cyfP18AED/++GOh5zNixAgBQGzfvt267cKFCyIyMlIAEMeOHbNub968uahVq1ah7V65cqUAIN58803rtps3bzrs17ZtW1GlShWbbbVq1bI5J4usrCyRl5dns+3YsWPCZDKJSZMmFdoWV49v/57Onj1bABAff/yxdVtOTo649957RcmSJUVGRoa1LQBE2bJlxZUrV6z7rl69WgAQX375pXVbnTp1RIUKFURmZqZ126ZNmwQAkZCQIHsuN27cEFWrVhW1atUSWVlZomPHjiIiIkKcOHFCtixRcWCJB3369LHZ/uijj4qyZctaf3YlPiQkJAgAYsuWLdZtFy5cECaTSYwaNarQthTl2r9o0SIBQNx3330iNzfX5rhBQUGiTZs2Nte9OXPmCADigw8+cPr+XL16VQAQr732mtP97K939j777DMBwOYa27dvXxEXFycuXbpks2+PHj1EZGSk5LW2IMv7bP9KTU0VQgjRq1cvm+vg1q1bBQCxdOlSm3q+++47h+2FXb8/++wz6zbL9ROA2Lhxo3V7r169RFhYWKHttnxXeO6556zbpM51wIABIjQ01ObfvmPHjpLX9tzcXJGdnW2z7erVqyImJsbhsy1F6fHt39NVq1YJAGLKlCk2Zbt27SoMBoM4cuSIdRsAERQUZLPt999/FwDE22+/bd328MMPi9DQUHH69GnrtsOHD4vAwECh5Gt3Xl6euO+++0RMTIy4dOmSSElJEYGBgWLnzp2yZcn7OBTQCz766CO88847mDFjBlq2bAkA2LNnDw4fPoynnnoKly9fxqVLl3Dp0iXcuHEDrVq1wpYtWxyGotnfkf/mm28AACNH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IiIiKiJ2rIjsXLx4EbGxsZg6dap1208//YSgoCCsX7/eiy0jIiJ/xdhEpH8GIYTwdiOI9Oabb75Bly5d8NNPP+GOO+5AvXr18Mgjj+CNN97wdtOIiMhPMTYR6Rs7VkSFSElJwbp169CgQQPs3bsXO3fuhMlk8naziIjIjzE2EekXO1ZEhbh16xZq166NkydPYteuXahTp463m0RERH6OsYlIv5hjRVSIo0eP4syZMzCbzTh+/Li3m0NERMTYRKRjfGJFJCEnJweNGjVCvXr1cMcdd2D27NnYu3cvoqOjvd00IiLyU4xNRPrGjhWRhNGjR2P58uX4/fffUbJkSTRv3hyRkZH46quvvN00IiLyU4xNRPrGoYBEdjZt2oTZs2djyZIliIiIgNFoxJIlS7B161bMmzfP280jIiI/xNhEpH98YkVERERERFREfGJFRERERERUROxYERERERERFRE7VkREREREREXEjhUREREREVERsWNFRERERERUROxYERERERERFRE7VkREREREREXEjhUREREREVERsWNFRERERERUROxYERERERERFRE7VkREREREREXEjhUREREREVER/T/T/2KfRKFdBwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 2, figsize=(10, 4))\n", "sim_data = batch_results[\"zero_x\"]\n", "sim_data.plot_field(\"field_xy\", field_name=\"Ey\", val=\"abs\", ax=ax[0])\n", "ax[0].set_xlim([-sim.size[0] / 2, sim.size[0] / 2])\n", "ax[0].set_ylim([-sim.size[1] / 2, sim.size[1] / 2])\n", "title = f\"Flux: fwd={float(sim_data['flux_f'].flux):1.2e}, bck={float(sim_data['flux_b'].flux):1.2e}\"\n", "title += \"\\nzero-size FieldData along x\"\n", "ax[0].set_title(title)\n", "sim_data = batch_results[\"nonzero_x\"]\n", "sim_data.plot_field(\"field_xy\", field_name=\"Ey\", val=\"abs\", ax=ax[1])\n", "ax[1].set_xlim([-sim.size[0] / 2, sim.size[0] / 2])\n", "ax[1].set_ylim([-sim.size[1] / 2, sim.size[1] / 2])\n", "title = f\"Flux: fwd={float(sim_data['flux_f'].flux):1.2e}, bck={float(sim_data['flux_b'].flux):1.2e}\"\n", "title += \"\\nnonzero-size FieldData along x\"\n", "ax[1].set_title(title)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "49bb1a69", "metadata": {}, "source": [ "### Importing arbitrary fields\n", "\n", "Next we show how to import arbitrary fields. We create numpy arrays to emulate the same Gaussian beam input. Data can be imported from file in exactly the same way, once it is read into a numpy array. We create two types of datasets: the first one contains the `Ey` field only, while the second one contains `Ey` and `Hz`. We can provide any combination of field components to the custom source, as long as at least one of the tangential fields is defined. However, as we will see, providing both `E` and `H` is required to make the source directional." ] }, { "cell_type": "code", "execution_count": 11, "id": "6a7393de", "metadata": { "execution": { "iopub.execute_input": "2023-03-27T20:46:56.493713Z", "iopub.status.busy": "2023-03-27T20:46:56.493442Z", "iopub.status.idle": "2023-03-27T20:46:56.523739Z", "shell.execute_reply": "2023-03-27T20:46:56.523242Z" } }, "outputs": [], "source": [ "# Scalar gaussian field with the same waist_radius as the beam source above\n", "ys, zs = np.linspace(-4, 4, 101), np.linspace(-4, 4, 101)\n", "y_grid, z_grid = np.meshgrid(ys, zs)\n", "scalar_gaussian = np.exp(-(y_grid**2 + z_grid**2) / waist_radius**2)\n", "\n", "# Field dataset defining only the E-field\n", "dataset_E = td.FieldDataset(\n", " Ey=td.ScalarFieldDataArray(\n", " scalar_gaussian[None, ..., None],\n", " coords={\n", " \"x\": [0],\n", " \"y\": ys,\n", " \"z\": zs,\n", " \"f\": [freq0],\n", " },\n", " )\n", ")\n", "\n", "# Field dataset defining both E and H\n", "dataset_EH = td.FieldDataset(\n", " Ey=td.ScalarFieldDataArray(\n", " scalar_gaussian[None, ..., None],\n", " coords={\n", " \"x\": [0],\n", " \"y\": ys,\n", " \"z\": zs,\n", " \"f\": [freq0],\n", " },\n", " ),\n", " Hz=td.ScalarFieldDataArray(\n", " scalar_gaussian[None, ..., None] / td.ETA_0,\n", " coords={\n", " \"x\": [0],\n", " \"y\": ys,\n", " \"z\": zs,\n", " \"f\": [freq0],\n", " },\n", " ),\n", ")\n", "\n", "custom_src_3 = td.CustomFieldSource(\n", " source_time=pulse,\n", " center=(0, 0, 0),\n", " size=(0, 8, 8),\n", " field_dataset=dataset_E,\n", ")\n", "custom_src_4 = td.CustomFieldSource(\n", " source_time=pulse,\n", " center=(0, 0, 0),\n", " size=(0, 8, 8),\n", " field_dataset=dataset_EH,\n", ")\n", "sim_3 = td.Simulation(\n", " size=sim_size,\n", " grid_spec=grid_spec,\n", " sources=[custom_src_3],\n", " monitors=[mnt_xy, mnt_flux_f, mnt_flux_b],\n", " run_time=run_time,\n", " boundary_spec=td.BoundarySpec.all_sides(boundary=td.PML()),\n", ")\n", "sim_4 = td.Simulation(\n", " size=sim_size,\n", " grid_spec=grid_spec,\n", " sources=[custom_src_4],\n", " monitors=[mnt_xy, mnt_flux_f, mnt_flux_b],\n", " run_time=run_time,\n", " boundary_spec=td.BoundarySpec.all_sides(boundary=td.PML()),\n", ")\n" ] }, { "cell_type": "code", "execution_count": 12, "id": "e95a8ab3", "metadata": { "execution": { "iopub.execute_input": "2023-03-27T20:46:56.526006Z", "iopub.status.busy": "2023-03-27T20:46:56.525604Z", "iopub.status.idle": "2023-03-27T20:48:15.972246Z", "shell.execute_reply": "2023-03-27T20:48:15.971440Z" } }, "outputs": [ { "data": { "text/html": [ "
[14:31:11] Created task 'custom_E' with task_id                                 webapi.py:139\n",
       "           'fdve-c7858f32-de82-4896-90a5-15b966f6976cv1'.                                    \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:31:11]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'custom_E'\u001b[0m with task_id \u001b]8;id=805109;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=60951;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m\u001b[32m'fdve-c7858f32-de82-4896-90a5-15b966f6976cv1'\u001b[0m. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "276cfccb7fe54265b0ac5828b868a41a", "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": { "application/vnd.jupyter.widget-view+json": { "model_id": "8bd56e94ed52471bad5358ded915340c", "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": [ "
[14:31:12] Created task 'custom_EH' with task_id                                webapi.py:139\n",
       "           'fdve-2184dd60-be40-443e-bb6d-53a0f7857e8ev1'.                                    \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:31:12]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'custom_EH'\u001b[0m with task_id \u001b]8;id=769254;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=453136;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m\u001b[32m'fdve-2184dd60-be40-443e-bb6d-53a0f7857e8ev1'\u001b[0m. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "97ef59ec3eb2402cad054b079e73dbdf", "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": { "application/vnd.jupyter.widget-view+json": { "model_id": "07edf9de22f840f58d48e6cac984e54e", "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": [ "
[14:31:14] Started working on Batch.                                         container.py:402\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:31:14]\u001b[0m\u001b[2;36m \u001b[0mStarted working on Batch. \u001b]8;id=93346;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\u001b\\\u001b[2mcontainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=383792;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#402\u001b\\\u001b[2m402\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "1a1f54bd5782460f9a10a97ddc46a955", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[14:31:32] Batch complete.                                                   container.py:436\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:31:32]\u001b[0m\u001b[2;36m \u001b[0mBatch complete. \u001b]8;id=962721;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\u001b\\\u001b[2mcontainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=892119;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#436\u001b\\\u001b[2m436\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" } ], "source": [ "batch = web.Batch(simulations={\"custom_E\": sim_3, \"custom_EH\": sim_4}, verbose=True)\n", "batch_results = batch.run(path_dir=\"data\")\n" ] }, { "cell_type": "markdown", "id": "1ddc2022", "metadata": {}, "source": [ "As can be seen below, if we only provide the `E` field to the custom source (or only the `H` field), the source is not directional, but instead equal power is injected in both directions. We can make it directional by providing both fields, provided that they are set with the correct phase offset. In this example, multiplying one of the two fields by `-1` will make the source inject in the backwards direction.\n", "\n", "Note also that in the case of custom fields, the flux is not automatically normalized. This could however be done by hand if both the `E` and the `H` fields are known, for example using the Tidy3D [FieldData](../_autosummary/tidy3d.FieldData.html) property `flux`." ] }, { "cell_type": "code", "execution_count": 13, "id": "ae1f2baf", "metadata": { "execution": { "iopub.execute_input": "2023-03-27T20:48:17.085566Z", "iopub.status.busy": "2023-03-27T20:48:17.085428Z", "iopub.status.idle": "2023-03-27T20:48:18.887963Z", "shell.execute_reply": "2023-03-27T20:48:18.887442Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "cdb904e695bf4e9da85616da6923d7e3", "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": [ "
[14:31:33] loading SimulationData from                                          webapi.py:512\n",
       "           data/fdve-c7858f32-de82-4896-90a5-15b966f6976cv1.hdf5                             \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:31:33]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from \u001b]8;id=228554;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=282076;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0mdata/fdve-\u001b[93mc7858f32-de82-4896-90a5-15b966f6976c\u001b[0mv1.hdf5 \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "270e66f7b9f142e6ae5d4a216005122b", "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": [ "
[14:31:34] loading SimulationData from                                          webapi.py:512\n",
       "           data/fdve-2184dd60-be40-443e-bb6d-53a0f7857e8ev1.hdf5                             \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[14:31:34]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from \u001b]8;id=393066;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=188172;file:///home/momchil/Drive/flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0mdata/fdve-\u001b[93m2184dd60-be40-443e-bb6d-53a0f7857e8e\u001b[0mv1.hdf5 \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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lybq/70VitjRqmBuvfVWzJs3D+vWrcN1112n+f7atWuRnZ3tMaSsvLp164YaNWpg0aJFaNOmDc6ePYt+/fpZVn95paamYsWKFWjfvr0mSdhIvXr1sG3bNgghPALKrl27TNdRq1YtPProo3j00Udx9OhRXH311XjhhRfcHa2qVavqzmr0xx9/6D4J2r17t8fXQgjs2bNH83Tj0KFDyM/P93iq9euvvwKAZlbGsqSmpkIIgQYNGpQZkOrVq+du38VPMy9cuIC9e/eiRYsWpo9J+oQQ+MeTQ/DUqPux6J3/4r333sN9990X6GYRSVm9ejVOnDiBDz/8ENdff717+969e6XrtOKa7U+pqan46aefcOONN5baaSlNvXr1NPEAKP1cr732Wlx77bV44YUX8O6776Jv375YvHgxHn744TKPU1a5kpEv6hhWMsJBzeVy4ffff/eIJaXFJb1z+/XXX72KX0Dxe3zmzBnDkTP16tXDypUrcebMGY/Op10/O3Zy6NAhTJ/2Hl559XGMHjUHwx99iRNg/YW3QiuYJ598EtHR0RgyZAhOnDjh8b0///wTQ4cORUxMDJ588knLjhkeHu6e1W7BggW48sorbTWkqVevXnA6ne6hjRcrKioqc+rW7t2749ChQ1i6dKl7W8n0+UacTqdm6EtiYiKSk5M9pu1NTU3Fhg0bUFhY6N722Wef6U6dDvw9E1OJpUuX4vDhw+6O28XnNmfOHPfXhYWFmDNnDmrUqIGWLVsatr/EXXfdhbCwMDz33HOaO8dCCPfnrFWrVqhRowZmz57tcS4LFizg9LgWWbp0Kfb9cQTPPPMAxo9/CGPG+HfaaiIrlTyhuvi6UlhYiNdff126zvJcswOhV69eOHjwIObNm6f53rlz55Cfn19q2e7du2PDhg34/vvv3duOHTumGb1x8uRJzbU7LS0NAMq8fpgpV69ePYSFhbnznEqU9TN87bXX3P8WQuC1115DpUqVcOONN3rs9/HHH+PgwYPur7///nt89913mlhnpFevXli/fj2++uorzfdOnTqFoqIiAMXvZ1FREWbNmuX+vtPpxIwZM7w6XigaO/YRdOvWBsOH34k77miPZ58dHOgm2QafaFUwjRs3xttvv42+ffviyiuvxEMPPYQGDRogOzsbb775Jo4fP45///vfZU6FLqN///549dVXsWrVqlKngy/N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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 2, figsize=(10, 4))\n", "sim_data = batch_results[\"custom_E\"]\n", "sim_data.plot_field(\"field_xy\", field_name=\"Ey\", val=\"abs\", ax=ax[0])\n", "ax[0].set_xlim([-sim.size[0] / 2, sim.size[0] / 2])\n", "ax[0].set_ylim([-sim.size[1] / 2, sim.size[1] / 2])\n", "title = f\"Flux: fwd={float(sim_data['flux_f'].flux):1.2e}, bck={float(sim_data['flux_b'].flux):1.2e}\"\n", "title += \"\\nOnly E field supplied\"\n", "ax[0].set_title(title)\n", "sim_data = batch_results[\"custom_EH\"]\n", "sim_data.plot_field(\"field_xy\", field_name=\"Ey\", val=\"abs\", ax=ax[1])\n", "ax[1].set_xlim([-sim.size[0] / 2, sim.size[0] / 2])\n", "ax[1].set_ylim([-sim.size[1] / 2, sim.size[1] / 2])\n", "title = f\"Flux: fwd={float(sim_data['flux_f'].flux):1.2e}, bck={float(sim_data['flux_b'].flux):1.2e}\"\n", "title += \"\\nE and H fields supplied\"\n", "ax[1].set_title(title)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "8381fb18", "metadata": {}, "source": [ "### Final notes\n", "\n", "- Only the field components tangential to the custom source plane are needed and used in the simulation. Due to the equivalence principle, these fully define the currents that need to be injected. This is not to say that the normal components of the data (`Ex`, `Hx` in our example) is lost or not injected. It is merely not needed as it can be uniquely obtained using the tangential components.\n", "- Source data can be imported from file just as shown here, after the data is imported as a numpy array using standard numpy functions like [loadtxt](https://numpy.org/doc/stable/reference/generated/numpy.loadtxt.html).\n", "- If the data is not coming from a Tidy3D simulation, the normalization is likely going to be arbitrary and the directionality of the source will likely not be perfect, even if both the `E` and `H` fields are provided. An empty normalizing run may be needed to accurately normalize results." ] }, { "cell_type": "code", "execution_count": null, "id": "bfaf2bb1", "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.9.16" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "0a12f12a814f4d22a720197a3ffd5774": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "0e43369cf4b54fc59eda59d7571c804e": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "1661835b6d214575812b665097caa0ca": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "1bc7428b025147a48f149260a1e2f21a": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_bf8cf8e9c31d451485a52dfdefb9984f", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 453.7/453.7 kB \u2022 1.5 MB/s \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m453.7/453.7 kB\u001b[0m \u2022 \u001b[31m1.5 MB/s\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "21f5bc0e3fdb48549f993044e63caf1e": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "245ae7e31607411c8b548732cf4b0d86": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_b5ce1fb9daf14254986c62a9271a4a22", "msg_id": "", "outputs": [ { "data": { "text/html": "
\ud83d\udeb6  Starting 'free space gaussian'...\n
\n", "text/plain": "\u001b[32m\ud83d\udeb6 \u001b[0m \u001b[1;32mStarting 'free space gaussian'...\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "3902eed1eef049babdcda159dc971f8d": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_21f5bc0e3fdb48549f993044e63caf1e", "msg_id": "", "outputs": [ { "data": { "text/html": "
\ud83c\udfc3  Finishing 'free space gaussian'...\n
\n", "text/plain": "\u001b[32m\ud83c\udfc3 \u001b[0m \u001b[1;32mFinishing 'free space gaussian'...\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "4fc1d6e450d44e01abe43e9d012b4f82": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_ee5700ad7e764687a4f38468f692ae67", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 438.1/438.1 kB \u2022 20.6 MB/s \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m438.1/438.1 kB\u001b[0m \u2022 \u001b[31m20.6 MB/s\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "6838dab7bdd54c8c9d489c5e9451fd13": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6ceda919690144e49500f4f98b62c254": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_9f1f2bafd722463c9c9a5f8d052e9543", "msg_id": "", "outputs": [ { "data": { "text/html": "
custom_E: status = success  \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\ncustom_EH: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\n
\n", "text/plain": "custom_E: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\ncustom_EH: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "72954e79657d447490ed8405ef49a6e4": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "76f5ebab5b49484c977b1ed39402051f": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_8adad34575ec412b9d401068b67f4b20", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 363.6/363.6 kB \u2022 16.7 MB/s \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m363.6/363.6 kB\u001b[0m \u2022 \u001b[31m16.7 MB/s\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "77b1c79ddd7045698f0711b6c831c34b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "77e89baed5dd437fb6d4154a38a930b1": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_77b1c79ddd7045698f0711b6c831c34b", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 3.8/3.8 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m3.8/3.8 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "7c3ab98b480246548a0d1d33ac83eef1": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "8adad34575ec412b9d401068b67f4b20": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "8b2844f69957460cb10acecfeb012af3": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_0a12f12a814f4d22a720197a3ffd5774", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 3.7/3.7 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m3.7/3.7 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "8dc34b582a9a4cbab9cd407a67e31fd1": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_1661835b6d214575812b665097caa0ca", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 3.8/3.8 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m3.8/3.8 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "8f82b2972ad949698124d567165bed82": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9450599e8a3442b8b44226aeaa9192b6": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_d54c29da3d1641768fd57258bb31278c", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 891.3/891.3 kB \u2022 16.9 MB/s \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m891.3/891.3 kB\u001b[0m \u2022 \u001b[31m16.9 MB/s\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "98099f6acf9942d798d1623b71f1b043": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "993ac7a5484443c19337dba0c5562243": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_98099f6acf9942d798d1623b71f1b043", "msg_id": "", "outputs": [ { "data": { "text/html": "
zero_x: status = success    \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\nnonzero_x: status = success \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\n
\n", "text/plain": "zero_x: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nnonzero_x: status = success \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "9e70eb8a3ea34858856473e25e90260c": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_7c3ab98b480246548a0d1d33ac83eef1", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 173.7/173.7 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m173.7/173.7 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "9f1f2bafd722463c9c9a5f8d052e9543": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "a37031450c4d43fd895b35bdb0818de3": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "ab4f44eaaec940768721d587d387b34e": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_8f82b2972ad949698124d567165bed82", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 718.0/718.0 kB \u2022 13.6 MB/s \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m718.0/718.0 kB\u001b[0m \u2022 \u001b[31m13.6 MB/s\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "af7de324bfe043c1984f81f1a71f229b": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_a37031450c4d43fd895b35bdb0818de3", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 184.5/184.5 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m184.5/184.5 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "b5ce1fb9daf14254986c62a9271a4a22": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "bf8cf8e9c31d451485a52dfdefb9984f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "c2f6ef6cb5094d99a4eb34525f1483f5": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "c84dac51bdca4142ab41603e5d511dc0": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_6838dab7bdd54c8c9d489c5e9451fd13", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 4.4/4.4 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m4.4/4.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "d54c29da3d1641768fd57258bb31278c": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e1fbaa7872af412d9bd675207872167d": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e6ba98781cdc491490c76e682a03530e": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_0e43369cf4b54fc59eda59d7571c804e", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 98.8/98.8 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m98.8/98.8 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "e83c3462d053402689ec6d04e2199fc5": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_e1fbaa7872af412d9bd675207872167d", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2191 simulation.json \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 3.8/3.8 kB \u2022 ? \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;31m\u2191\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m3.8/3.8 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "eac47b9d0a1148a2bccd3f4a7184569f": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_c2f6ef6cb5094d99a4eb34525f1483f5", "msg_id": "", "outputs": [ { "data": { "text/html": "
% done (field decay = 0.00e+00) \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\n
\n", "text/plain": "% done (field decay = 0.00e+00) \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "ee5700ad7e764687a4f38468f692ae67": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "efc7d21be8234de29266046d63cb9c7b": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_72954e79657d447490ed8405ef49a6e4", "msg_id": "", "outputs": [ { "data": { "text/html": "
\u2193 monitor_data.hdf5 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 449.7/449.7 kB \u2022 12.0 MB/s \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m449.7/449.7 kB\u001b[0m \u2022 \u001b[31m12.0 MB/s\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }