"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# get permittivity at yee cell centers in a volume defined by a box.\n",
"sim.epsilon(td.Box(size=(1, 0, 1)), \"centers\")\n",
"\n",
"# get a `td.Grid` containing all information about spatial locations in the FDTD / yee grid\n",
"print(sim.grid.centers)\n",
"\n",
"# plot the simulation cross section\n",
"f, (ax1, ax2) = plt.subplots(1, 2, tight_layout=True, figsize=(10, 4))\n",
"\n",
"# plot the structures, PML, sources, mediums\n",
"ax1 = sim.plot(x=0, ax=ax1)\n",
"\n",
"# same thing but plot structure in grayscale using permittivity value\n",
"ax1 = sim.plot_eps(x=0, ax=ax2)\n",
"\n",
"# add the FDTD grid boundaries\n",
"ax2 = sim.plot_grid(x=0, ax=ax2)\n"
]
},
{
"cell_type": "markdown",
"id": "c67fdc68",
"metadata": {},
"source": [
"## Simulation Submission\n",
"\n",
"Here we discuss the process for submitting, managing, monitoring, and loading simulations from our server.\n",
"\n",
"Topics covered will include:\n",
"* [tidy3d.web](../api.html#submitting-simulations) functions.\n",
"* working with [tidy3d.web.Job](../_autosummary/tidy3d.web.container.Job.html) and [tidy3d.web.Batch](../_autosummary/tidy3d.web.container.Batch.html) convenience containers."
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "9f16e7e9",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import tidy3d.web as web\n"
]
},
{
"cell_type": "markdown",
"id": "b388e315",
"metadata": {},
"source": [
"### Web interface\n",
"\n",
"The web interface provides a number of basic functions, but usually, the most convenient way to run a single simulation in one line is with [sim_data = web.run(sim)](../_autosummary/tidy3d.web.webapi.run.html#tidy3d.web.webapi.run), which simply performs all of the necessary steps under the hood.\n",
"\n",
"The output of the simultion is a separate data object called a [SimulationData](../_autosummary/tidy3d.SimulationData.html), which provides an interface for post processing and visualizing the data."
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "1f75f482",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"[16:10:17] Created task 'web_demo' with task_id 'fdve-5b8a1e04-8b39-46c8-b065-2dd7cdcb95b8v1' . webapi.py : 139 \n",
" \n"
],
"text/plain": [
"\u001b[2;36m[16:10:17]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'web_demo'\u001b[0m with task_id \u001b[32m'fdve-5b8a1e04-8b39-46c8-b065-2dd7cdcb95b8v1'\u001b[0m. \u001b]8;id=986700;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=224759;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "758896a59f704376887085d8afedfac2",
"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": [
"[16:10:20] status = queued webapi.py : 269 \n",
" \n"
],
"text/plain": [
"\u001b[2;36m[16:10:20]\u001b[0m\u001b[2;36m \u001b[0mstatus = queued \u001b]8;id=140702;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=397370;file:///Users/twhughes/Documents/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": [
"[16:10:21] status = preprocess webapi.py : 263 \n",
" \n"
],
"text/plain": [
"\u001b[2;36m[16:10:21]\u001b[0m\u001b[2;36m \u001b[0mstatus = preprocess \u001b]8;id=126827;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=699381;file:///Users/twhughes/Documents/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": [
"[16:10:27] Maximum FlexCredit cost: 0.025 . Use 'web.real_cost(task_id)' to get the billed FlexCredit cost webapi.py : 286 \n",
" after a simulation run. \n",
" \n"
],
"text/plain": [
"\u001b[2;36m[16:10:27]\u001b[0m\u001b[2;36m \u001b[0mMaximum FlexCredit cost: \u001b[1;36m0.025\u001b[0m. Use \u001b[32m'web.real_cost\u001b[0m\u001b[32m(\u001b[0m\u001b[32mtask_id\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m to get the billed FlexCredit cost \u001b]8;id=651486;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=861409;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#286\u001b\\\u001b[2m286\u001b[0m\u001b]8;;\u001b\\\n",
"\u001b[2;36m \u001b[0mafter 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=308611;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=530858;file:///Users/twhughes/Documents/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=861310;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=761155;file:///Users/twhughes/Documents/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": "381d4c15f8be41908411afe55c791faa",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"[16:10:33] early shutoff detected, exiting. webapi.py : 313 \n",
" \n"
],
"text/plain": [
"\u001b[2;36m[16:10:33]\u001b[0m\u001b[2;36m \u001b[0mearly shutoff detected, exiting. \u001b]8;id=206882;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=532013;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#313\u001b\\\u001b[2m313\u001b[0m\u001b]8;;\u001b\\\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
" \n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" \n"
],
"text/plain": [
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
" status = postprocess webapi.py : 330 \n",
" \n"
],
"text/plain": [
"\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0mstatus = postprocess \u001b]8;id=913936;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=125089;file:///Users/twhughes/Documents/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": [
"[16:10:36] status = success webapi.py : 337 \n",
" \n"
],
"text/plain": [
"\u001b[2;36m[16:10:36]\u001b[0m\u001b[2;36m \u001b[0mstatus = success \u001b]8;id=755204;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=234836;file:///Users/twhughes/Documents/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": "0aad644af04c41b39c07489989b8ec64",
"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": [
"[16:10:38] loading SimulationData from data/data.hdf5 webapi.py : 512 \n",
" \n"
],
"text/plain": [
"\u001b[2;36m[16:10:38]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data/data.hdf5 \u001b]8;id=146119;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=551264;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"[16:10:38] WARNING: Simulation final field decay value of 0.00486 is greater than the simulation shutoff log.py : 50 \n",
" threshold of 1e-05 . Consider simulation again with large run_time duration for more accurate \n",
" results. \n",
" \n"
],
"text/plain": [
"\u001b[2;36m[16:10:38]\u001b[0m\u001b[2;36m \u001b[0mWARNING: Simulation final field decay value of \u001b[1;36m0.00486\u001b[0m is greater than the simulation shutoff \u001b]8;id=646651;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/log.py\u001b\\\u001b[2mlog.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=98965;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/log.py#50\u001b\\\u001b[2m50\u001b[0m\u001b]8;;\u001b\\\n",
"\u001b[2;36m \u001b[0mthreshold of \u001b[1;36m1e-05\u001b[0m. Consider simulation again with large run_time duration for more accurate \u001b[2m \u001b[0m\n",
"\u001b[2;36m \u001b[0mresults. \u001b[2m \u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sim_data = web.run(sim, task_name=\"web_demo\", path=\"data/data.hdf5\", verbose=True)\n"
]
},
{
"cell_type": "markdown",
"id": "1d57c398-4e72-43e7-840b-0fa72e286be4",
"metadata": {},
"source": [
"> Note: the warning here tells us that we should probably increase the `run_time` of our `Simulation` to ensure the fields properly decay. Since this notebook is just a demonstration and we don't care about the results, we can ignore it in this case."
]
},
{
"cell_type": "markdown",
"id": "fc5071ee",
"metadata": {},
"source": [
"### Containers and Batching\n",
"\n",
"The convenience containers [Job](../_autosummary/tidy3d.web.container.Job.html) and [Batch](../_autosummary/tidy3d.web.container.Batch.html) allow one to manage single and multiple tasks in a more \"object oriented\" fashion.\n",
"\n",
"They follow the same basic API as the `web.` functions, except [Batch](../_autosummary/tidy3d.web.container.Batch.html) objects accept a dictionary of simulations and return generators that can be iterated through to give [SimulationData](../_autosummary/tidy3d.SimulationData.html) for each task, rather than returning it one by one. This cuts down on memory for several large jobs. \n",
"\n",
"While we won't cover all of the details here, for more information, see the [tutorial on the Web API](../notebooks/WebAPI.html) or look at the examples in the other notebooks.\n",
"\n",
"Finally, we provide [web.run_async](../_autosummary/tidy3d.web.run_async.html), which is like `web.run()` but runs a dictionary of simulations asynchronously, and is more convenient than `Batch` in some cases."
]
},
{
"cell_type": "markdown",
"id": "b6045533",
"metadata": {},
"source": [
"## Output Data\n",
"\n",
"Here we will discuss working with output data from a simulation.\n",
"\n",
"Topics covered will include:\n",
"\n",
"- [SimulationData](../_autosummary/tidy3d.SimulationData.html) objects.\n",
"\n",
"- Obtaining information about a completed FDTD simulation.\n",
"\n",
"- Selecting data by monitor or field value.\n",
"\n",
"- Post-processing and visualizing data.\n",
"\n",
"### Simulation Data\n",
"\n",
"As mentioned, tidy3d data for a single task is stored in a [SimulationData](../_autosummary/tidy3d.SimulationData.html) object.\n",
"\n",
"In addition to storing the data for each of the individual monitors in the simulation, it has its own useful functionality."
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "b4632332",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Simulation domain Nx, Ny, Nz: [20, 44, 20]\n",
"Applied symmetries: (0, 0, 0)\n",
"Number of computational grid points: 1.8400e+04.\n",
"Using subpixel averaging: True\n",
"Number of time steps: 2.6240e+03\n",
"Automatic shutoff factor: 1.00e-05\n",
"Time step (s): 3.8131e-16\n",
"\n",
"\n",
"Compute source modes time (s): 0.0309\n",
"Compute monitor modes time (s): 0.0032\n",
"Rest of setup time (s): 2.7111\n",
"\n",
"Running solver for 2624 time steps...\n",
"- Time step 104 / time 3.97e-14s ( 4 % done), field decay: 1.00e+00\n",
"- Time step 209 / time 7.97e-14s ( 8 % done), field decay: 1.00e+00\n",
"- Time step 314 / time 1.20e-13s ( 12 % done), field decay: 5.47e-01\n",
"- Time step 419 / time 1.60e-13s ( 16 % done), field decay: 4.20e-01\n",
"- Time step 524 / time 2.00e-13s ( 20 % done), field decay: 3.28e-01\n",
"- Time step 629 / time 2.40e-13s ( 24 % done), field decay: 1.27e-01\n",
"- Time step 734 / time 2.80e-13s ( 28 % done), field decay: 1.24e-02\n",
"- Time step 839 / time 3.20e-13s ( 32 % done), field decay: 4.07e-02\n",
"- Time step 944 / time 3.60e-13s ( 36 % done), field decay: 1.23e-01\n",
"- Time step 1049 / time 4.00e-13s ( 40 % done), field decay: 1.46e-01\n",
"- Time step 1154 / time 4.40e-13s ( 44 % done), field decay: 1.00e-01\n",
"- Time step 1259 / time 4.80e-13s ( 48 % done), field decay: 3.70e-02\n",
"- Time step 1364 / time 5.20e-13s ( 52 % done), field decay: 6.51e-03\n",
"- Time step 1469 / time 5.60e-13s ( 56 % done), field decay: 2.47e-02\n",
"- Time step 1574 / time 6.00e-13s ( 60 % done), field decay: 5.65e-02\n",
"- Time step 1679 / time 6.40e-13s ( 64 % done), field decay: 6.46e-02\n",
"- Time step 1784 / time 6.80e-13s ( 68 % done), field decay: 4.11e-02\n",
"- Time step 1889 / time 7.20e-13s ( 72 % done), field decay: 1.43e-02\n",
"- Time step 1994 / time 7.60e-13s ( 76 % done), field decay: 3.80e-03\n",
"- Time step 2099 / time 8.00e-13s ( 80 % done), field decay: 1.31e-02\n",
"- Time step 2204 / time 8.40e-13s ( 84 % done), field decay: 2.64e-02\n",
"- Time step 2309 / time 8.80e-13s ( 88 % done), field decay: 2.97e-02\n",
"- Time step 2414 / time 9.20e-13s ( 92 % done), field decay: 1.90e-02\n",
"- Time step 2519 / time 9.61e-13s ( 96 % done), field decay: 5.62e-03\n",
"- Time step 2623 / time 1.00e-12s (100 % done), field decay: 4.86e-03\n",
"\n",
"Solver time (s): 0.3125\n",
"\n"
]
},
{
"data": {
"text/html": [
"\u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 < class 'tidy3d.components.simulation.Simulation' > \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e \n",
"\u2502 Contains all information about Tidy3d simulation. \u2502 \n",
"\u2502 \u2502 \n",
"\u2502 \u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e \u2502 \n",
"\u2502 \u2502 Simulation ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 type ='Simulation' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 center =( 0.0 , 0.0 , 0.0 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 size =( 4.0 , 4.0 , 4.0 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 run_time =1e-12 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 medium =Medium ( name =None , frequency_range =None , type ='Medium' , permittivity =1.0 , conductivity =0.0 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 symmetry =( 0 , 0 , 0 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 structures =( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 Structure ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 geometry =Box ( type ='Box' , center =( 0.0 , 0.0 , 0.0 ) , size =( 1.0 , 1.0 , 1.0 )) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 name =None , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 type ='Structure' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 medium =Medium ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 name =None , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 frequency_range =None , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 type ='Medium' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 permittivity =2.0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 conductivity =0.0 \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 ) \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 sources =( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 UniformCurrentSource ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 type ='UniformCurrentSource' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 center =( 0.0 , 0.0 , 0.0 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 size =( 0.0 , 0.0 , 0.0 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 source_time =GaussianPulse ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 amplitude =1.0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 phase =0.0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 type ='GaussianPulse' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 freq0 =150000000000000.0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 fwidth =10000000000000.0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 offset =5.0 \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 name =None , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 polarization ='Ez' \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 boundary_spec =BoundarySpec ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 x =Boundary ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 plus =Periodic ( name =None , type ='Periodic' ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 minus =Periodic ( name =None , type ='Periodic' ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 type ='Boundary' \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 y =Boundary ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 plus =PML ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 name =None , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 type ='PML' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 num_layers =12 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 parameters =PMLParams ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 sigma_order =3 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 sigma_min =0.0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 sigma_max =1.5 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 type ='PMLParams' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 kappa_order =3 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 kappa_min =1.0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 kappa_max =3.0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 alpha_order =1 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 alpha_min =0.0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 alpha_max =0.0 \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 ) \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 minus =PML ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 name =None , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 type ='PML' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 num_layers =12 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 parameters =PMLParams ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 sigma_order =3 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 sigma_min =0.0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 sigma_max =1.5 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 type ='PMLParams' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 kappa_order =3 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 kappa_min =1.0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 kappa_max =3.0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 alpha_order =1 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 alpha_min =0.0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 alpha_max =0.0 \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 ) \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 type ='Boundary' \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 z =Boundary ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 plus =Periodic ( name =None , type ='Periodic' ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 minus =Periodic ( name =None , type ='Periodic' ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 type ='Boundary' \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 type ='BoundarySpec' \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 monitors =( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 FieldMonitor ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 type ='FieldMonitor' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 center =( 1.0 , 0.0 , 0.0 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 size =( inf, inf, 0.0 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 name ='fields_at_150THz' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 freqs =( 150000000000000.0 ,) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 apodization =ApodizationSpec ( start =None , end =None , width =None , type ='ApodizationSpec' ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 fields =( 'Ex' , 'Ey' , 'Hz' ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 interval_space =( 1 , 1 , 1 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 colocate =False \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 FluxTimeMonitor ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 type ='FluxTimeMonitor' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 center =( 1.0 , 0.0 , 0.0 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 size =( inf, inf, 0.0 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 name ='flux_over_time' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 start =1e-13 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 stop =3e-13 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 interval =5 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 normal_dir ='+' , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 \u2502 exclude_surfaces =None \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 ) \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 grid_spec =GridSpec ( \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 grid_x =UniformGrid ( type ='UniformGrid' , dl =0.2 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 grid_y =UniformGrid ( type ='UniformGrid' , dl =0.2 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 grid_z =UniformGrid ( type ='UniformGrid' , dl =0.2 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 wavelength =None , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 override_structures =() , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 \u2502 type ='GridSpec' \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 ) , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 shutoff =1e-05 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 subpixel =True , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 normalize_index =0 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 courant =0.99 , \u2502 \u2502 \n",
"\u2502 \u2502 \u2502 version ='2.0.0' \u2502 \u2502 \n",
"\u2502 \u2502 ) \u2502 \u2502 \n",
"\u2502 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f \u2502 \n",
"\u2502 \u2502 \n",
"\u2502 background_structure = Structure ( \u2502 \n",
"\u2502 geometry =Box ( type ='Box' , center =( 0.0 , 0.0 , 0.0 ) , size =( inf, inf, inf)) , \u2502 \n",
"\u2502 name =None , \u2502 \n",
"\u2502 type ='Structure' , \u2502 \n",
"\u2502 medium =Medium ( \u2502 \n",
"\u2502 name =None , \u2502 \n",
"\u2502 frequency_range =None , \u2502 \n",
"\u2502 type ='Medium' , \u2502 \n",
"\u2502 permittivity =1.0 , \u2502 \n",
"\u2502 conductivity =0.0 \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 boundary_spec = BoundarySpec ( \u2502 \n",
"\u2502 x =Boundary ( \u2502 \n",
"\u2502 plus =Periodic ( name =None , type ='Periodic' ) , \u2502 \n",
"\u2502 minus =Periodic ( name =None , type ='Periodic' ) , \u2502 \n",
"\u2502 type ='Boundary' \u2502 \n",
"\u2502 ) , \u2502 \n",
"\u2502 y =Boundary ( \u2502 \n",
"\u2502 plus =PML ( \u2502 \n",
"\u2502 name =None , \u2502 \n",
"\u2502 type ='PML' , \u2502 \n",
"\u2502 num_layers =12 , \u2502 \n",
"\u2502 parameters =PMLParams ( \u2502 \n",
"\u2502 sigma_order =3 , \u2502 \n",
"\u2502 sigma_min =0.0 , \u2502 \n",
"\u2502 sigma_max =1.5 , \u2502 \n",
"\u2502 type ='PMLParams' , \u2502 \n",
"\u2502 kappa_order =3 , \u2502 \n",
"\u2502 kappa_min =1.0 , \u2502 \n",
"\u2502 kappa_max =3.0 , \u2502 \n",
"\u2502 alpha_order =1 , \u2502 \n",
"\u2502 alpha_min =0.0 , \u2502 \n",
"\u2502 alpha_max =0.0 \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 ) , \u2502 \n",
"\u2502 minus =PML ( \u2502 \n",
"\u2502 name =None , \u2502 \n",
"\u2502 type ='PML' , \u2502 \n",
"\u2502 num_layers =12 , \u2502 \n",
"\u2502 parameters =PMLParams ( \u2502 \n",
"\u2502 sigma_order =3 , \u2502 \n",
"\u2502 sigma_min =0.0 , \u2502 \n",
"\u2502 sigma_max =1.5 , \u2502 \n",
"\u2502 type ='PMLParams' , \u2502 \n",
"\u2502 kappa_order =3 , \u2502 \n",
"\u2502 kappa_min =1.0 , \u2502 \n",
"\u2502 kappa_max =3.0 , \u2502 \n",
"\u2502 alpha_order =1 , \u2502 \n",
"\u2502 alpha_min =0.0 , \u2502 \n",
"\u2502 alpha_max =0.0 \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 ) , \u2502 \n",
"\u2502 type ='Boundary' \u2502 \n",
"\u2502 ) , \u2502 \n",
"\u2502 z =Boundary ( \u2502 \n",
"\u2502 plus =Periodic ( name =None , type ='Periodic' ) , \u2502 \n",
"\u2502 minus =Periodic ( name =None , type ='Periodic' ) , \u2502 \n",
"\u2502 type ='Boundary' \u2502 \n",
"\u2502 ) , \u2502 \n",
"\u2502 type ='BoundarySpec' \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 bounding_box = Box ( type ='Box' , center =( 0.0 , 0.0 , 0.0 ) , size =( 4.0 , 4.0 , 4.0 )) \u2502 \n",
"\u2502 bounds = (( -2.0 , -2.0 , -2.0 ) , ( 2.0 , 2.0 , 2.0 )) \u2502 \n",
"\u2502 bounds_pml = (( -2.0 , -4.3999999999999995 , -2.0 ) , ( 2.0 , 4.399999999999997 , 2.0 )) \u2502 \n",
"\u2502 center = ( 0.0 , 0.0 , 0.0 ) \u2502 \n",
"\u2502 complex_fields = False \u2502 \n",
"\u2502 courant = 0.99 \u2502 \n",
"\u2502 custom_datasets = [] \u2502 \n",
"\u2502 dt = 3.813149739062003e-16 \u2502 \n",
"\u2502 frequency_range = ( 110000000000000.0 , 190000000000000.0 ) \u2502 \n",
"\u2502 geometry = Box ( type ='Box' , center =( 0.0 , 0.0 , 0.0 ) , size =( 4.0 , 4.0 , 4.0 )) \u2502 \n",
"\u2502 grid = Grid ( \u2502 \n",
"\u2502 boundaries =Coords ( \u2502 \n",
"\u2502 x =TidyNDArray ([ -2 . , -1.8 , -1.6 , -1.4 , -1.2 , -1 . , -0.8 , -0.6 , -0.4 , -0.2 , \u2502 \n",
"\u2502 0 . , 0.2 , 0.4 , 0.6 , 0.8 , 1 . , 1.2 , 1.4 , 1.6 , 1.8 , \u2502 \n",
"\u2502 2 . ]) , \u2502 \n",
"\u2502 y =TidyNDArray ([ -4.4 , -4.2 , -4 . , -3.8 , -3.6 , -3.4 , -3.2 , -3 . , -2.8 , -2.6 , \u2502 \n",
"\u2502 -2.4 , -2.2 , -2 . , -1.8 , -1.6 , -1.4 , -1.2 , -1 . , -0.8 , -0.6 , \u2502 \n",
"\u2502 -0.4 , -0.2 , 0 . , 0.2 , 0.4 , 0.6 , 0.8 , 1 . , 1.2 , 1.4 , \u2502 \n",
"\u2502 1.6 , 1.8 , 2 . , 2.2 , 2.4 , 2.6 , 2.8 , 3 . , 3.2 , 3.4 , \u2502 \n",
"\u2502 3.6 , 3.8 , 4 . , 4.2 , 4.4 ]) , \u2502 \n",
"\u2502 z =TidyNDArray ([ -2 . , -1.8 , -1.6 , -1.4 , -1.2 , -1 . , -0.8 , -0.6 , -0.4 , -0.2 , \u2502 \n",
"\u2502 0 . , 0.2 , 0.4 , 0.6 , 0.8 , 1 . , 1.2 , 1.4 , 1.6 , 1.8 , \u2502 \n",
"\u2502 2 . ]) , \u2502 \n",
"\u2502 type ='Coords' \u2502 \n",
"\u2502 ) , \u2502 \n",
"\u2502 type ='Grid' \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 grid_spec = GridSpec ( \u2502 \n",
"\u2502 grid_x =UniformGrid ( type ='UniformGrid' , dl =0.2 ) , \u2502 \n",
"\u2502 grid_y =UniformGrid ( type ='UniformGrid' , dl =0.2 ) , \u2502 \n",
"\u2502 grid_z =UniformGrid ( type ='UniformGrid' , dl =0.2 ) , \u2502 \n",
"\u2502 wavelength =None , \u2502 \n",
"\u2502 override_structures =() , \u2502 \n",
"\u2502 type ='GridSpec' \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 medium = Medium ( \u2502 \n",
"\u2502 name =None , \u2502 \n",
"\u2502 frequency_range =None , \u2502 \n",
"\u2502 type ='Medium' , \u2502 \n",
"\u2502 permittivity =1.0 , \u2502 \n",
"\u2502 conductivity =0.0 \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 medium_map = { \u2502 \n",
"\u2502 Medium ( name =None , frequency_range =None , type ='Medium' , permittivity =1.0 , \u2502 \n",
"\u2502 conductivity =0.0 ) : 0 , \u2502 \n",
"\u2502 Medium ( name =None , frequency_range =None , type ='Medium' , permittivity =2.0 , \u2502 \n",
"\u2502 conductivity =0.0 ) : 1 \u2502 \n",
"\u2502 } \u2502 \n",
"\u2502 mediums = [ \u2502 \n",
"\u2502 Medium ( \u2502 \n",
"\u2502 name =None , \u2502 \n",
"\u2502 frequency_range =None , \u2502 \n",
"\u2502 type ='Medium' , \u2502 \n",
"\u2502 permittivity =1.0 , \u2502 \n",
"\u2502 conductivity =0.0 \u2502 \n",
"\u2502 ) , \u2502 \n",
"\u2502 Medium ( \u2502 \n",
"\u2502 name =None , \u2502 \n",
"\u2502 frequency_range =None , \u2502 \n",
"\u2502 type ='Medium' , \u2502 \n",
"\u2502 permittivity =2.0 , \u2502 \n",
"\u2502 conductivity =0.0 \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 ] \u2502 \n",
"\u2502 monitors = ( \u2502 \n",
"\u2502 FieldMonitor ( \u2502 \n",
"\u2502 type ='FieldMonitor' , \u2502 \n",
"\u2502 center =( 1.0 , 0.0 , 0.0 ) , \u2502 \n",
"\u2502 size =( inf, inf, 0.0 ) , \u2502 \n",
"\u2502 name ='fields_at_150THz' , \u2502 \n",
"\u2502 freqs =( 150000000000000.0 ,) , \u2502 \n",
"\u2502 apodization =ApodizationSpec ( \u2502 \n",
"\u2502 start =None , \u2502 \n",
"\u2502 end =None , \u2502 \n",
"\u2502 width =None , \u2502 \n",
"\u2502 type ='ApodizationSpec' \u2502 \n",
"\u2502 ) , \u2502 \n",
"\u2502 fields =( 'Ex' , 'Ey' , 'Hz' ) , \u2502 \n",
"\u2502 interval_space =( 1 , 1 , 1 ) , \u2502 \n",
"\u2502 colocate =False \u2502 \n",
"\u2502 ) , \u2502 \n",
"\u2502 FluxTimeMonitor ( \u2502 \n",
"\u2502 type ='FluxTimeMonitor' , \u2502 \n",
"\u2502 center =( 1.0 , 0.0 , 0.0 ) , \u2502 \n",
"\u2502 size =( inf, inf, 0.0 ) , \u2502 \n",
"\u2502 name ='flux_over_time' , \u2502 \n",
"\u2502 start =1e-13 , \u2502 \n",
"\u2502 stop =3e-13 , \u2502 \n",
"\u2502 interval =5 , \u2502 \n",
"\u2502 normal_dir ='+' , \u2502 \n",
"\u2502 exclude_surfaces =None \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 normalize_index = 0 \u2502 \n",
"\u2502 num_cells = 17600 \u2502 \n",
"\u2502 num_pml_layers = [[ 0 , 0 ] , [ 12 , 12 ] , [ 0 , 0 ]] \u2502 \n",
"\u2502 num_time_steps = 2624 \u2502 \n",
"\u2502 nyquist_step = 5 \u2502 \n",
"\u2502 plot_params = PlotParams ( \u2502 \n",
"\u2502 alpha =1.0 , \u2502 \n",
"\u2502 edgecolor =None , \u2502 \n",
"\u2502 facecolor =None , \u2502 \n",
"\u2502 fill =True , \u2502 \n",
"\u2502 hatch =None , \u2502 \n",
"\u2502 linewidth =1.0 , \u2502 \n",
"\u2502 type ='PlotParams' \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 pml_thicknesses = [( 0.0 , 0.0 ) , ( 2.3999999999999995 , 2.399999999999997 ) , ( 0.0 , 0.0 )] \u2502 \n",
"\u2502 run_time = 1e-12 \u2502 \n",
"\u2502 shutoff = 1e-05 \u2502 \n",
"\u2502 simulation_geometry = Box ( \u2502 \n",
"\u2502 type ='Box' , \u2502 \n",
"\u2502 center =( 0.0 , -1.3322676295501878e-15 , 0.0 ) , \u2502 \n",
"\u2502 size =( 4.0 , 8.799999999999997 , 4.0 ) \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 size = ( 4.0 , 4.0 , 4.0 ) \u2502 \n",
"\u2502 sources = ( \u2502 \n",
"\u2502 UniformCurrentSource ( \u2502 \n",
"\u2502 type ='UniformCurrentSource' , \u2502 \n",
"\u2502 center =( 0.0 , 0.0 , 0.0 ) , \u2502 \n",
"\u2502 size =( 0.0 , 0.0 , 0.0 ) , \u2502 \n",
"\u2502 source_time =GaussianPulse ( \u2502 \n",
"\u2502 amplitude =1.0 , \u2502 \n",
"\u2502 phase =0.0 , \u2502 \n",
"\u2502 type ='GaussianPulse' , \u2502 \n",
"\u2502 freq0 =150000000000000.0 , \u2502 \n",
"\u2502 fwidth =10000000000000.0 , \u2502 \n",
"\u2502 offset =5.0 \u2502 \n",
"\u2502 ) , \u2502 \n",
"\u2502 name =None , \u2502 \n",
"\u2502 polarization ='Ez' \u2502 \n",
"\u2502 ) , \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 structures = ( \u2502 \n",
"\u2502 Structure ( \u2502 \n",
"\u2502 geometry =Box ( type ='Box' , center =( 0.0 , 0.0 , 0.0 ) , size =( 1.0 , 1.0 , 1.0 )) , \u2502 \n",
"\u2502 name =None , \u2502 \n",
"\u2502 type ='Structure' , \u2502 \n",
"\u2502 medium =Medium ( \u2502 \n",
"\u2502 name =None , \u2502 \n",
"\u2502 frequency_range =None , \u2502 \n",
"\u2502 type ='Medium' , \u2502 \n",
"\u2502 permittivity =2.0 , \u2502 \n",
"\u2502 conductivity =0.0 \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 ) , \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 subpixel = True \u2502 \n",
"\u2502 symmetry = ( 0 , 0 , 0 ) \u2502 \n",
"\u2502 tmesh = array ([ 0.00000000e+00 , 3.81314974e-16 , 7.62629948e-16 , ... , \u2502 \n",
"\u2502 9.99426547e-13 , 9.99807862e-13 , 1.00018918e-12 ]) \u2502 \n",
"\u2502 type = 'Simulation' \u2502 \n",
"\u2502 version = '2.0.0' \u2502 \n",
"\u2502 volumetric_structures = ( \u2502 \n",
"\u2502 Structure ( \u2502 \n",
"\u2502 geometry =Box ( type ='Box' , center =( 0.0 , 0.0 , 0.0 ) , size =( 1.0 , 1.0 , 1.0 )) , \u2502 \n",
"\u2502 name =None , \u2502 \n",
"\u2502 type ='Structure' , \u2502 \n",
"\u2502 medium =Medium ( \u2502 \n",
"\u2502 name =None , \u2502 \n",
"\u2502 frequency_range =None , \u2502 \n",
"\u2502 type ='Medium' , \u2502 \n",
"\u2502 permittivity =2.0 , \u2502 \n",
"\u2502 conductivity =0.0 \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 ) , \u2502 \n",
"\u2502 ) \u2502 \n",
"\u2502 wvl_mat_min = 1.4132352000025548 \u2502 \n",
"\u2502 zero_dims = [] \u2502 \n",
"\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f \n",
" \n"
],
"text/plain": [
"\u001b[34m\u256d\u2500\u001b[0m\u001b[34m\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u001b[0m\u001b[1;34m<\u001b[0m\u001b[1;95mclass\u001b[0m\u001b[39m \u001b[0m\u001b[32m'tidy3d.components.simulation.Simulation'\u001b[0m\u001b[1;34m>\u001b[0m\u001b[34m \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u001b[0m\u001b[34m\u2500\u256e\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[36mContains all information about Tidy3d simulation.\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[1;35mSimulation\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'Simulation'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33msize\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m4.0\u001b[0m, \u001b[1;36m4.0\u001b[0m, \u001b[1;36m4.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33mrun_time\u001b[0m=\u001b[1;36m1e\u001b[0m\u001b[1;36m-12\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33mmedium\u001b[0m=\u001b[1;35mMedium\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mfrequency_range\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mtype\u001b[0m=\u001b[32m'Medium'\u001b[0m, \u001b[33mpermittivity\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[33mconductivity\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33msymmetry\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0\u001b[0m, \u001b[1;36m0\u001b[0m, \u001b[1;36m0\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33mstructures\u001b[0m=\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[1;35mStructure\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mgeometry\u001b[0m=\u001b[1;35mBox\u001b[0m\u001b[1m(\u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'Box'\u001b[0m, \u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[33msize\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m1.0\u001b[0m, \u001b[1;36m1.0\u001b[0m, \u001b[1;36m1.0\u001b[0m\u001b[1m)\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'Structure'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mmedium\u001b[0m=\u001b[1;35mMedium\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mfrequency_range\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'Medium'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mpermittivity\u001b[0m=\u001b[1;36m2\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mconductivity\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[1m)\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33msources\u001b[0m=\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[1;35mUniformCurrentSource\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'UniformCurrentSource'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33msize\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33msource_time\u001b[0m=\u001b[1;35mGaussianPulse\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mamplitude\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mphase\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'GaussianPulse'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mfreq0\u001b[0m=\u001b[1;36m150000000000000\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mfwidth\u001b[0m=\u001b[1;36m10000000000000\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33moffset\u001b[0m=\u001b[1;36m5\u001b[0m\u001b[1;36m.0\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mpolarization\u001b[0m=\u001b[32m'Ez'\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33mboundary_spec\u001b[0m=\u001b[1;35mBoundarySpec\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[33mx\u001b[0m=\u001b[1;35mBoundary\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mplus\u001b[0m=\u001b[1;35mPeriodic\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mtype\u001b[0m=\u001b[32m'Periodic'\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mminus\u001b[0m=\u001b[1;35mPeriodic\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mtype\u001b[0m=\u001b[32m'Periodic'\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'Boundary'\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[33my\u001b[0m=\u001b[1;35mBoundary\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mplus\u001b[0m=\u001b[1;35mPML\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'PML'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mnum_layers\u001b[0m=\u001b[1;36m12\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mparameters\u001b[0m=\u001b[1;35mPMLParams\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33msigma_order\u001b[0m=\u001b[1;36m3\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33msigma_min\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33msigma_max\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.5\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'PMLParams'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mkappa_order\u001b[0m=\u001b[1;36m3\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mkappa_min\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mkappa_max\u001b[0m=\u001b[1;36m3\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33malpha_order\u001b[0m=\u001b[1;36m1\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33malpha_min\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33malpha_max\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[1m)\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mminus\u001b[0m=\u001b[1;35mPML\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'PML'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mnum_layers\u001b[0m=\u001b[1;36m12\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mparameters\u001b[0m=\u001b[1;35mPMLParams\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33msigma_order\u001b[0m=\u001b[1;36m3\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33msigma_min\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33msigma_max\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.5\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'PMLParams'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mkappa_order\u001b[0m=\u001b[1;36m3\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mkappa_min\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33mkappa_max\u001b[0m=\u001b[1;36m3\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33malpha_order\u001b[0m=\u001b[1;36m1\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33malpha_min\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[33malpha_max\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u2502 \u001b[0m\u001b[1m)\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'Boundary'\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[33mz\u001b[0m=\u001b[1;35mBoundary\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mplus\u001b[0m=\u001b[1;35mPeriodic\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mtype\u001b[0m=\u001b[32m'Periodic'\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mminus\u001b[0m=\u001b[1;35mPeriodic\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mtype\u001b[0m=\u001b[32m'Periodic'\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'Boundary'\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'BoundarySpec'\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33mmonitors\u001b[0m=\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[1;35mFieldMonitor\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'FieldMonitor'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m1.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33msize\u001b[0m=\u001b[1m(\u001b[0minf, inf, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mname\u001b[0m=\u001b[32m'fields_at_150THz'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mfreqs\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m150000000000000.0\u001b[0m,\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mapodization\u001b[0m=\u001b[1;35mApodizationSpec\u001b[0m\u001b[1m(\u001b[0m\u001b[33mstart\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mend\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mwidth\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mtype\u001b[0m=\u001b[32m'ApodizationSpec'\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mfields\u001b[0m=\u001b[1m(\u001b[0m\u001b[32m'Ex'\u001b[0m, \u001b[32m'Ey'\u001b[0m, \u001b[32m'Hz'\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33minterval_space\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m1\u001b[0m, \u001b[1;36m1\u001b[0m, \u001b[1;36m1\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mcolocate\u001b[0m=\u001b[3;91mFalse\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[1;35mFluxTimeMonitor\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'FluxTimeMonitor'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m1.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33msize\u001b[0m=\u001b[1m(\u001b[0minf, inf, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mname\u001b[0m=\u001b[32m'flux_over_time'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mstart\u001b[0m=\u001b[1;36m1e\u001b[0m\u001b[1;36m-13\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mstop\u001b[0m=\u001b[1;36m3e\u001b[0m\u001b[1;36m-13\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33minterval\u001b[0m=\u001b[1;36m5\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mnormal_dir\u001b[0m=\u001b[32m'+'\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u2502 \u001b[0m\u001b[33mexclude_surfaces\u001b[0m=\u001b[3;35mNone\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[1m)\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33mgrid_spec\u001b[0m=\u001b[1;35mGridSpec\u001b[0m\u001b[1m(\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[33mgrid_x\u001b[0m=\u001b[1;35mUniformGrid\u001b[0m\u001b[1m(\u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'UniformGrid'\u001b[0m, \u001b[33mdl\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.2\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[33mgrid_y\u001b[0m=\u001b[1;35mUniformGrid\u001b[0m\u001b[1m(\u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'UniformGrid'\u001b[0m, \u001b[33mdl\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.2\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[33mgrid_z\u001b[0m=\u001b[1;35mUniformGrid\u001b[0m\u001b[1m(\u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'UniformGrid'\u001b[0m, \u001b[33mdl\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.2\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[33mwavelength\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[33moverride_structures\u001b[0m=\u001b[1m(\u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u2502 \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'GridSpec'\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[1m)\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33mshutoff\u001b[0m=\u001b[1;36m1e\u001b[0m\u001b[1;36m-05\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33msubpixel\u001b[0m=\u001b[3;92mTrue\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33mnormalize_index\u001b[0m=\u001b[1;36m0\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33mcourant\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.99\u001b[0m, \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[2;32m\u2502 \u001b[0m\u001b[33mversion\u001b[0m=\u001b[32m'2.0.0'\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[32m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[32m\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mbackground_structure\u001b[0m = \u001b[1;35mStructure\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mgeometry\u001b[0m=\u001b[1;35mBox\u001b[0m\u001b[1m(\u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'Box'\u001b[0m, \u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[33msize\u001b[0m=\u001b[1m(\u001b[0minf, inf, inf\u001b[1m)\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Structure'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mmedium\u001b[0m=\u001b[1;35mMedium\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mfrequency_range\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Medium'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mpermittivity\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mconductivity\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mboundary_spec\u001b[0m = \u001b[1;35mBoundarySpec\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mx\u001b[0m=\u001b[1;35mBoundary\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mplus\u001b[0m=\u001b[1;35mPeriodic\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mtype\u001b[0m=\u001b[32m'Periodic'\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mminus\u001b[0m=\u001b[1;35mPeriodic\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mtype\u001b[0m=\u001b[32m'Periodic'\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Boundary'\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33my\u001b[0m=\u001b[1;35mBoundary\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mplus\u001b[0m=\u001b[1;35mPML\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'PML'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mnum_layers\u001b[0m=\u001b[1;36m12\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mparameters\u001b[0m=\u001b[1;35mPMLParams\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33msigma_order\u001b[0m=\u001b[1;36m3\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33msigma_min\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33msigma_max\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.5\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'PMLParams'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mkappa_order\u001b[0m=\u001b[1;36m3\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mkappa_min\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mkappa_max\u001b[0m=\u001b[1;36m3\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33malpha_order\u001b[0m=\u001b[1;36m1\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33malpha_min\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33malpha_max\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mminus\u001b[0m=\u001b[1;35mPML\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'PML'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mnum_layers\u001b[0m=\u001b[1;36m12\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mparameters\u001b[0m=\u001b[1;35mPMLParams\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33msigma_order\u001b[0m=\u001b[1;36m3\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33msigma_min\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33msigma_max\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.5\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'PMLParams'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mkappa_order\u001b[0m=\u001b[1;36m3\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mkappa_min\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mkappa_max\u001b[0m=\u001b[1;36m3\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33malpha_order\u001b[0m=\u001b[1;36m1\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33malpha_min\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33malpha_max\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Boundary'\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mz\u001b[0m=\u001b[1;35mBoundary\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mplus\u001b[0m=\u001b[1;35mPeriodic\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mtype\u001b[0m=\u001b[32m'Periodic'\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mminus\u001b[0m=\u001b[1;35mPeriodic\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mtype\u001b[0m=\u001b[32m'Periodic'\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Boundary'\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'BoundarySpec'\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mbounding_box\u001b[0m = \u001b[1;35mBox\u001b[0m\u001b[1m(\u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'Box'\u001b[0m, \u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[33msize\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m4.0\u001b[0m, \u001b[1;36m4.0\u001b[0m, \u001b[1;36m4.0\u001b[0m\u001b[1m)\u001b[0m\u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mbounds\u001b[0m = \u001b[1m(\u001b[0m\u001b[1m(\u001b[0m\u001b[1;36m-2.0\u001b[0m, \u001b[1;36m-2.0\u001b[0m, \u001b[1;36m-2.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[1;36m2.0\u001b[0m, \u001b[1;36m2.0\u001b[0m, \u001b[1;36m2.0\u001b[0m\u001b[1m)\u001b[0m\u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mbounds_pml\u001b[0m = \u001b[1m(\u001b[0m\u001b[1m(\u001b[0m\u001b[1;36m-2.0\u001b[0m, \u001b[1;36m-4.3999999999999995\u001b[0m, \u001b[1;36m-2.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[1;36m2.0\u001b[0m, \u001b[1;36m4.399999999999997\u001b[0m, \u001b[1;36m2.0\u001b[0m\u001b[1m)\u001b[0m\u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mcenter\u001b[0m = \u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mcomplex_fields\u001b[0m = \u001b[3;91mFalse\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mcourant\u001b[0m = \u001b[1;36m0.99\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mcustom_datasets\u001b[0m = \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mdt\u001b[0m = \u001b[1;36m3.813149739062003e-16\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mfrequency_range\u001b[0m = \u001b[1m(\u001b[0m\u001b[1;36m110000000000000.0\u001b[0m, \u001b[1;36m190000000000000.0\u001b[0m\u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mgeometry\u001b[0m = \u001b[1;35mBox\u001b[0m\u001b[1m(\u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'Box'\u001b[0m, \u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[33msize\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m4.0\u001b[0m, \u001b[1;36m4.0\u001b[0m, \u001b[1;36m4.0\u001b[0m\u001b[1m)\u001b[0m\u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mgrid\u001b[0m = \u001b[1;35mGrid\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mboundaries\u001b[0m=\u001b[1;35mCoords\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mx\u001b[0m=\u001b[1;35mTidyNDArray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m-2\u001b[0m. , \u001b[1;36m-1.8\u001b[0m, \u001b[1;36m-1.6\u001b[0m, \u001b[1;36m-1.4\u001b[0m, \u001b[1;36m-1.2\u001b[0m, \u001b[1;36m-1\u001b[0m. , \u001b[1;36m-0.8\u001b[0m, \u001b[1;36m-0.6\u001b[0m, \u001b[1;36m-0.4\u001b[0m, \u001b[1;36m-0.2\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;36m0\u001b[0m. , \u001b[1;36m0.2\u001b[0m, \u001b[1;36m0.4\u001b[0m, \u001b[1;36m0.6\u001b[0m, \u001b[1;36m0.8\u001b[0m, \u001b[1;36m1\u001b[0m. , \u001b[1;36m1.2\u001b[0m, \u001b[1;36m1.4\u001b[0m, \u001b[1;36m1.6\u001b[0m, \u001b[1;36m1.8\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;36m2\u001b[0m. \u001b[1m]\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33my\u001b[0m=\u001b[1;35mTidyNDArray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m-4.4\u001b[0m, \u001b[1;36m-4.2\u001b[0m, \u001b[1;36m-4\u001b[0m. , \u001b[1;36m-3.8\u001b[0m, \u001b[1;36m-3.6\u001b[0m, \u001b[1;36m-3.4\u001b[0m, \u001b[1;36m-3.2\u001b[0m, \u001b[1;36m-3\u001b[0m. , \u001b[1;36m-2.8\u001b[0m, \u001b[1;36m-2.6\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;36m-2.4\u001b[0m, \u001b[1;36m-2.2\u001b[0m, \u001b[1;36m-2\u001b[0m. , \u001b[1;36m-1.8\u001b[0m, \u001b[1;36m-1.6\u001b[0m, \u001b[1;36m-1.4\u001b[0m, \u001b[1;36m-1.2\u001b[0m, \u001b[1;36m-1\u001b[0m. , \u001b[1;36m-0.8\u001b[0m, \u001b[1;36m-0.6\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;36m-0.4\u001b[0m, \u001b[1;36m-0.2\u001b[0m, \u001b[1;36m0\u001b[0m. , \u001b[1;36m0.2\u001b[0m, \u001b[1;36m0.4\u001b[0m, \u001b[1;36m0.6\u001b[0m, \u001b[1;36m0.8\u001b[0m, \u001b[1;36m1\u001b[0m. , \u001b[1;36m1.2\u001b[0m, \u001b[1;36m1.4\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;36m1.6\u001b[0m, \u001b[1;36m1.8\u001b[0m, \u001b[1;36m2\u001b[0m. , \u001b[1;36m2.2\u001b[0m, \u001b[1;36m2.4\u001b[0m, \u001b[1;36m2.6\u001b[0m, \u001b[1;36m2.8\u001b[0m, \u001b[1;36m3\u001b[0m. , \u001b[1;36m3.2\u001b[0m, \u001b[1;36m3.4\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;36m3.6\u001b[0m, \u001b[1;36m3.8\u001b[0m, \u001b[1;36m4\u001b[0m. , \u001b[1;36m4.2\u001b[0m, \u001b[1;36m4.4\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mz\u001b[0m=\u001b[1;35mTidyNDArray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m-2\u001b[0m. , \u001b[1;36m-1.8\u001b[0m, \u001b[1;36m-1.6\u001b[0m, \u001b[1;36m-1.4\u001b[0m, \u001b[1;36m-1.2\u001b[0m, \u001b[1;36m-1\u001b[0m. , \u001b[1;36m-0.8\u001b[0m, \u001b[1;36m-0.6\u001b[0m, \u001b[1;36m-0.4\u001b[0m, \u001b[1;36m-0.2\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;36m0\u001b[0m. , \u001b[1;36m0.2\u001b[0m, \u001b[1;36m0.4\u001b[0m, \u001b[1;36m0.6\u001b[0m, \u001b[1;36m0.8\u001b[0m, \u001b[1;36m1\u001b[0m. , \u001b[1;36m1.2\u001b[0m, \u001b[1;36m1.4\u001b[0m, \u001b[1;36m1.6\u001b[0m, \u001b[1;36m1.8\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;36m2\u001b[0m. \u001b[1m]\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Coords'\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Grid'\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mgrid_spec\u001b[0m = \u001b[1;35mGridSpec\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mgrid_x\u001b[0m=\u001b[1;35mUniformGrid\u001b[0m\u001b[1m(\u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'UniformGrid'\u001b[0m, \u001b[33mdl\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.2\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mgrid_y\u001b[0m=\u001b[1;35mUniformGrid\u001b[0m\u001b[1m(\u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'UniformGrid'\u001b[0m, \u001b[33mdl\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.2\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mgrid_z\u001b[0m=\u001b[1;35mUniformGrid\u001b[0m\u001b[1m(\u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'UniformGrid'\u001b[0m, \u001b[33mdl\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.2\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mwavelength\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33moverride_structures\u001b[0m=\u001b[1m(\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'GridSpec'\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mmedium\u001b[0m = \u001b[1;35mMedium\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mfrequency_range\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Medium'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mpermittivity\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mconductivity\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mmedium_map\u001b[0m = \u001b[1m{\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;35mMedium\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mfrequency_range\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mtype\u001b[0m=\u001b[32m'Medium'\u001b[0m, \u001b[33mpermittivity\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mconductivity\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m\u001b[1m)\u001b[0m: \u001b[1;36m0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;35mMedium\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mfrequency_range\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mtype\u001b[0m=\u001b[32m'Medium'\u001b[0m, \u001b[33mpermittivity\u001b[0m=\u001b[1;36m2\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mconductivity\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m\u001b[1m)\u001b[0m: \u001b[1;36m1\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m}\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mmediums\u001b[0m = \u001b[1m[\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;35mMedium\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mfrequency_range\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Medium'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mpermittivity\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mconductivity\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;35mMedium\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mfrequency_range\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Medium'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mpermittivity\u001b[0m=\u001b[1;36m2\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mconductivity\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m]\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mmonitors\u001b[0m = \u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;35mFieldMonitor\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'FieldMonitor'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m1.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33msize\u001b[0m=\u001b[1m(\u001b[0minf, inf, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[32m'fields_at_150THz'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mfreqs\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m150000000000000.0\u001b[0m,\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mapodization\u001b[0m=\u001b[1;35mApodizationSpec\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mstart\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mend\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mwidth\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'ApodizationSpec'\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mfields\u001b[0m=\u001b[1m(\u001b[0m\u001b[32m'Ex'\u001b[0m, \u001b[32m'Ey'\u001b[0m, \u001b[32m'Hz'\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33minterval_space\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m1\u001b[0m, \u001b[1;36m1\u001b[0m, \u001b[1;36m1\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mcolocate\u001b[0m=\u001b[3;91mFalse\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;35mFluxTimeMonitor\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'FluxTimeMonitor'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m1.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33msize\u001b[0m=\u001b[1m(\u001b[0minf, inf, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[32m'flux_over_time'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mstart\u001b[0m=\u001b[1;36m1e\u001b[0m\u001b[1;36m-13\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mstop\u001b[0m=\u001b[1;36m3e\u001b[0m\u001b[1;36m-13\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33minterval\u001b[0m=\u001b[1;36m5\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mnormal_dir\u001b[0m=\u001b[32m'+'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mexclude_surfaces\u001b[0m=\u001b[3;35mNone\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mnormalize_index\u001b[0m = \u001b[1;36m0\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mnum_cells\u001b[0m = \u001b[1;36m17600\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mnum_pml_layers\u001b[0m = \u001b[1m[\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m0\u001b[0m, \u001b[1;36m0\u001b[0m\u001b[1m]\u001b[0m, \u001b[1m[\u001b[0m\u001b[1;36m12\u001b[0m, \u001b[1;36m12\u001b[0m\u001b[1m]\u001b[0m, \u001b[1m[\u001b[0m\u001b[1;36m0\u001b[0m, \u001b[1;36m0\u001b[0m\u001b[1m]\u001b[0m\u001b[1m]\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mnum_time_steps\u001b[0m = \u001b[1;36m2624\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mnyquist_step\u001b[0m = \u001b[1;36m5\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mplot_params\u001b[0m = \u001b[1;35mPlotParams\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33malpha\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33medgecolor\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mfacecolor\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mfill\u001b[0m=\u001b[3;92mTrue\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mhatch\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mlinewidth\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'PlotParams'\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mpml_thicknesses\u001b[0m = \u001b[1m[\u001b[0m\u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[1;36m2.3999999999999995\u001b[0m, \u001b[1;36m2.399999999999997\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m\u001b[1m]\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mrun_time\u001b[0m = \u001b[1;36m1e-12\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mshutoff\u001b[0m = \u001b[1;36m1e-05\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33msimulation_geometry\u001b[0m = \u001b[1;35mBox\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Box'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m-1.3322676295501878e-15\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33msize\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m4.0\u001b[0m, \u001b[1;36m8.799999999999997\u001b[0m, \u001b[1;36m4.0\u001b[0m\u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33msize\u001b[0m = \u001b[1m(\u001b[0m\u001b[1;36m4.0\u001b[0m, \u001b[1;36m4.0\u001b[0m, \u001b[1;36m4.0\u001b[0m\u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33msources\u001b[0m = \u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;35mUniformCurrentSource\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'UniformCurrentSource'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33msize\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33msource_time\u001b[0m=\u001b[1;35mGaussianPulse\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mamplitude\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mphase\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'GaussianPulse'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mfreq0\u001b[0m=\u001b[1;36m150000000000000\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mfwidth\u001b[0m=\u001b[1;36m10000000000000\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33moffset\u001b[0m=\u001b[1;36m5\u001b[0m\u001b[1;36m.0\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mpolarization\u001b[0m=\u001b[32m'Ez'\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mstructures\u001b[0m = \u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;35mStructure\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mgeometry\u001b[0m=\u001b[1;35mBox\u001b[0m\u001b[1m(\u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'Box'\u001b[0m, \u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[33msize\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m1.0\u001b[0m, \u001b[1;36m1.0\u001b[0m, \u001b[1;36m1.0\u001b[0m\u001b[1m)\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Structure'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mmedium\u001b[0m=\u001b[1;35mMedium\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mfrequency_range\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Medium'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mpermittivity\u001b[0m=\u001b[1;36m2\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mconductivity\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33msubpixel\u001b[0m = \u001b[3;92mTrue\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33msymmetry\u001b[0m = \u001b[1m(\u001b[0m\u001b[1;36m0\u001b[0m, \u001b[1;36m0\u001b[0m, \u001b[1;36m0\u001b[0m\u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mtmesh\u001b[0m = \u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m0.00000000e+00\u001b[0m, \u001b[1;36m3.81314974e-16\u001b[0m, \u001b[1;36m7.62629948e-16\u001b[0m, \u001b[33m...\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;36m9.99426547e-13\u001b[0m, \u001b[1;36m9.99807862e-13\u001b[0m, \u001b[1;36m1.00018918e-12\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mtype\u001b[0m = \u001b[32m'Simulation'\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mversion\u001b[0m = \u001b[32m'2.0.0'\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mvolumetric_structures\u001b[0m = \u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1;35mStructure\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mgeometry\u001b[0m=\u001b[1;35mBox\u001b[0m\u001b[1m(\u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'Box'\u001b[0m, \u001b[33mcenter\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[33msize\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m1.0\u001b[0m, \u001b[1;36m1.0\u001b[0m, \u001b[1;36m1.0\u001b[0m\u001b[1m)\u001b[0m\u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Structure'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mmedium\u001b[0m=\u001b[1;35mMedium\u001b[0m\u001b[1m(\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mname\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mfrequency_range\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mtype\u001b[0m=\u001b[32m'Medium'\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mpermittivity\u001b[0m=\u001b[1;36m2\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[33mconductivity\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.0\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m, \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[1m)\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mwvl_mat_min\u001b[0m = \u001b[1;36m1.4132352000025548\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2502\u001b[0m \u001b[3;33mzero_dims\u001b[0m = \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m \u001b[34m\u2502\u001b[0m\n",
"\u001b[34m\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# print the log, which is stored as an attribute rather than as its own file\n",
"print(sim_data.log)\n",
"\n",
"# get a copy of the original Simulation, so it also doesn't need to be stored separately\n",
"sim_data.simulation.help()\n"
]
},
{
"cell_type": "markdown",
"id": "f33815ce",
"metadata": {},
"source": [
"### Monitor Data\n",
"\n",
"Data for each monitor is stored as its corresponding [td.MonitorData](../_autosummary/tidy3d.components.data.MonitorData.html) instance.\n",
"\n",
"The monitor data can be found using the `monitor.name` by indexing into the [SimulationData](../_autosummary/tidy3d.SimulationData.html) using square brackets.\n",
"\n",
"The data are stored as [xarray](http://xarray.pydata.org/en/stable/) objects, which means they work similarly to numpy arrays but provide many additional useful features. For more details refer to the [tutorial on data visualization](../notebooks/VizData.html)."
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "5a1d45b1",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"flux_data = sim_data[\"flux_over_time\"].flux\n",
"flux_data.plot()\n",
"plt.title(\"flux over time\")\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"id": "20f259c5",
"metadata": {},
"source": [
"For field data, we can further index by `fields` specified in the monitor, as follows."
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "9bad3d76",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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u+++Q+vWrW1OhIiIyB0pgZu7mTJlCl577TVs377d4rJjf//737F//36b41o9p+iRRx7Bfffdh+TkZLRs2dK8vHv37nj44YdtToSIiIioLI4fP461a9cWWh4WFobr16/bHNemrhARERGIiIjAxYsXAQC1atUyt9muCPKMCl529vXRazK1uVGoxM81ypy/kJFfIBLnerZBJM7ltFyROOevZ4nEybiZIxLn2mnb/5L5M0NWmkgcV+NZRaZJbJXAv4vEkXr/RAbZfk2mPwv08RSJ4+epF4njoRdqMGT9wYsiSXw/55VToyIFmT5F7iY4OBjJycmIioqyWH706FHUrFnT5rhWvwNNJhNmz56NoKAg1K1bF3Xr1kVwcDDmzJkDk4knFhIREVlDZKK1mxVWjz32GCZPnoyUlBRomgaTyYQ9e/Zg0qRJGDp0qM1xrS7vX331VXz88ceYN28eOnXqBAD46aefMHPmTOTm5uL111+3ORkiIiL3omASqGjcrCbCG2+8gbFjx6J27dowGo1o2rQpjEYjHn/8cUybNs3muFYXRatWrcK///1v/POf/zQva9GiBWrWrIlnn32WRREREZEV3PWUent4eXnho48+wvTp03HixAlkZmaidevWaNiwoV1xrS6Kbt68icaNGxda3rhxY5vbahMRERFZq06dOqhTp45YPKuLopYtW+L999/HokWLLJa///77FmejERERUck40brsJk6ciDlz5qBKlSqYOHFiieu+++67Nu3D6qLorbfeQu/evfH999+bexTt27cPFy5cwNdff21TEkRERG7JjTtSW+vo0aMwGG6f2XzkyJFiLw5b1ovGFsXqoqhLly747bffsGTJEpw+fRoA0K9fPzz77LOoUaOGzYkQERG5I060Lpv33nvPfOWMuLg4h+zDpuYSNWrUqNATqrMNJugM9rUP0NleiFqQGjbNF+pTlJlvFIkj1ePDKPQCeXnI9D/xqSLTH6ZagzYicbKuJonEMebL9F/Se/mKxKkSJjNHQOr/S+r9I/V+lvp8SX3efcReH5EwIt/PWeXUp4jKrnXr1khOTkZYWBiio6Nx6NAhVKtWTXQfNhVFt27dwscff4xTp04BAJo2bYoRI0YgJCRENDkiIqLKTIGHz8oqODgYiYmJCAsLw7lz5xzSG9Hqomj37t146KGHEBQUhHbt2gEAFi1ahNmz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OKeIiIiICBwpIiIich4FKIkpYhxsEsGiiIiIyIlEJlqTCBZFRERETqKE+hQpDhWJYFFERETkLFIdrVkTiXDLoiisyT3QefnZFUOn00RykTrroMAg04+lIEemM0de5k2ROIasNJE4eZm3ROIY83JE4kj1q6GS6YT65+i9Zfr5ePkFysQJCBGJ4+0vE8fD118mjqdU3y37v5+N+dnI3COQDFUoblkUERERuQqZa5+RBBZFRERETqIAmDjR2mWwKCIiInIidrR2HWzeSERERAQWRURERM6jFJTJ/pujhori4uKgaVqRt0OHDhW7XdeuXQut/8wzzzgmSUE8fEZEROREMmchO6Yq6tixI5KTky2WTZ8+HTt27EC7du1K3Hb06NGYPXu2+b6fn31nfZcHFkVEREROouDaHa29vLwQERFhvm8wGPDll1/iueeeg6aV3PrAz8/PYtuKwC2LouimYfD0rWJXDC8PmSOP+QUSF70BsnMMInGy0mX6qGSmyvQ/ybol06co+8YlkTj5GTL9jvKF+i9V1n5HUv2FvKoEycQJqCoSx69aTZE4VarKPC//YB+ROFUCvUXi+Pl6isSR+H425GThrEAu5clgMCA9Pd1imbe3N7y9Zf5/AGDr1q24ceMGRowYUeq6a9aswerVqxEREYGHHnoI06dPd/nRIs4pIiIicpb/XRDW3hsUsGHDBgQFBVnc5s6dK5ruxx9/jJ49e6JWrVolrvf4449j9erV2LlzJ6ZOnYpPP/0UTzzxhGgujuCWI0VERESuQubaZ8DAgQOxdOlSi+XFjRJNmTIFb775ZokxT506hcaNG5vvX7x4Ed9++y02bNhQaj5PPfWU+d/NmzdHZGQkunfvjrNnz6J+/fqlbu8sLIqIiIicReraZwA8PT0RGFi2KRAvvvgihg8fXuI60dHRFvdXrFiBatWq4Z///KfVuXXo0AEAkJCQwKKIiIiIXEdoaChCQ0PLvL5SCitWrMDQoUPh6Wn93K9jx44BACIjI63etjxxThEREZHTuHafojt++OEHJCYm4sknnyz02KVLl9C4cWMcPHgQAHD27FnMmTMH8fHxOHfuHLZu3YqhQ4eic+fOaNGihWMTtRNHioiIiJykolz77OOPP0bHjh0t5hjdYTAYcObMGWRnZwO4fRr/999/j4ULFyIrKwu1a9dG//79MW3atPJO22os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j/79++PKlSvllDXw+uuvo2PHjvDz80NwcHCZthk+fDg0TbO49erVy7GJ/oUteSulMGPGDERGRsLX1xc9evTA77//7thE/+TmzZsYPHgwAgMDERwcjFGjRiEzM7PEbbp27VrotX7mmWccluOSJUtQr149+Pj4oEOHDjh48GCJ62/cuBGNGzeGj48Pmjdvjq+//tphuRXHmpxXrlxZ6PX08fEpx2yB3bt346GHHkKNGjWgaRq2bNlS6jZxcXFo06YNvL290aBBA6xcudLhef6ZtTnHxcUVep01TUNKSkq55Dt37lzcc889CAgIQFhYGPr27YszZ86Uup0rvJ/J+VgUCTh9+jRMJhM++OADnDx5EgsWLMCyZcvwyiuvlLjdCy+8gP/85z/YuHEjdu3ahcuXL6Nfv37llDWQn5+PAQMGYMyYMVZt16tXLyQnJ5tvn332mYMyLJoteb/11ltYtGgRli1bhgMHDqBKlSro2bMncnNzHZjp/xk8eDBOnjyJ7du346uvvsLu3bvx1FNPlbrd6NGjLV7rt956yyH5rV+/HhMnTkRsbCyOHDmCli1bomfPnrh69WqR6+/duxeDBg3CqFGjcPToUfTt2xd9+/bFiRMnHJKfRM7A7Q7Gf349z58/X275AkBWVhZatmyJJUuWlGn9xMRE9O7dG926dcOxY8cwYcIEPPnkk/j2228dnOn/sTbnO86cOWPxWoeFhTkoQ0u7du3C2LFjsX//fmzfvh0GgwH3338/srKyit3GFd7P5CIUOcRbb72loqKiin08NTVVeXp6qo0bN5qXnTp1SgFQ+/btK48UzVasWKGCgoLKtO6wYcNUnz59HJpPWZU1b5PJpCIiItTbb79tXpaamqq8vb3VZ5995sAMb/v1118VAHXo0CHzsm+++UZpmqYuXbpU7HZdunRR48ePd3h+SinVvn17NXbsWPN9o9GoatSooebOnVvk+gMHDlS9e/e2WNahQwf19NNPOzTPP7M2Z2ve5+UBgNq8eXOJ67z88svq7rvvtlj26KOPqp49ezows+KVJeedO3cqAOrWrVvlklNprl69qgCoXbt2FbuOK7yfyTVwpMhB0tLSEBISUuzj8fHxMBgM6NGjh3lZ48aNUadOHezbt688UrRZXFwcwsLC0KhRI4wZMwY3btxwdkolSkxMREpKisVrHRQUhA4dOpTLa71v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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Ey = sim_data[\"fields_at_150THz\"].Ey\n",
"\n",
"Ey.real.plot(x=\"x\", y=\"y\", robust=True)\n",
"plt.title(\"real{Ey(x, y)}\")\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"id": "54c1847c",
"metadata": {},
"source": [
"Finally, [SimulationData](../_autosummary/tidy3d.SimulationData.html) provides a method for potting field data with structure overlay, similar to `sim.viz_fields2D()`."
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "72490bd2",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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9Gj861//wp49e6ocF5J1oQcPHgyLxYJXXnnFJe2bb76J3NxcjBw5EgCQl5dXZXRcly5dYDKZnF9zL126VCX/K7W+6r4KX6HlvN/85jfIyMjA3//+9yppi4uLnT1tRo8eDZPJhHnz5lWpvV79+YKDg5GTk1Njma7o2bMnoqKisHTpUpfP8MUXX+DIkSPO6+OuKzX4q8tYVlaG119/vUra4OBgzc0r58+fx29+8xvccsstzh4u1alNm/ioUaPg7+/vUkYhBJYuXYoWLVqgb9++LuU4evQoysvLnfvuvvtuZGVl4eOPP3buu3jxIlavXo3bb7/d2QZ+ww03oGPHjli2bBnsdrsz7ZIlS6AoCu6++25N14Iah0bZnPLcc8/hq6++Qv/+/Z3d786fP4/Vq1fj66+/dukCd63IyEikpqZi7ty5GDZsGO644w4cO3YMr7/+Onr16oUHHngAALBp0yZMnToVY8eORfv27VFRUYF3330XZrMZY8aMAQDMmzcP27Ztw8iRI9GqVStkZ2fj9ddfR1xcnGpXMy3n/e53v8OHH36IyZMnY/Pmzbj55ptht9tx9OhRfPjhh/jyyy/Rs2dPXHfddXjyySfxzDPPoF+/frjrrrtgtVqxe/duNG/eHGlpaQCAHj16YMmSJfjrX/+K6667DlFRUc6HpFfz9/fHCy+8gIkTJ6J///649957nV0MW7dujRkzZtT2x+aib9++aNKkCcaPH48//OEPUBQF7777brV/hHv06IFVq1YhJSUFvXr1QkhICG6//fZq8/3DH/6ACxcu4M9//jM++OADl2OJiYlITEwEULs28bi4OEyfPh3z589HeXk5evXqhTVr1uDf//43VqxY4dK0lJqairfffhsnT55E69atAVQG8ZtuugkTJ07E4cOH0axZM7z++uuw2+2YO3euy3vNnz8fd9xxB4YMGYLf/va3OHjwIF577TU89NBDVbo4UiPnya8Bdemnn34S48aNE5GRkcJqtYq2bduKKVOmVBnsU103RCEqvxp37NhR+Pv7i+joaPHII4+4DPb573//Kx588EHRrl07ERAQICIiIsTAgQPFhg0bnGk2btwoRo0aJZo3by4sFoto3ry5uPfee6sMob6W1vPKysrECy+8IG644QZhtVpFkyZNRI8ePcTcuXNFbm6uS9q33npLdOvWzZmuf//+Lk06mZmZYuTIkSI0NFTTYJ9Vq1Y584uIiFAd7HMtLc0pQlQ2T910000iMDBQNG/eXPz5z38WX375ZZXyFBQUiPvuu0+Eh4dLB/tUNzjoyubuYB8hKpvznnvuOdGqVSthsVjEDTfcIN57770q6a50vzx58qTL/kuXLolJkyaJpk2biqCgING/f/8a79FPPvlEdO3aVVitVhEXFyeeeuopUVZW5vZnIO+iCCFpXyAiogar0bWJExH5EgZxIiIvxiBOROTFGMSJiLwYgzgRkRdjECci8mKNcrBPTRwOB86dO4fQ0NBazeBH1FAIIZCfn4/mzZurTqZGjZ9PBfFz5841mImhiIxw5swZxMXFeboYLrZu3YoBg4Zg1/Zt6NOnj6eL0+j51GCf3NxchIeH47sjPyA0NNTTxSGqtfz8fCR2au9cRaqhcDgc8AuJhrCXQvEPgj3/PL/11jGfqolfuZlCQ0MRGhbm4dJ4r/r6lfSZ2oUbGlqAXLVqFURFEfza34GKY2vwz3/+E6NGjfJ0sRo1NqYRkSFKS0tx34SHYY7tDsU/EKaYrhh9z/gqs32SsRjEicgQQW37ASYLlCbtAACmph0ACFjb3OrZgjVyDOJE5LbLly/DkfUfmJv3hKJUhhVFMcEc2xOOzP3Iz8/3cAkbLwZxInJbsw79oAQ1gymshct+xdYSijUM4df381DJGj8GcSJyy8mTJ+G4eBTm5r2qHFMUBabmveC4cAjnzp3zQOkaPwZxInJLux6DoYS3gRIYUe1xU3AUlLA4xHUZWM8l8w0M4kRUa3v27IHIPQ1zbHfVdObYHhCXT+DQoUP1VDLfwSBORLUihEDvgbfD1CwBiiVYNa1iDYOpaXt06TusnkrnOxjEiahWPvvsM4jiyzBFd9GU3hTTFaIgG5s2barjkvkWBnEi0q2iogK33/0ATDFdoZgtms5R/AJgiu6CQbeNhcPhqOMS+g6fGnZ/RXG5A37lxt1ERuRUXzPY1McobS01g/r6Fa6P62rENdVbmyo28P6tjYA2/QHh+GVAj3amyAQ4Lh7FypUr8cADD9RR6XwLa+JEpEtBQQHsmfsrB/aYzLrOVUx+MMd2x+8enIySkpI6KqFvYRAnIl1s1/eDYgmBYmtVq/OVJu0APyuC23EAkBEYxIlIs8zMTDiyD8LUoletZ1BUFAXm5r3gyPwOP//8s8El9D1eG8Sff/55KIqC6dOne7ooRD6jRZdfQQltDlNwtFv5mEKbQwmORFQCBwC5yyuD+O7du/HGG28gMTHR00Uh8il33NIBSkisIXkpITG4Z1BnQ/LyZV4XxAsKCnD//ffj73//O5o0aeLp4hD5HEVRoJjM7m+K14WfBsnrruKUKVMwcuRIDB482NNFIaJ6tG3bNtx+++1o3rw5FEXBmjVrXI4LITBr1izExsYiMDAQgwcPxo8//ijNd/HixWjdujUCAgLQp08ffPvtt3X0CeqGVwXxDz74APv27UNaWpqm9KWlpcjLy3PZiMhNismQmjh01sQLCwtx4403YvHixdUe/9vf/oZXXnkFS5cuxTfffIPg4GAMHTpUtSvjqlWrkJKSgtmzZ2Pfvn248cYbMXToUGRnZ+sqmyd5zWCfM2fO4I9//CPWr1+PgIAATeekpaVh7ty5Vfb/XFKBUn/jloyyaxh34TBg1IldkofZgFEnJg15mOvpT7/sutbHNQXq57rqvaYFJZ5b8kz5JYi7n4++6zp8+HAMHz682mNCCCxatAhPPfWUc03Pd955B9HR0VizZg1++9vfVnveSy+9hOTkZEycOBEAsHTpUnz22Wd46623MHPmTF3l8xSvqYnv3bsX2dnZ6N69O/z8/ODn54etW7filVdegZ+fH+x2e5VzUlNTkZub69zOnDnjgZITNS6Kh2riak6ePInMzEyXZlabzYY+ffpg586d1Z5TVlaGvXv3upxjMpkwePDgGs9piLymJj5o0CB8//33LvsmTpyIjh074oknnoDZXLVmYLVaYbVa66uIRKST3W6v0sxZm9/bzMxMAEB0tGvXx+joaOexa128eBF2u73ac44eParr/T3Ja4J4aGgoOnd27Y4UHByMpk2bVtlPRHXIpECpptKkl2JScPjwYdhsNpf9s2fPxpw5c9zO31d4TRAnooZBUUwwGdImbkJCQgK2b9/usr82355jYmIAAFlZWYiN/V8/9qysLHTt2rXac5o1awaz2YysrCyX/VlZWc78vIHXtIlXZ8uWLVi0aJGni0HkU4xsEzebzQgLC3PZahPE27Rpg5iYGGzcuNG5Ly8vD9988w2SkpKqPcdisaBHjx4u5zgcDmzcuLHGcxoi1sSJyCsUFBTg+PHjztcnT57EgQMHEBERgZYtW2L69On461//iuuvvx5t2rTB008/jebN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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sim_data.plot_field(\"fields_at_150THz\", \"Ey\", val=\"real\")\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"id": "98440f63",
"metadata": {},
"source": [
"## Plugins\n",
"\n",
"Here we will discuss the plugins that support and extend functionalities of Tidy3D, including:\n",
"\n",
"- [Dispersion fitting tool](../notebooks/Fitting.html).\n",
"\n",
"- [Mode solver](../notebooks/ModeSolver.html).\n",
"\n",
"- [Near field to far field transformations](../notebooks/Near2Far.html).\n",
"\n",
"These plugins are designed to import and make use of Tidy3D components described above, but the Tidy3D components have no dependence on the plugins by design. In this sense, they can be considered \"external\" packages that are useful for defining simulation components.\n",
"\n",
"The components from these plugins can be imported as \n",
"```\n",
"from tidy3d.plugins.{plugin_name} import {component}\n",
"```\n",
"for example\n",
"```\n",
"from tidy3d.plugins.mode import ModeSolver\n",
"```\n",
"\n",
"We won't go into the details in this notebook as each of the plugins has its own example tutorial notebook, but here is a summary:\n",
"\n",
"### Dispersion Fitting\n",
"\n",
"We provide a [tool for fitting optical data to create dispersive mediums](../_autosummary/tidy3d.plugins.DispersionFitter.html).\n",
"\n",
"Given a file or arrays containing wavelength, n, and (optionally) k data, this tool will fit the data to a pole-residue model with some constraints and parameters.\n",
"\n",
"After fitting, the user can visualize and inspect the results. \n",
"\n",
"This process can be repeated until the user is satisfied, at which point the tool can return a [dispersive medium](../_autosummary/tidy3d.PoleResidue.html) for use in the Simulation.\n",
"\n",
"For more details, see the corresponding [tutorial]((../notebooks/Fitter.html).\n",
"\n",
"### Mode Solver\n",
"\n",
"The `mode` plugin provides a [mode solver](../_autosummary/tidy3d.plugins.ModeSolver.html), which is mainly useful for coming up with [ModeSpec](../_autosummary/tidy3d.ModeSpec.html) objects for a given source or monitor.\n",
"\n",
"The tool takes a reference simulation containing some waveguide or other structure definitions to feed to the core solver. It also requires a [Box](../_autosummary/tidy3d.Box.html) specifying the plane on which to solve the modes for.\n",
"\n",
"Then, the user can iteratively send different [ModeSpec](../_autosummary/tidy3d.ModeSpec.html) objects, solve for the results, visualize, and repeat the process until satisfied.\n",
"\n",
"The resulting [ModeSpec](../_autosummary/tidy3d.ModeSpec.html) can be saved directly, or used in conjunction with the mode solver settings to return a [ModeSource](../_autosummary/tidy3d.ModeSource.html) or [ModeMonitor]((../_autosummary/tidy3d.ModeMonitor.html).\n",
"\n",
"For more details, see the corresponding [tutorial]((../notebooks/ModeSolver.html).\n",
"\n",
"\n",
"### Scattering Matrix\n",
"\n",
"The `smatrix` plugin provides a wrapper for computing S-matrix components using Tidy3D simulations from the [Component Modeler](../_autosummary/tidy3d.plugins.smatrix.ComponentModeler.html) plugin.\n",
"\n",
"This tool allows users to connect \"ports\" to their simulation and post-processes the results into a datastructure that can be queried for S-matrix data.\n",
"\n",
"For more details, see the corresponding [tutorial]((../notebooks/SMatrix.html).\n",
"\n",
"### Adjoint\n",
"\n",
"The `adjoint` plugin allows users to write functions involving a Tidy3D `Simulation` run and take efficient gradients of those functions using `jax`. It requires setting up `Simulation` objects using jax-compatible analogues defined in the plugin.\n",
"\n",
"For more details, see the corresponding [tutorial]((../notebooks/AdjointPlugin_1_Intro.html).\n",
"\n",
"### Resonance Finder\n",
"\n",
"The `resonance` plugin provides an interface for analyzing time series data using the technique of \"harmonic inversion\" and using that data to find resonances in the simulation.\n",
"\n",
"For more details, see the corresponding [tutorial]((../notebooks/Bandstructure.html).\n",
"\n",
"\n",
"### PolySlab\n",
"\n",
"The `polyslab` plugin extends the normal `td.PolySlab` functionality to provide more features needed for self-intersecting and complex geometries.\n",
"\n",
"For more details, see the corresponding [tutorial]((../notebooks/Self_intersecting_polyslab.html).\n",
"\n",
"## Conclusion\n",
"\n",
"We hope this gives a useful overview of the main changes in the revamped version of Tidy3D.\n",
"\n",
"We highly recommend you check out the various tutorial [notebook examples](https://docs.flexcompute.com/projects/tidy3d/en/stable/examples.html) if you have more specific questions or want to dive deeper in any of the topics.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7bf787db",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.9"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"state": {
"0fca99a712184587a35c3557fff0eb28": {
"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
}
},
"25cc5b240add4376bcae5637ec141099": {
"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
}
},
"26111479242c4edda7e94cff1c53604a": {
"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_25cc5b240add4376bcae5637ec141099",
"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\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.0% \u2022 55.6/55.6 kB \u2022 ? \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\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m55.6/55.6 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n"
},
"metadata": {},
"output_type": "display_data"
}
]
}
},
"6d5d9bbe386e4f3ba3aad71d93130847": {
"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
}
},
"807a5c332b5245598bb8bc7969547503": {
"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_6d5d9bbe386e4f3ba3aad71d93130847",
"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 2.4/2.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[32m2.4/2.4 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n"
},
"metadata": {},
"output_type": "display_data"
}
]
}
},
"92b71f39dfc7411d8dcf7fda3cd467ab": {
"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
}
},
"d472de6b951849fb890ff1cd03463482": {
"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_92b71f39dfc7411d8dcf7fda3cd467ab",
"msg_id": "",
"outputs": [
{
"data": {
"text/html": "\ud83d\udeb6 Starting 'web_demo'... \n \n",
"text/plain": "\u001b[32m\ud83d\udeb6 \u001b[0m \u001b[1;32mStarting 'web_demo'...\u001b[0m\n"
},
"metadata": {},
"output_type": "display_data"
}
]
}
},
"dbe741250c2e40038844cd174cc153fa": {
"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
}
},
"e3a5e8d2810d4936922deffeb185d594": {
"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_dbe741250c2e40038844cd174cc153fa",
"msg_id": "",
"outputs": [
{
"data": {
"text/html": "\ud83d\udeb6 Finishing 'web_demo'... \n \n",
"text/plain": "\u001b[32m\ud83d\udeb6 \u001b[0m \u001b[1;32mFinishing 'web_demo'...\u001b[0m\n"
},
"metadata": {},
"output_type": "display_data"
}
]
}
},
"f000da915d7a4968b2b2170017c18f61": {
"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_0fca99a712184587a35c3557fff0eb28",
"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"
}
]
}
}
},
"version_major": 2,
"version_minor": 0
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}