{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Scattering cross-section calculation\n", "\n", "This tutorial will show you how to compute the radar cross section (RCS) for a dielectric sphere by sampling scattered near fields on a closed surface surrounding the sphere, and transforming them to observation points far away.\n", "\n", "This example demonstrates the usefulness of the near field to far field transformation for reducing the simulation size needed for structures involving lots of empty space.\n", "\n", "To obtain the scattered field, we will use a [total-field/scattered-field source (TFSF)](https://docs.flexcompute.com/projects/tidy3d/en/latest/_autosummary/tidy3d.TFSF.html), and measure the scattered fields in the region surrounding the sphere.\n", "\n", "Then, we'll show how to use a near-field to far-field transformation in `Tidy3D` to compute the RCS for the sphere either on the cloud during the simulation run, or on your local machine afterwards." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:05:46.055001Z", "iopub.status.busy": "2023-03-27T21:05:46.054309Z", "iopub.status.idle": "2023-03-27T21:05:47.370218Z", "shell.execute_reply": "2023-03-27T21:05:47.369652Z" }, "tags": [] }, "outputs": [], "source": [ "# standard python imports\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# tidy3d imports\n", "import tidy3d as td\n", "import tidy3d.web as web\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define Simulation Parameters\n", "\n", "We first need to define our simulation parameters and the structure." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:05:47.373453Z", "iopub.status.busy": "2023-03-27T21:05:47.373002Z", "iopub.status.idle": "2023-03-27T21:05:47.398676Z", "shell.execute_reply": "2023-03-27T21:05:47.398085Z" }, "tags": [] }, "outputs": [], "source": [ "# radius and location of the sphere\n", "radius = 0.5\n", "center = [0, 0, 0]\n", "\n", "# permittivity of the sphere\n", "epsr = 4\n", "\n", "# free space central wavelength\n", "wavelength = (2.0 * radius) / 2.0\n", "f0 = td.C_0 / wavelength\n", "\n", "# distance between the surface of the sphere and the start of the PML layers along each cartesian direction\n", "buffer_PML = 3 * wavelength\n", "\n", "# distance between the sphere and the near field monitor along each cartesian direction\n", "buffer_mon = 1 * wavelength\n", "\n", "# distance between the sphere and the TFSF source region along each cartesian direction\n", "buffer_tfsf = 0.5 * wavelength\n", "\n", "# Define material properties\n", "air = td.Medium(permittivity=1)\n", "diel = td.Medium(permittivity=epsr)\n", "\n", "# resolution control\n", "min_steps_per_wvl = 20\n", "\n", "# create the sphere\n", "sphere = td.Structure(geometry=td.Sphere(center=center, radius=radius), medium=diel)\n", "geometry = [sphere]\n", "\n", "# define PML layers on all sides\n", "boundary_spec = td.BoundarySpec.all_sides(boundary=td.PML())\n", "\n", "# set the domain size in x, y, and z\n", "domain_size = buffer_PML + 2 * radius + buffer_PML\n", "\n", "# construct simulation size array\n", "sim_size = (domain_size, domain_size, domain_size)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create Source\n", "\n", "For our incident field, we create a total-field scattered-field region injecting a plane wave propagating in the z direction, from below the sphere, polarized in the x direction." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:05:47.401500Z", "iopub.status.busy": "2023-03-27T21:05:47.401268Z", "iopub.status.idle": "2023-03-27T21:05:47.424158Z", "shell.execute_reply": "2023-03-27T21:05:47.423580Z" }, "tags": [] }, "outputs": [], "source": [ "# Bandwidth in Hz\n", "fwidth = f0 / 10.0\n", "\n", "# time dependence of source\n", "gaussian = td.GaussianPulse(freq0=f0, fwidth=fwidth)\n", "\n", "# place the total-field region around the sphere, injecting a plane wave from the bottom in the +z direction\n", "source_size = [2 * radius + 2 * buffer_tfsf] * 3\n", "source = td.TFSF(\n", " center=center,\n", " size=source_size,\n", " source_time=gaussian,\n", " direction=\"+\",\n", " pol_angle=0,\n", " injection_axis=2,\n", ")\n", "\n", "# Simulation run time (s)\n", "run_time = 2e-12\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create Monitors\n", "\n", "Next, we define the monitors that will capture the near field data.\n", "\n", "First, we create a [FieldMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/_autosummary/tidy3d.FieldMonitor.html) completely enclosing the sphere, using the `.surfaces()` method to extract the 6 planar surfaces surrounding the volume. This cuts down on the data required vs computing the full volume because only the fields on the enclosing surface are required to get the far field information.\n", "\n", "The near fields will be captured on these surfaces; after the simulation, they will be used to compute far fields on your local machine." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:05:47.426304Z", "iopub.status.busy": "2023-03-27T21:05:47.426162Z", "iopub.status.idle": "2023-03-27T21:05:47.445009Z", "shell.execute_reply": "2023-03-27T21:05:47.444423Z" }, "tags": [] }, "outputs": [], "source": [ "# create a set of surface monitors around the sphere for local computation of far fields\n", "mon_size = 2 * radius + 2 * buffer_mon\n", "monitors_near = td.FieldMonitor.surfaces(\n", " center=center, size=[mon_size] * 3, freqs=[f0], name=\"near_field\"\n", ")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we'll make a [FieldProjectionAngleMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/_autosummary/tidy3d.FieldProjectionAngleMonitor.html) which is used for computing far-fields directly on the server during the simulation run with `Tidy3D`'s full hardware optimization, making it extremely fast. Note that in this case, `surfaces()` must not be used because the solver already knows to use only surface tangential fields to compute the far fields.\n", "\n", "With this approach, the near-field data associated with the monitor is used to compute the far fields, and only the far field data is downloaded and returned to the user. Then, we'll show how to easily and quickly retrieve various quantities such as power and radar cross section from the computed far fields.\n", "\n", "Note that for server-side calculation of far fields, this is the only monitor required. The monitor's `size` and `center` fields specify the location where near fields will be sampled, while its `theta` and `phi` fields specify the far-field observation angles. Therefore, all the information needed is contained within [FieldProjectionAngleMonitor](https://docs.simulation.cloud/projects/tidy3d/en/latest/_autosummary/tidy3d.FieldProjectionAngleMonitor.html) (one can also use [FieldProjectionCartesianMonitor](https://docs.simulation.cloud/projects/tidy3d/en/latest/_autosummary/tidy3d.FieldProjectionCartesianMonitor.html) or [FieldProjectionKSpaceMonitor](https://docs.simulation.cloud/projects/tidy3d/en/latest/_autosummary/tidy3d.FieldProjectionKSpaceMonitor.html) to specify the far-field observation grid in different coordinate systems)." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:05:47.447247Z", "iopub.status.busy": "2023-03-27T21:05:47.447098Z", "iopub.status.idle": "2023-03-27T21:05:47.467327Z", "shell.execute_reply": "2023-03-27T21:05:47.466829Z" }, "tags": [] }, "outputs": [], "source": [ "# set the far-field observation angles of interest\n", "num_theta = 300\n", "num_phi = 2\n", "thetas = np.linspace(0, np.pi, num_theta)\n", "phis = np.linspace(0, np.pi / 2, num_phi)\n", "\n", "# create the far field monitor for server-side computation of far fields\n", "monitor_far = td.FieldProjectionAngleMonitor(\n", " center=center,\n", " size=[mon_size, mon_size, mon_size],\n", " freqs=[f0],\n", " name=\"far_field\",\n", " custom_origin=center,\n", " phi=list(phis),\n", " theta=list(thetas),\n", " far_field_approx=True, # we leave this to its default value of 'True' because we are interested in fields sufficiently\n", " # far away that the far field approximations can be invoked to speed up the calculation\n", ")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's also create another near-field monitor where the fields are automatically downsampled based on given sampling rates. The rationale is that we may be able to approximate the far fields fairly well even if the resolution of near-fields is not very fine. This downsampled is achieved by supplying the `interval_space` field in the [FieldMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/_autosummary/tidy3d.FieldMonitor.html), and can be useful for further reducing the amount of data that needs to be downloaded from the server, while still leading to accurate far fields, as shown below.\n", "\n", "Here, we downsample by a factor of 2 along the x and y dimensions, and a factor of 3 along z.\n", "\n", "Note that the downsampling feature can be useful if downloading near fields to compute far fields on your local machine, but is unnecessary if you choose to use server-side far field computations." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:05:47.469419Z", "iopub.status.busy": "2023-03-27T21:05:47.469271Z", "iopub.status.idle": "2023-03-27T21:05:47.488007Z", "shell.execute_reply": "2023-03-27T21:05:47.487440Z" }, "tags": [] }, "outputs": [], "source": [ "# create a set of surface monitors around the sphere\n", "monitors_downsampled = td.FieldMonitor.surfaces(\n", " center=center,\n", " size=[mon_size, mon_size, mon_size],\n", " freqs=[f0],\n", " name=\"near_field_downsampled\",\n", " interval_space=(\n", " 2,\n", " 2,\n", " 3,\n", " ), # these are the (x, y, z) factors by which fields are downsampled\n", ")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create Simulation\n", "\n", "Now we can put everything together and define the simulation object.\n", "\n", "Note that for best results, it is recommended that the FDTD grid is made uniform inside the TFSF box along the directions perpendicular to the injection axis. So, we'll add a mesh override region slightly larger than the TFSF box itself, whose mesh size is set based on the permittivity of the sphere." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:05:47.490012Z", "iopub.status.busy": "2023-03-27T21:05:47.489866Z", "iopub.status.idle": "2023-03-27T21:05:47.519745Z", "shell.execute_reply": "2023-03-27T21:05:47.519296Z" }, "tags": [] }, "outputs": [], "source": [ "# create the phantom override structure for the mesh based on the TFSF source size\n", "mesh_override = td.Structure(\n", " geometry=td.Box(center=source.center, size=[i * 1.1 for i in source.size]),\n", " medium=diel,\n", ")\n", "grid_spec = td.GridSpec.auto(\n", " min_steps_per_wvl=min_steps_per_wvl, override_structures=[mesh_override]\n", ")\n", "\n", "# collect together all monitors\n", "monitors = monitors_near + [monitor_far] + monitors_downsampled\n", "\n", "# create the simulation object\n", "sim = td.Simulation(\n", " size=sim_size,\n", " grid_spec=grid_spec,\n", " structures=geometry,\n", " sources=[source],\n", " monitors=monitors,\n", " run_time=run_time,\n", " boundary_spec=boundary_spec,\n", ")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualize Geometry\n", "\n", "Let's take a look and make sure everything is defined properly." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:05:47.521744Z", "iopub.status.busy": "2023-03-27T21:05:47.521595Z", "iopub.status.idle": "2023-03-27T21:05:47.915366Z", "shell.execute_reply": "2023-03-27T21:05:47.914906Z" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 2, figsize=(7, 3))\n", "sim.plot(y=0, ax=ax[0])\n", "sim.plot(y=0, ax=ax[1])\n", "sim.plot_grid(y=0, ax=ax[1])\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Run Simulations\n", "\n", "Now we can run the simulation over time and measure the results\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:05:47.917411Z", "iopub.status.busy": "2023-03-27T21:05:47.917263Z", "iopub.status.idle": "2023-03-27T21:09:43.625511Z", "shell.execute_reply": "2023-03-27T21:09:43.623860Z" } }, "outputs": [ { "data": { "text/html": [ "
[16:14:41] Created task 'sphereRCS' with task_id                                webapi.py:139\n",
       "           'fdve-7ba8a55d-9792-4096-9189-bd78a9e1a8a1v1'.                                    \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:14:41]\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'sphereRCS'\u001b[0m with task_id \u001b]8;id=117270;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=792996;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/tidy3d/web/webapi.py#139\u001b\\\u001b[2m139\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m\u001b[32m'fdve-7ba8a55d-9792-4096-9189-bd78a9e1a8a1v1'\u001b[0m. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "392e7bb92df747e4a34167c2b6796a10", "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:14:43] status = queued                                                      webapi.py:269\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:14:43]\u001b[0m\u001b[2;36m \u001b[0mstatus = queued \u001b]8;id=558538;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=153780;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/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:14:45] status = preprocess                                                  webapi.py:263\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:14:45]\u001b[0m\u001b[2;36m \u001b[0mstatus = preprocess \u001b]8;id=706096;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=971131;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/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:14:50] Maximum FlexCredit cost: 0.413. Use 'web.real_cost(task_id)' to get  webapi.py:286\n",
       "           the billed FlexCredit cost after a simulation run.                                \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:14:50]\u001b[0m\u001b[2;36m \u001b[0mMaximum FlexCredit cost: \u001b[1;36m0.413\u001b[0m. Use \u001b[32m'web.real_cost\u001b[0m\u001b[32m(\u001b[0m\u001b[32mtask_id\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m to get \u001b]8;id=91123;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=766067;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/tidy3d/web/webapi.py#286\u001b\\\u001b[2m286\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0mthe billed FlexCredit cost after a simulation run. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           starting up solver                                                   webapi.py:290\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0mstarting up solver \u001b]8;id=10396;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=979450;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/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=720557;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=38099;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/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": "56e4d23e7f404aff9c83d4ca39804def", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[16:18:44] early shutoff detected, exiting.                                     webapi.py:313\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:18:44]\u001b[0m\u001b[2;36m \u001b[0mearly shutoff detected, exiting. \u001b]8;id=320618;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=214029;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/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=830109;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=955353;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/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": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "260f635c63fe48288ff562068190c362",
       "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:18:57] loading SimulationData from data/sphereRCS.hdf5                      webapi.py:512\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[16:18:57]\u001b[0m\u001b[2;36m \u001b[0mloading SimulationData from data/sphereRCS.hdf5 \u001b]8;id=799163;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=487129;file:///home/momchil/Drive/flexcompute/tidy3d-core/tidy3d_frontend/tidy3d/web/webapi.py#512\u001b\\\u001b[2m512\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sim_data = web.run(sim, task_name=\"sphereRCS\", path=\"data/sphereRCS.hdf5\", verbose=True)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setting Up the Local Near2Far Computation\n", "\n", "To set up the near-to-far transformation locally, we need to grab the fields on each surface of the near-field [FieldMonitor](https://docs.simulation.cloud/projects/tidy3d/en/latest/_autosummary/tidy3d.FieldMonitor.html) objects.\n", "\n", "So, we simply create a [FieldProjector](https://docs.simulation.cloud/projects/tidy3d/en/latest/_autosummary/tidy3d.FieldProjector.html) object and pass in the surface monitors as shown below. Note that we also need to pass the normal directions of each of the monitors in the list.\n", "\n", "In addition to storing the near field data, this object will compute the surface currents and provide various methods for projecting the far field quantities.\n", "\n", "We can optionally pass in the number of points per wavelength in the background medium with which to sample fields on the monitors. The default is 10 points per wavelength. This can reduce computation times significantly. By default, 10 points per wavelength are used.\n", "\n", "One can also pass in coordinates for the local origin of the set of monitors; the far-field observation points will be defined with respect to this origin. By default, the local origin is set to the average of the centers of all surface monitors passed in.\n", "\n", "To see the usefulness of downsampling the fields recorded on monitors, we'll also run the near-to-far transformation with downsampled fields to compare the RCS.\n", "\n", "Finally, to get a sense of performance, we'll measure the time it takes to compute the far fields locally, and compare it to the time it took to compute them on the server." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:09:47.051208Z", "iopub.status.busy": "2023-03-27T21:09:47.051071Z", "iopub.status.idle": "2023-03-27T21:09:49.388653Z", "shell.execute_reply": "2023-03-27T21:09:49.386872Z" }, "scrolled": false }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ea9e351ed1754a22a7fa746b3e557554", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ffb258825f6c47d6856933bc0a970fe4", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "01de89decb0b40f59148fdc4287d56a0", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "9c804f08b2504d608558c27df483a0c4", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "a9da061ce5e94049aae61f6eb8a7d7da", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b5f3d65d263645abb7b94ee7cae5fd1d", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "2c6313189e2f4d038f4af3a17bcb7092", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "8f9449b89dc04ca9882279b9341327ec", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "c3e4bb6a70874aa29c12e317575ff0ed", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "bbb53dbf3b1248b2960b8e7e4105651e", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "383786db49c748419f06443bac7798f4", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ee15acd7ee684b159b92b313061c8b51", "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" } ], "source": [ "import time\n", "\n", "# first, we construct the classes which compute far fields locally on your machine\n", "n2f = td.FieldProjector.from_near_field_monitors(\n", " sim_data=sim_data,\n", " near_monitors=monitors_near, # only supply the non-downsampled surface monitors as sources\n", " normal_dirs=[\"-\", \"+\", \"-\", \"+\", \"-\", \"+\"],\n", " pts_per_wavelength=10,\n", ")\n", "\n", "# do the same for the downsampled monitors\n", "n2f_downsampled = td.FieldProjector.from_near_field_monitors(\n", " sim_data=sim_data,\n", " near_monitors=monitors_downsampled, # only supply the downsampled surface monitors as sources\n", " normal_dirs=[\"-\", \"+\", \"-\", \"+\", \"-\", \"+\"],\n", " pts_per_wavelength=10,\n", ")\n", "\n", "# now, we retrieve the far fields in all three cases by passing in our far field monitor from before\n", "start = time.time()\n", "far_fields = n2f.project_fields(monitor_far)\n", "end = time.time()\n", "n2f_time = end - start\n", "\n", "start = time.time()\n", "far_fields_downsampled = n2f_downsampled.project_fields(monitor_far)\n", "end = time.time()\n", "n2f_downsampled_time = end - start\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Performance comparison\n", "\n", "We can see below that the local computation of far fields takes about the same time with and without downsampling, because the fields are anyway resampled on the near-field box prior to the computation. The real benefit of downsampling is reducing the amount of data that is stored and downloaded.\n", "\n", "The server-side computation is extremely fast, as expected, and requires downloading no near-field data." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:09:49.591407Z", "iopub.status.busy": "2023-03-27T21:09:49.591026Z", "iopub.status.idle": "2023-03-27T21:09:49.612117Z", "shell.execute_reply": "2023-03-27T21:09:49.611561Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Local near-to-far: 1.3249635696411133 s\n", "Local near-to-far with downsampling: 1.2540385723114014 s\n", "Server-side near-to-far: 0.0458 s\n" ] } ], "source": [ "# use the simulation log to find the time taken for server-side computations\n", "n2f_server_time = float(\n", " sim_data.log.split(\"Field projection time (s): \", 1)[1].split(\"\\n\", 1)[0]\n", ")\n", "\n", "print(f\"Local near-to-far: {n2f_time} s\")\n", "print(f\"Local near-to-far with downsampling: {n2f_downsampled_time} s\")\n", "print(f\"Server-side near-to-far: {n2f_server_time} s\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Get Far Field Data for the Server-Side Computations\n", "\n", "Recall that we also computed scattered far fields on the server; let's extract that data too." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:09:49.614585Z", "iopub.status.busy": "2023-03-27T21:09:49.614330Z", "iopub.status.idle": "2023-03-27T21:09:49.638875Z", "shell.execute_reply": "2023-03-27T21:09:49.638336Z" } }, "outputs": [], "source": [ "far_fields_server = sim_data[monitor_far.name]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Compute the RCS\n", "\n", "Now that we have the far fields computed in three different ways (locally, locally with downsampling, and remotely on the server), various far field quantities can be extracted.\n", "\n", "For this example, we use `FieldProjectionAngleData.radar_cross_section` to get the RCS at the previously-specified `theta,phi` points." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:09:49.641357Z", "iopub.status.busy": "2023-03-27T21:09:49.641100Z", "iopub.status.idle": "2023-03-27T21:09:49.662581Z", "shell.execute_reply": "2023-03-27T21:09:49.662059Z" }, "tags": [] }, "outputs": [], "source": [ "# get the RCS for the local, local downsampled and server-side cases\n", "RCS = np.real(far_fields.radar_cross_section.sel(f=f0).values)\n", "RCS_downsampled = np.real(far_fields_downsampled.radar_cross_section.sel(f=f0).values)\n", "RCS_server = np.real(far_fields_server.radar_cross_section.sel(f=f0).values)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plot Results\n", "Now we can plot the RCS and compare it to the analytical RCS computed via the Mie series.\n", "\n", "The results match very well! As expected, there are minor deviations due to the FDTD discretization.\n", "\n", "Notice that the downsampled monitors also yield fairly accurate results with less than an eighth of the data." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2023-03-27T21:09:49.665281Z", "iopub.status.busy": "2023-03-27T21:09:49.664946Z", "iopub.status.idle": "2023-03-27T21:09:50.174047Z", "shell.execute_reply": "2023-03-27T21:09:50.173528Z" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def to_db(val):\n", " return 10.0 * np.log10(val)\n", "\n", "\n", "RCS_phi0 = RCS[0, :, 0]\n", "RCS_phi90 = RCS[0, :, 1]\n", "\n", "RCS_downsampled_phi0 = RCS_downsampled[0, :, 0]\n", "RCS_downsampled_phi90 = RCS_downsampled[0, :, 1]\n", "\n", "RCS_server_phi0 = RCS_server[0, :, 0]\n", "RCS_server_phi90 = RCS_server[0, :, 1]\n", "\n", "# ------ import analytical data from disk ------\n", "\n", "mie_file_id = \"2lambda_epsr4\"\n", "mie_filename_phi0 = \"./misc/mie_bRCS_phi0_\" + mie_file_id + \".txt\"\n", "mie_filename_phi90 = \"./misc/mie_bRCS_phi90_\" + mie_file_id + \".txt\"\n", "\n", "mie_data_phi0 = np.loadtxt(mie_filename_phi0, delimiter=\"\\t\", skiprows=2)\n", "mie_theta_phi0 = np.squeeze(mie_data_phi0[:, [0]])\n", "mie_phi0 = np.squeeze(mie_data_phi0[:, [1]])\n", "\n", "mie_data_phi90 = np.loadtxt(mie_filename_phi90, delimiter=\"\\t\", skiprows=2)\n", "mie_theta_phi90 = np.squeeze(mie_data_phi90[:, [0]])\n", "mie_phi90 = np.squeeze(mie_data_phi90[:, [1]])\n", "\n", "# ------ plot for phi = 0 ------\n", "\n", "fig, ax = plt.subplots(figsize=(7.5, 5))\n", "\n", "ax.plot(mie_theta_phi0, to_db(mie_phi0), \"-k\", label=\"$\\\\phi = 0$, Mie\")\n", "ax.plot(thetas, to_db(RCS_phi0), \"--b\", label=\"$\\\\phi = 0$, near2far local\")\n", "ax.plot(\n", " thetas,\n", " to_db(RCS_downsampled_phi0),\n", " \"--r\",\n", " label=\"$\\\\phi = 0$, near2far local downsampled\",\n", ")\n", "ax.plot(thetas, to_db(RCS_server_phi0), \"--g\", label=\"$\\\\phi = 0$, near2far server\")\n", "ax.set(\n", " xlabel=\"$\\\\theta$ (degrees)\",\n", " ylabel=\"Bistatic RCS (dBs$\\\\mu$m)\",\n", " yscale=\"linear\",\n", " xscale=\"linear\",\n", ")\n", "ax.grid(visible=True, which=\"both\", axis=\"both\", linewidth=0.4)\n", "plt.legend(loc=\"best\", prop={\"size\": 14})\n", "plt.tight_layout()\n", "\n", "# ------ plot for phi = pi/2 ------\n", "\n", "fig, ax = plt.subplots(figsize=(7.5, 5))\n", "\n", "ax.plot(mie_theta_phi90, to_db(mie_phi90), \"-k\", label=\"$\\\\phi = \\\\pi/2$, Mie\")\n", "ax.plot(thetas, to_db(RCS_phi90), \"--b\", label=\"$\\\\phi = \\\\pi/2$, near2far local\")\n", "ax.plot(\n", " thetas,\n", " to_db(RCS_downsampled_phi90),\n", " \"--r\",\n", " label=\"$\\\\phi = \\\\pi/2$, near2far local downsampled\",\n", ")\n", "ax.plot(\n", " thetas, to_db(RCS_server_phi90), \"--g\", label=\"$\\\\phi = \\\\pi/2$, near2far server\"\n", ")\n", "ax.set(\n", " xlabel=\"$\\\\theta$ (degrees)\",\n", " ylabel=\"Bistatic RCS (dBs$\\\\mu$m)\",\n", " yscale=\"linear\",\n", " xscale=\"linear\",\n", ")\n", "ax.grid(visible=True, which=\"both\", axis=\"both\", linewidth=0.4)\n", "plt.legend(loc=\"best\", prop={\"size\": 14})\n", "plt.tight_layout()\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "06546820b1e147b08e102b84434b72d0": { "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_19a803cb108a4086a046714f76fbbcaa", "msg_id": "", "outputs": [ { "data": { "text/html": "
Processing surface monitor 'near_field_downsampled_z-'... \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": "Processing surface monitor 'near_field_downsampled_z-'... \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\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "0aca2b5efedd4a8f936534037d037f22": { "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_a6c58ae7c8b4498e867e9715e29d3608", "msg_id": "", "outputs": [ { "data": { "text/html": "
Processing surface monitor 'near_field_y-'... \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\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": "Processing surface monitor 'near_field_y-'... \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\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "0edff1f9330a45b09c23321f97d346df": { "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_ba59e305afe24c30be3feeb9aeac3bf5", "msg_id": "", "outputs": [ { "data": { "text/html": "
Processing surface monitor 'near_field_x+'... \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\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": "Processing surface monitor 'near_field_x+'... \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\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "13a9544f7fbf433992eb5d2f839cf5f6": { "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_199e06ae1993468c8819e0aec74ad114", "msg_id": "", "outputs": [ { "data": { "text/html": "
Processing surface monitor 'near_field_y+'... \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\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": "Processing surface monitor 'near_field_y+'... \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\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "199e06ae1993468c8819e0aec74ad114": { "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 } }, "19a803cb108a4086a046714f76fbbcaa": { "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 } }, "2024a99dd7b84cf9bb187bba0ae15c41": { "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_c002afd828054f43b94c529658936300", "msg_id": "", "outputs": [ { "data": { "text/html": "
Processing surface monitor 'near_field_downsampled_x+'... \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": "Processing surface monitor 'near_field_downsampled_x+'... \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\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "2e90c597bbe54596b4dd7eb9a624e1df": { "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_36e2792eabb247ed933c479f877efc15", "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 100.0% \u2022 8.4/8.4 MB \u2022 40.1 MB/s \u2022 0:00:00\n
\n", "text/plain": "\u001b[1;32m\u2193\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m8.4/8.4 MB\u001b[0m \u2022 \u001b[31m40.1 MB/s\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "36e2792eabb247ed933c479f877efc15": { "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 } }, "52a56485c8634ccaa1a97a91e831dc61": { "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_63bca3b4dec94320b5c28f1589fc6e32", "msg_id": "", "outputs": [ { "data": { "text/html": "
Processing surface monitor 'near_field_z-'... \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\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": "Processing surface monitor 'near_field_z-'... \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\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "580630b56355437d85ab169a8b2261cf": { "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 } }, "63bca3b4dec94320b5c28f1589fc6e32": { "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 } }, "64b3b4f6f88a422fa3374feebd926ae9": { "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_abe2e975bbca4e3ba10d916eb0bae67c", "msg_id": "", "outputs": [ { "data": { "text/html": "
Processing surface monitor 'near_field_downsampled_y-'... \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": "Processing surface monitor 'near_field_downsampled_y-'... \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\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "744ed734e5d045b0b7139ec7697efdc6": { "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 } }, "75b77cc40a2941249c8d46db9ec15bac": { "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_d4ca79afdf7f4547b13a9dad01c635af", "msg_id": "", "outputs": [ { "data": { "text/html": "
Processing surface monitor 'near_field_x-'... \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\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": "Processing surface monitor 'near_field_x-'... \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\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "78ea2245ef254f5093437593cdb04e67": { "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 } }, "80e25dd646f14817a7f347c1f84c9ea3": { "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_bbb90d2fc37a4f1c8cbba44f991c5dc8", "msg_id": "", "outputs": [ { "data": { "text/html": "
\ud83d\udeb6  Starting 'sphereRCS'...\n
\n", "text/plain": "\u001b[32m\ud83d\udeb6 \u001b[0m \u001b[1;32mStarting 'sphereRCS'...\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "83e4c5c44faa400493bd51c6676521c6": { "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 } }, "8d510ea8081d4053aa5f28144d4d2f44": { "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 } }, "a15a937cc3624a94a50808e5e5667404": { "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_d632a9a80cda4d3a96b2ebf42cf91b75", "msg_id": "", "outputs": [ { "data": { "text/html": "
% done (field decay = 8.25e-06) \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\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 = 8.25e-06) \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" } ] } }, "a6c58ae7c8b4498e867e9715e29d3608": { "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 } }, "abe2e975bbca4e3ba10d916eb0bae67c": { "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 } }, "abf9fccaa93841c2a00feccffd8433d0": { "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_744ed734e5d045b0b7139ec7697efdc6", "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 100.0% \u2022 13.6/13.6 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\u001b[0m \u001b[35m100.0%\u001b[0m \u2022 \u001b[32m13.6/13.6 kB\u001b[0m \u2022 \u001b[31m?\u001b[0m \u2022 \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "b088d06b930b41859a8fa6896d147d90": { "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_8d510ea8081d4053aa5f28144d4d2f44", "msg_id": "", "outputs": [ { "data": { "text/html": "
Processing surface monitor 'near_field_downsampled_y+'... \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": "Processing surface monitor 'near_field_downsampled_y+'... \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\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "ba59e305afe24c30be3feeb9aeac3bf5": { "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 } }, "bbb90d2fc37a4f1c8cbba44f991c5dc8": { "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 } }, "c002afd828054f43b94c529658936300": { "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 } }, "cccc52e026524091aaa00f5d0634f922": { "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_78ea2245ef254f5093437593cdb04e67", "msg_id": "", "outputs": [ { "data": { "text/html": "
\ud83d\udeb6  Finishing 'sphereRCS'...\n
\n", "text/plain": "\u001b[32m\ud83d\udeb6 \u001b[0m \u001b[1;32mFinishing 'sphereRCS'...\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "d4ca79afdf7f4547b13a9dad01c635af": { "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 } }, "d632a9a80cda4d3a96b2ebf42cf91b75": { "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 } }, "e1d07da110264abeaa7c6f02b1a74ef2": { "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_83e4c5c44faa400493bd51c6676521c6", "msg_id": "", "outputs": [ { "data": { "text/html": "
Processing surface monitor 'near_field_downsampled_x-'... \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": "Processing surface monitor 'near_field_downsampled_x-'... \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\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "e4849ed1f71d4558bdca7cdd74eee4c6": { "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_580630b56355437d85ab169a8b2261cf", "msg_id": "", "outputs": [ { "data": { "text/html": "
Processing surface monitor 'near_field_downsampled_z+'... \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": "Processing surface monitor 'near_field_downsampled_z+'... \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\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "e86f64e6ab434b4cb187caedf95b842d": { "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 } }, "f417b7f0a22b41d88c1b24205bc958e5": { "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_e86f64e6ab434b4cb187caedf95b842d", "msg_id": "", "outputs": [ { "data": { "text/html": "
Processing surface monitor 'near_field_z+'... \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\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": "Processing surface monitor 'near_field_z+'... \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\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": 4 }