{ "cells": [ { "cell_type": "markdown", "execution_count": null, "id": "c8d99df0", "metadata": { "papermill": { "duration": 0.002866, "end_time": "2026-08-04T15:58:27.038832+00:00", "exception": false, "start_time": "2026-08-04T15:58:27.035966+00:00", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "# Microstrip Modes\n", "\n", "This notebook builds a simple boxed microstrip cross-section (substrate + air + PEC strip conductor), solves eigenmodes with `WaveguideModeSolver`, and plots the first fields." ] }, { "cell_type": "code", "execution_count": 1, "id": "11dc12a7", "metadata": { "execution": { "iopub.execute_input": "2026-08-04T15:58:27.045520Z", "iopub.status.busy": "2026-08-04T15:58:27.045321Z", "iopub.status.idle": "2026-08-04T15:58:27.585619Z", "shell.execute_reply": "2026-08-04T15:58:27.584834Z" }, "papermill": { "duration": 0.54469, "end_time": "2026-08-04T15:58:27.586506+00:00", "exception": false, "start_time": "2026-08-04T15:58:27.041816+00:00", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "from palacetoolkit.mode_solver import WaveguideModeSolver, ModeMetrics\n", "from palacetoolkit.viz import view_mesh\n", "\n", "import gmsh\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import palacetoolkit.utils as ptk_utils\n", "\n", "write_and_finalize_gmsh = ptk_utils.write_and_finalize_gmsh" ] }, { "cell_type": "code", "execution_count": 2, "id": "5249965f", "metadata": { "execution": { "iopub.execute_input": "2026-08-04T15:58:27.592451Z", "iopub.status.busy": "2026-08-04T15:58:27.592162Z", "iopub.status.idle": "2026-08-04T15:58:27.595931Z", "shell.execute_reply": "2026-08-04T15:58:27.595170Z" }, "papermill": { "duration": 0.007463, "end_time": "2026-08-04T15:58:27.596558+00:00", "exception": false, "start_time": "2026-08-04T15:58:27.589095+00:00", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WaveguideModeSolver.__init__ signature:\n", "(self, mesh_file: 'str', order: 'int' = 2, pec_bdr: 'list[int] | str | None' = None, materials: 'list[dict[str, Any]] | None' = None, omega: 'float' = 62831853071.79586, L0: 'float' = 1.0)\n", "\n", "PEC conductor support via boundary attributes: True\n", "The solver enforces PEC by essential DOF elimination on selected boundary attributes.\n" ] } ], "source": [ "import inspect\n", "\n", "sig = inspect.signature(WaveguideModeSolver.__init__)\n", "print(\"WaveguideModeSolver.__init__ signature:\")\n", "print(sig)\n", "print(\"\\nPEC conductor support via boundary attributes:\", \"pec_bdr\" in sig.parameters)\n", "print(\"The solver enforces PEC by essential DOF elimination on selected boundary attributes.\")" ] }, { "cell_type": "code", "execution_count": 3, "id": "2b6408f2", "metadata": { "execution": { "iopub.execute_input": "2026-08-04T15:58:27.602777Z", "iopub.status.busy": "2026-08-04T15:58:27.602606Z", "iopub.status.idle": "2026-08-04T15:58:27.613325Z", "shell.execute_reply": "2026-08-04T15:58:27.612628Z" }, "papermill": { "duration": 0.014767, "end_time": "2026-08-04T15:58:27.614121+00:00", "exception": false, "start_time": "2026-08-04T15:58:27.599354+00:00", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "def make_microstrip_mesh(\n", " box_w=8.0,\n", " h_sub=1.0,\n", " h_air=3.0,\n", " strip_w=1.8,\n", " strip_t=0.06,\n", " lc_bulk=0.18,\n", " lc_strip=0.05,\n", " meshsize=1.0,\n", " filename=None,\n", "):\n", " gmsh.initialize()\n", " gmsh.option.setNumber(\"General.Verbosity\", 0)\n", " gmsh.model.add(\"microstrip_modes\")\n", "\n", " sub = gmsh.model.occ.addRectangle(-box_w / 2, -h_sub, 0, box_w, h_sub)\n", " air = gmsh.model.occ.addRectangle(-box_w / 2, 0.0, 0, box_w, h_air)\n", " strip = gmsh.model.occ.addRectangle(-strip_w / 2, 0.0, 0, strip_w, strip_t)\n", "\n", " _, outmap = gmsh.model.occ.fragment([(2, sub), (2, air), (2, strip)], [])\n", " strip_parts = list(outmap[2])\n", " gmsh.model.occ.remove(strip_parts, recursive=True)\n", " gmsh.model.occ.synchronize()\n", "\n", " all_surfs = [t for _, t in gmsh.model.getEntities(2)]\n", " substrate_surfs = []\n", " air_surfs = []\n", " for tag in all_surfs:\n", " _, cy, _ = gmsh.model.occ.getCenterOfMass(2, tag)\n", " if cy < -1e-9:\n", " substrate_surfs.append(tag)\n", " else:\n", " air_surfs.append(tag)\n", "\n", " if not substrate_surfs or not air_surfs:\n", " gmsh.finalize()\n", " raise RuntimeError(\"Failed to classify substrate/air surfaces for microstrip mesh\")\n", "\n", " gmsh.model.addPhysicalGroup(2, substrate_surfs, tag=1, name=\"substrate\")\n", " gmsh.model.addPhysicalGroup(2, air_surfs, tag=2, name=\"air\")\n", "\n", " bnd = gmsh.model.getBoundary([(2, t) for t in substrate_surfs + air_surfs], oriented=False, combined=False)\n", " edge_tags = sorted({abs(t) for _, t in bnd})\n", "\n", " strip_edges = []\n", " ground_edges = []\n", " open_edges = []\n", "\n", " for et in edge_tags:\n", " ex, ey, _ = gmsh.model.occ.getCenterOfMass(1, et)\n", " on_strip_x = abs(ex) <= strip_w / 2 + 1e-6\n", " on_strip_y = (-1e-6 <= ey <= strip_t + 1e-6)\n", " if on_strip_x and on_strip_y:\n", " strip_edges.append(et)\n", " continue\n", "\n", " # Ground plane is the lower boundary of the simulation box.\n", " if abs(ey + h_sub) <= 1e-6:\n", " ground_edges.append(et)\n", " else:\n", " open_edges.append(et)\n", "\n", " if ground_edges:\n", " gmsh.model.addPhysicalGroup(1, ground_edges, tag=1, name=\"ground_plane\")\n", " if strip_edges:\n", " gmsh.model.addPhysicalGroup(1, strip_edges, tag=2, name=\"strip_conductor\")\n", " if open_edges:\n", " gmsh.model.addPhysicalGroup(1, open_edges, tag=3, name=\"open_boundary\")\n", "\n", " if meshsize <= 0:\n", " gmsh.finalize()\n", " raise ValueError(\"meshsize must be positive\")\n", "\n", " lc_bulk_eff = lc_bulk * meshsize\n", " lc_strip_eff = lc_strip * meshsize\n", "\n", " # Use a distance-based field from all curves so refinement occurs\n", " # near any geometry boundary (PEC and domain boundaries).\n", " all_curves = sorted({t for _, t in gmsh.model.getEntities(1)})\n", " dist_field = gmsh.model.mesh.field.add(\"Distance\")\n", " gmsh.model.mesh.field.setNumbers(dist_field, \"CurvesList\", all_curves)\n", " gmsh.model.mesh.field.setNumber(dist_field, \"Sampling\", 200)\n", "\n", " threshold_field = gmsh.model.mesh.field.add(\"Threshold\")\n", " gmsh.model.mesh.field.setNumber(threshold_field, \"InField\", dist_field)\n", " gmsh.model.mesh.field.setNumber(threshold_field, \"SizeMin\", lc_strip_eff)\n", " gmsh.model.mesh.field.setNumber(threshold_field, \"SizeMax\", lc_bulk_eff)\n", " gmsh.model.mesh.field.setNumber(threshold_field, \"DistMin\", 0.0)\n", " gmsh.model.mesh.field.setNumber(threshold_field, \"DistMax\", 0.35 * h_sub)\n", "\n", " gmsh.model.mesh.field.setAsBackgroundMesh(threshold_field)\n", " gmsh.option.setNumber(\"Mesh.CharacteristicLengthFromPoints\", 0)\n", " gmsh.option.setNumber(\"Mesh.CharacteristicLengthFromCurvature\", 0)\n", " gmsh.option.setNumber(\"Mesh.CharacteristicLengthExtendFromBoundary\", 0)\n", " gmsh.option.setNumber(\"Mesh.CharacteristicLengthMin\", lc_strip_eff)\n", " gmsh.option.setNumber(\"Mesh.CharacteristicLengthMax\", lc_bulk_eff)\n", "\n", " gmsh.model.mesh.generate(2)\n", " return write_and_finalize_gmsh(filename, prefix=\"wg_microstrip_\")" ] }, { "cell_type": "code", "execution_count": 4, "id": "1f73ddb2", "metadata": { "execution": { "iopub.execute_input": "2026-08-04T15:58:27.620173Z", "iopub.status.busy": "2026-08-04T15:58:27.619978Z", "iopub.status.idle": "2026-08-04T15:58:27.623488Z", "shell.execute_reply": "2026-08-04T15:58:27.622766Z" }, "papermill": { "duration": 0.007318, "end_time": "2026-08-04T15:58:27.624073+00:00", "exception": false, "start_time": "2026-08-04T15:58:27.616755+00:00", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reference phase window (air to substrate): 1.0000 < kn < 2.1909\n" ] } ], "source": [ "eps_sub = 4.8\n", "eps_air = 1.0\n", "mu_r = 1.0\n", "\n", "omega = 1.0\n", "kn_air = omega * np.sqrt(mu_r * eps_air)\n", "kn_sub = omega * np.sqrt(mu_r * eps_sub)\n", "print(f\"Reference phase window (air to substrate): {kn_air:.4f} < kn < {kn_sub:.4f}\")" ] }, { "cell_type": "code", "execution_count": 5, "id": "d84a7361", "metadata": { "execution": { "iopub.execute_input": "2026-08-04T15:58:27.629876Z", "iopub.status.busy": "2026-08-04T15:58:27.629711Z", "iopub.status.idle": "2026-08-04T15:58:33.032154Z", "shell.execute_reply": "2026-08-04T15:58:33.031530Z" }, "papermill": { "duration": 5.406142, "end_time": "2026-08-04T15:58:33.032812+00:00", "exception": false, "start_time": "2026-08-04T15:58:27.626670+00:00", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loading mesh file: /tmp/wg_microstrip_7a_t0c20.msh\n", "Groups to render transparent: ['air_none', 'air_plastic_enclosure']\n", "\n", "Mesh loaded successfully with 2 cell blocks\n", "Found 5778 triangles total\n", "Physical group tags in mesh: {1: 'substrate', 2: 'air'}\n" ] }, { "data": { "image/png": "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x1dec+yan/6Hn16brj3vEc/7naf8zj2qJfSae7snUWZEvv7EoiESiUTORHTH8tSvubtmwyN2PQLA1Xddfeovv+aua+7VrZ2ER+1+FIDP3PWZU685fPzOj//MP/zMZrn5M4/+mf/ypP9yj7kSXvy1x641ZFTZELnPiT4NkUgkciZy49EbLz//8lO/5jN3fOYhex9ywa4Ltn38hy/64bdc/5a33/D25z7suQ9fefhJv/YTRz7xz7f+82m4UQDAvs6+8/vn3zq49TNHP/O4fY876Wv+9cv/+qv//KuFL3718b/6gm96wU4u+8+3/vPETR6393FL+dLputXIV0MsGiKRSORM5GkXP+0r8n+c57F7H/u8i5931aGrXvpvL/2f3/M/z+6eve0Ftw1v+40P/cbptWf+0Yf86J9/+s/feP0bT1o0/MNN//DSf3spC//mt/7msx/27B1e89WffTWA797/lXk/RL52xPFEJBKJPAD51cf/6kOWHnLj+o0/9o4fe92h190xukM/fmR85KpDVz3zHc+8dXDrSf2U7jXPftizW0nrfTe970SpxN/e+Le//q+/DuD3n/r7O68YDt558LPHPruYLz7roc86jfcZ+WqInYZIJBJ5AJLb/PU/9PpXfvqVrz/0+j84+Ad/cPAPFrIFa+zx6XEAmc3+67f81wctPOjdh999ur7jSmvlFy/5xZd98mW/9ZHfes0PvKbRK6xOVrWr0U27f/W5v/qrz/3VSb/8GQ9+xk9e/JPNf1Zc/ekn/xTAFd90RS+LqxNnCrFoiEQikQcmnaTz60/49Wdc9Iy3fOEtH7/z40fHR0su9/f3P/mcJ//7R/z7By89+Mb1G3/wQT/4kKWHnK7v+FOP+qn33fy+Tx351Ms+8bJf++Zf0w968ToHGZSDUxhXb8vA/J2P/s61x659zO7HPP/i55+u24t89ZBIjByNRCKRyOnhztGdP/6uH1+brl32qMt+5fG/YmlHNg/zlL7840/88Rs+/4bd7d1vesabTmqDHbmviEVDJBKJRE4nhzcO/9w//tydozsfs/sxr336a3eScNEwddOfeu9PHVo9dH7//Fd89ytOYxckclqIQshIJBKJnE4uWrzoHT/6jl987C/euH6jY/cVfe2oGn1x/YvPftiz3/BDb4gVwxlI7DREIpFI5GvC2nRtKV/6ijoNpS8H5WAnEVmR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RQMAAABMBEUDAAAATGQnFQ1f/OIXmXlhYYGI1tbWrrrqqhtuuEFEzuFTHDp0qNPpdLtdInriiSeKonjggQfO4eMDAADsXKyqF/o1TCrG+OpXv/qqq6564IEH3vve9z7xxBPf/e539+7dO/o1zEREZ/0z/fznP3/ta1/74IMPvuc977n66qtf+cpXfulLX3rRLxwAAGA3CBf6BbwAIYRPfOITH//4xz/0oQ899NBDjz/++FjFQD96jOhtRPTU2jNXzFx+Fk/xmte85nWve93DDz984sSJX/ziF/fff/85eeUAAAC7wE46aSCitbW1V7ziFadOnbr//vtvvPHGDZ/70WP0zb996pLqg2/YR0R/Pvf6f/Oyq8+idPjUpz517733njp16o477njf+953rl45AADATreTehqI6Mknn6zr2nv/pje9afivP3qMPvsR+ubfEtEVb3zvX11+PRH9/cpPPvjLz3/jt99/oU9x0003/fKXv7zmmmtQMQAAAIzaSScNzz333Jvf/OY3vOENjz766Ac+8IEjR47Y6UL+9NvfT1e9rf3io09++e9XfmIf3/nqv5j8yGFxcfHKK6/8+te//s53vvNcvnoAAIAdbscUDSml66677plnnnnsscc+/elP/9c77lg8dujSkz8hInr7++nyA3TZy8e+5am1Z/7ut9+20mHy24qvfe1rN9xww8mTJ/fv338efg4AAICdasdcT3zyk5/83ve+95WvfGVmZuYT170jNvXhY8eIBgcMmyoGIrpi5vJbXvlv73z1X/z53OvttuLok19+au2Z3/1EP/7xj1/+8pejYgAAABizY04asue/j/jdvvHb7//1M1+zj//q8uvf+bI/Oh+vDgAAYBfbOUXD2ZYLrbO7rQAAAACzvYuGXz9FL7+CfvQYEeWK4e3vJ6KzqBhaW5YOJ04+/YpL//m5eMUAAAC71vYtGnrH/qbzi2/TW99Di9/L/3RWBwxbemrtmQ/+8vP28Y3lv/hvP/mf/+Vf/vt3v/7qc/LgAAAAu9I2LRp63/5G579/juZnqAjkHL3zP56rcmHUN377/b/+9T9IIxql+5tT//lV/+7af/Un5/xZAAAAdoftOD3R+9WJzkOfp8v2knPURLr6P5yPioGI3vmyP7q+flVc6xPR1D/b959OfHnxN0+djycCAADYBbZj0dD5Xw/T3BSdWev9v1On/s+v6PID5++5rioPrD357PJPf90sd6vL9vzdb791/p4LAABgR9uO1xO973yT/uBKIur8wStesidd/M1TXDgqHDWCpkgAAIDNtmPRAAAAANvQdryeAAAAgG0IRQMAAABMBEUDAAAATARFAwAAAEwERQMAAABMBEUDAAAATARFAwAAAEwERQMAAABMBEUDAAAATARFAwAAAEwERQMAAABMBEUDAAAATARFAwAAAEwERQMAAABMBEUDAAAATARFAwAAAEwERQMAAABMBEUDAAAATARFAwAAAEwERQMAAABMBEUDAAAATARFAwAAAEwERQMAAABMBEUDAAAATARFAwAAAEwERQMAAABMBEUDAAAATARFAwAAAEwERQMAAABMBEUDAAAATARFAwAAAEwERQMAAABMBEUDAAAATARFAwAAAEwERQMAAABMBEUDAAAATOT/A8h607QbkYZ7AAAAAElFTkSuQmCC", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Palace simulation output
  Running: /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace --serial /tmp/wg_microstrip_7a_t0c20_modes/config.json\n",
       ">> /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace-x86_64.bin /tmp/wg_microstrip_7a_t0c20_modes/config.json\n",
       "\n",
       "_____________     _______\n",
       "_____   __   \\____ __   /____ ____________\n",
       "____   /_/  /  __ ` /  /  __ ` /  ___/  _ \\\n",
       "___   _____/  /_/  /  /  /_/  /  /__/  ___/\n",
       "  /__/     \\___,__/__/\\___,__/\\_____\\_____/\n",
       "\n",
       "Git changeset ID: v0.17.0-272-gb22f654ab\n",
       "Running with 1 MPI process, 1 OpenMP thread\n",
       "Device configuration: omp,cpu\n",
       "Memory configuration: host-std\n",
       "libCEED backend: /cpu/self/xsmm/blocked\n",
       "\n",
       "\n",
       "\u001b[38;2;255;255;000m--> Warning!\u001b[0m\n",
       "One or more external boundary attributes has no associated boundary condition!\n",
       ""PMC"/"ZeroCharge" condition is assumed!\n",
       "\n",
       "Boundary attribute list: 3\n",
       "\n",
       "\n",
       "Characteristic length and time scales:\n",
       " Lc = 8.000e+00 m, tc = 2.669e+01 ns\n",
       "Finished partitioning mesh into 1 subdomain\n",
       "\n",
       "Mesh curvature order: 1\n",
       "Mesh bounding box:\n",
       " (Xmin, Ymin) = (-4.000e+00, -1.000e+00) m\n",
       " (Xmax, Ymax) = (+4.000e+00, +3.000e+00) m\n",
       "\n",
       "Parallel Mesh Stats:\n",
       "\n",
       "                minimum     average     maximum       total\n",
       " vertices          3156        3156        3156        3156\n",
       " edges             8934        8934        8934        8934\n",
       " elements          5778        5778        5778        5778\n",
       " neighbors            0           0           0\n",
       "\n",
       "            minimum     maximum\n",
       " h       0.00449751   0.0255824\n",
       " kappa            1     2.60387\n",
       "\n",
       "Estimated current per-rank memory usage is: Min. 46.1M, Max. 46.1M, Avg. 46.1M, Total 46.1M\n",
       "Estimated current per-node memory usage is: Min. 46.1M, Max. 46.1M, Avg. 46.1M, Total 46.1M\n",
       "\n",
       "Configuring 2D waveguide mode analysis at f = 4.775e-02 GHz (omega = 8.005538e+00)\n",
       " ND space: 29424 DOFs, H1 space: 12090 DOFs, total: 41514\n",
       " Auto kn_target = 1.839533e+01 (from max(mu_r) * max(epsilon_r) = 4.800000e+00)\n",
       "\n",
       "Solving GEP for 8 propagation mode(s)...\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.590173e-01\n",
       "  1 (restart 0) KSP residual norm 1.328269e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 5.128e-14)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.185439e-02\n",
       "  1 (restart 0) KSP residual norm 2.627508e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.278e-14)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 6.230912e-02\n",
       "  1 (restart 0) KSP residual norm 3.625476e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 5.819e-14)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.704263e-02\n",
       "  1 (restart 0) KSP residual norm 3.786753e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.022e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.378110e-02\n",
       "  1 (restart 0) KSP residual norm 1.913951e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.389e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.597370e-02\n",
       "  1 (restart 0) KSP residual norm 3.659694e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.409e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.755998e-02\n",
       "  1 (restart 0) KSP residual norm 1.921550e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.094e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.656758e-02\n",
       "  1 (restart 0) KSP residual norm 1.734372e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.528e-14)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.707955e-02\n",
       "  1 (restart 0) KSP residual norm 4.951936e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.899e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.201716e-02\n",
       "  1 (restart 0) KSP residual norm 2.034793e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.242e-14)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.254559e-02\n",
       "  1 (restart 0) KSP residual norm 1.520688e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.745e-14)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.109895e-02\n",
       "  1 (restart 0) KSP residual norm 2.220112e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.000e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.579156e-02\n",
       "  1 (restart 0) KSP residual norm 3.395619e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.487e-14)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.395744e-02\n",
       "  1 (restart 0) KSP residual norm 1.999866e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.433e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.417757e-02\n",
       "  1 (restart 0) KSP residual norm 3.727553e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.629e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.736284e-02\n",
       "  1 (restart 0) KSP residual norm 4.780957e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.747e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.226306e-02\n",
       "  1 (restart 0) KSP residual norm 7.719523e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.467e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.941762e-02\n",
       "  1 (restart 0) KSP residual norm 2.031838e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.046e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.319402e-02\n",
       "  1 (restart 0) KSP residual norm 5.384407e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.247e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.056058e-02\n",
       "  1 (restart 0) KSP residual norm 5.989625e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.185e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.522852e-02\n",
       "  1 (restart 0) KSP residual norm 3.239853e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.127e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.004315e-02\n",
       "  1 (restart 0) KSP residual norm 4.026939e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 4.010e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.249603e-03\n",
       "  1 (restart 0) KSP residual norm 2.221478e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.402e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.298013e-03\n",
       "  1 (restart 0) KSP residual norm 2.936762e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.158e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.586526e-02\n",
       "  1 (restart 0) KSP residual norm 4.278535e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.697e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 8.059502e-03\n",
       "  1 (restart 0) KSP residual norm 2.439039e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.026e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.006125e-02\n",
       "  1 (restart 0) KSP residual norm 5.254814e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.619e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.579398e-02\n",
       "  1 (restart 0) KSP residual norm 4.667490e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.955e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.190050e-03\n",
       "  1 (restart 0) KSP residual norm 2.959669e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.221e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.066442e-02\n",
       "  1 (restart 0) KSP residual norm 4.132078e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.875e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.436135e-02\n",
       "  1 (restart 0) KSP residual norm 6.687106e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 4.656e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 8.989860e-03\n",
       "  1 (restart 0) KSP residual norm 5.678809e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.317e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 7.313331e-03\n",
       "  1 (restart 0) KSP residual norm 4.692941e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.417e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 6.874409e-03\n",
       "  1 (restart 0) KSP residual norm 6.301409e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.166e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 6.068884e-03\n",
       "  1 (restart 0) KSP residual norm 1.254945e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.068e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.587518e-02\n",
       "  1 (restart 0) KSP residual norm 2.293166e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.444e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.266762e-03\n",
       "  1 (restart 0) KSP residual norm 1.181797e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.275e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.226467e-02\n",
       "  1 (restart 0) KSP residual norm 8.482785e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.916e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.664414e-02\n",
       "  1 (restart 0) KSP residual norm 1.515536e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.106e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.501050e-02\n",
       "  1 (restart 0) KSP residual norm 2.055891e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.370e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.590403e-02\n",
       "  1 (restart 0) KSP residual norm 3.782486e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.460e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.817729e-02\n",
       "  1 (restart 0) KSP residual norm 3.874319e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.131e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.241467e-02\n",
       "  1 (restart 0) KSP residual norm 5.101975e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.574e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.920000e-02\n",
       "  1 (restart 0) KSP residual norm 2.874771e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.497e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.267319e-02\n",
       "  1 (restart 0) KSP residual norm 3.179340e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.402e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.673746e-02\n",
       "  1 (restart 0) KSP residual norm 3.162260e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.889e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.783290e-02\n",
       "  1 (restart 0) KSP residual norm 3.322352e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.863e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.809951e-02\n",
       "  1 (restart 0) KSP residual norm 2.980041e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.646e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.074876e-02\n",
       "  1 (restart 0) KSP residual norm 1.100211e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.024e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.984934e-02\n",
       "  1 (restart 0) KSP residual norm 1.544780e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 7.783e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.542955e-02\n",
       "  1 (restart 0) KSP residual norm 1.713998e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.111e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.148409e-02\n",
       "  1 (restart 0) KSP residual norm 1.796412e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.564e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.440093e-02\n",
       "  1 (restart 0) KSP residual norm 2.189634e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.520e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.567960e-02\n",
       "  1 (restart 0) KSP residual norm 2.599809e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.658e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.962330e-02\n",
       "  1 (restart 0) KSP residual norm 1.613376e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 8.222e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.450862e-02\n",
       "  1 (restart 0) KSP residual norm 1.369595e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.440e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.792107e-02\n",
       "  1 (restart 0) KSP residual norm 1.735424e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.684e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.341649e-02\n",
       "  1 (restart 0) KSP residual norm 2.125982e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.585e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.450146e-02\n",
       "  1 (restart 0) KSP residual norm 2.067335e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.426e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.666416e-02\n",
       "  1 (restart 0) KSP residual norm 2.428070e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.457e-12)\n",
       " Found 11 converged eigenvalues (sigma = -3.383880e+02)\n",
       " eig 0: kn = 1.678566e+01-1.935885e-14i, n_eff = 2.096756e+00-2.418182e-15i\n",
       " eig 1: kn = 1.406124e+01-1.025850e-11i, n_eff = 1.756439e+00-1.281426e-12i\n",
       " eig 2: kn = 1.302446e+01-8.650762e-10i, n_eff = 1.626931e+00-1.080597e-10i\n",
       " eig 3: kn = 1.225619e+01+8.960126e-08i, n_eff = 1.530964e+00+1.119241e-08i\n",
       " eig 4: kn = 8.941567e+00+1.005936e-09i, n_eff = 1.116923e+00+1.256551e-10i\n",
       " eig 5: kn = 8.557204e+00+1.068249e-07i, n_eff = 1.068911e+00+1.334388e-08i\n",
       " eig 6: kn = 6.883905e+00+4.975056e-10i, n_eff = 8.598929e-01+6.214517e-11i\n",
       " eig 7: kn = 5.399019e+00+3.001000e-09i, n_eff = 6.744105e-01+3.748655e-10i\n",
       " eig 8: kn = 5.375352e+00+1.003219e-07i, n_eff = 6.714542e-01+1.253156e-08i\n",
       " eig 9: kn = 4.115671e+00+1.226962e-07i, n_eff = 5.141029e-01+1.532642e-08i\n",
       " eig 10: kn = 2.175968e+00-4.515314e-08i, n_eff = 2.718078e-01-5.640238e-09i\n",
       "\n",
       "Computing solution error estimates and performing postprocessing\n",
       "\n",
       "     m,       Re{kn} (1/m),       Im{kn} (1/m),          Re{n_eff},          Im{n_eff},      Error (Bkwd.),       Error (Abs.)\n",
       "     1,      +2.098207e+00,      -2.419856e-15,      +2.096756e+00,      -2.418182e-15,      +1.316484e-16,      +1.696809e-12\n",
       "     2,      +1.757655e+00,      -1.282313e-12,      +1.756439e+00,      -1.281426e-12,      +1.940129e-15,      +1.006846e-11\n",
       "     3,      +1.628057e+00,      -1.081345e-10,      +1.626931e+00,      -1.080597e-10,      +2.464282e-13,      +1.066102e-09\n",
       "     4,      +1.532024e+00,      +1.120016e-08,      +1.530964e+00,      +1.119241e-08,      +6.572197e-12,      +2.549904e-08\n",
       "     5,      +1.117696e+00,      +1.257420e-10,      +1.116923e+00,      +1.256551e-10,      +1.158186e-13,      +3.272324e-10\n",
       "     6,      +1.069651e+00,      +1.335312e-08,      +1.068911e+00,      +1.334388e-08,      +5.743808e-12,      +1.581704e-08\n",
       "     7,      +8.604882e-01,      +6.218819e-11,      +8.598929e-01,      +6.214517e-11,      +4.583298e-13,      +1.150123e-09\n",
       "     8,      +6.748773e-01,      +3.751250e-10,      +6.744105e-01,      +3.748655e-10,      +3.160914e-13,      +7.464370e-10\n",
       "\n",
       "\n",
       "Completed 0 iterations of adaptive mesh refinement (AMR):\n",
       " Indicator norm = 2.602e-02, global unknowns = 41514\n",
       " Max. iterations = 0, tol. = 1.000e-02\n",
       "\n",
       "Estimated peak per-rank memory usage is: Min. 286.0M, Max. 286.0M, Avg. 286.0M, Total 286.0M\n",
       "Estimated peak per-node memory usage is: Min. 286.0M, Max. 286.0M, Avg. 286.0M, Total 286.0M\n",
       "\n",
       "Elapsed Time Report (s)           Min.        Max.        Avg.\n",
       "==============================================================\n",
       "Initialization                   0.010       0.010       0.010\n",
       "  Mesh Preprocessing             0.028       0.028       0.028\n",
       "Operator Construction            0.072       0.072       0.072\n",
       "  Preconditioner                 1.458       1.458       1.458\n",
       "Eigenvalue Solve                 0.343       0.343       0.343\n",
       "Estimation                       0.026       0.026       0.026\n",
       "  Construction                   0.149       0.149       0.149\n",
       "  Solve                          0.492       0.492       0.492\n",
       "Postprocessing                   1.649       1.649       1.649\n",
       "Disk IO                          0.009       0.009       0.009\n",
       "--------------------------------------------------------------\n",
       "Total                            4.503       4.503       4.503\n",
       "\n",
       "Peak Memory                   Per-Node       Total   Total HWM\n",
       "==============================================================\n",
       "Initialization                    2.0M        2.0M        2.0M\n",
       "  Mesh Preprocessing              3.4M        3.4M        5.4M\n",
       "Operator Construction            43.9M       43.9M       49.3M\n",
       "  Preconditioner                128.3M      128.3M      177.6M\n",
       "Eigenvalue Solve                 54.2M       54.2M      231.8M\n",
       "Estimation                        0.0K        0.0K      231.8M\n",
       "  Construction                   13.8M       13.8M      245.5M\n",
       "  Solve                           0.0K        0.0K      245.5M\n",
       "Postprocessing                    0.0K        0.0K      245.5M\n",
       "Disk IO                           2.5M        2.5M      248.1M\n",
       "--------------------------------------------------------------\n",
       "Total                           260.5M      260.5M      260.5M
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Computed microstrip modes:\n", " Mode 1: kn= +2.098207 -0.000000j [bound/hybrid]\n" ] } ], "source": [ "mesh_file = make_microstrip_mesh(\n", " box_w=8.0,\n", " h_sub=1.0,\n", " h_air=3.0,\n", " strip_w=1.8,\n", " strip_t=0.06,\n", " lc_bulk=0.18,\n", " lc_strip=0.05,\n", " meshsize=1.0, # decrease for convergence checks (e.g. 0.7, 0.5)\n", ")\n", "view_mesh(mesh_file)\n", "\n", "# WaveguideModeSolver currently supports PEC marking via pec_bdr; it does not\n", "# provide an absorbing boundary-condition model.\n", "pec_bdr = [1, 2] # ground plane + strip conductor\n", "\n", "solver = WaveguideModeSolver(\n", " mesh_file=mesh_file,\n", " order=2,\n", " pec_bdr=pec_bdr,\n", " materials=[\n", " {\"attrs\": [1], \"eps_r\": eps_sub, \"mu_r\": mu_r},\n", " {\"attrs\": [2], \"eps_r\": eps_air, \"mu_r\": mu_r},\n", " ],\n", " omega=omega,\n", ")\n", "results = solver.solve(num_modes=8, mode_idx=1, target=0.0, save=0, num_procs=4)\n", "\n", "print(\"Computed microstrip modes:\")\n", "for i in sorted(results):\n", " kn = results[i].k_n\n", " if kn_air < kn.real < kn_sub and abs(kn.imag) < 0.1 * abs(kn.real):\n", " mode_type = \"bound/hybrid\"\n", " elif abs(kn.imag) > 0.1 * abs(kn.real):\n", " mode_type = \"evanescent\"\n", " else:\n", " mode_type = \"radiative or box mode\"\n", " print(f\" Mode {i:2d}: kn={kn.real:+10.6f}{kn.imag:+10.6f}j [{mode_type}]\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "306f552b", "metadata": { "execution": { "iopub.execute_input": "2026-08-04T15:58:33.040714Z", "iopub.status.busy": "2026-08-04T15:58:33.040528Z", "iopub.status.idle": "2026-08-04T15:58:33.043894Z", "shell.execute_reply": "2026-08-04T15:58:33.043048Z" }, "papermill": { "duration": 0.008008, "end_time": "2026-08-04T15:58:33.044428+00:00", "exception": false, "start_time": "2026-08-04T15:58:33.036420+00:00", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field visualization moved to pyvista-based VTU post-processing.\n" ] } ], "source": [ "# Field visualization is no longer available through the solver.\n", "# Palace writes VTU field output files when save > 0 in solver.solve().\n", "# Load the VTU files with pyvista for field visualization.\n", "# For more details, see palacetoolkit.postpro_vtu utilities.\n", "print(\"Field visualization moved to pyvista-based VTU post-processing.\")" ] }, { "cell_type": "markdown", "execution_count": null, "id": "7cbf38ee", "metadata": { "papermill": { "duration": 0.003011, "end_time": "2026-08-04T15:58:33.050798+00:00", "exception": false, "start_time": "2026-08-04T15:58:33.047787+00:00", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "## Validation vs. Hammerstad-Jensen\n", "\n", "To validate loss prediction, we compare **transmission magnitude** estimated from solver-derived effective permittivity against a Hammerstad-Jensen-based dielectric-loss model.\n", "\n", "Validation sweep setup (kept comfortably inside commonly used validity limits):\n", "- Relative permittivity: $2.2 \\le \\varepsilon_r \\le 6.15$\n", "- Width ratio: $0.8 \\le w/h \\le 2.5$\n", "- Thin strip: $t/h = 0.04$\n", "- Low-loss dielectric: $\\tan\\delta = 0.002$\n", "\n", "For each case, we compute:\n", "- Solver-derived: run eigenmode with real $\\varepsilon_r$, infer $\\varepsilon_{\\mathrm{eff,solver}}=(\\Re\\{k_n\\}/\\omega)^2/\\mu_r$, then use low-loss dielectric estimate for $\\alpha$\n", "- HJ-based reference: $|S_{21}|_{\\mathrm{HJ}} \\approx e^{-\\alpha_{\\mathrm{HJ}}L}$ using $\\varepsilon_{\\mathrm{eff,HJ}}$ and a quasi-static dielectric filling factor\n", "- Impedance comparison: two numerical estimates are used: (i) contour-based $Z_{0,VI}=|V/I|$ and (ii) quasi-static energy/capacitance estimate $Z_{0,C}$, both compared to analytic $Z_{0,\\mathrm{HJ}}$\n", "\n", "Low-loss approximation used in this cell:\n", "- For a weakly lossy dielectric, write the propagation constant as $\\gamma = \\alpha + j\\beta$ and use $\\varepsilon = \\varepsilon'(1-j\\tan\\delta_{\\mathrm{eff}})$ with $\\tan\\delta_{\\mathrm{eff}} \\ll 1$.\n", "- First-order expansion gives $\\alpha \\approx \\tfrac{\\beta}{2}\\tan\\delta_{\\mathrm{eff}}$.\n", "- In quasi-TEM form, $\\beta \\approx \\omega\\sqrt{\\mu_r\\varepsilon_{\\mathrm{eff}}}$.\n", "- We estimate $\\tan\\delta_{\\mathrm{eff}} = q\\,\\tan\\delta$ with filling factor $q \\approx (\\varepsilon_{\\mathrm{eff}}-1)/(\\varepsilon_r-1)$.\n", "- Therefore, $\\alpha \\approx \\tfrac{1}{2}\\,\\omega\\sqrt{\\mu_r\\varepsilon_{\\mathrm{eff}}}\\,q\\tan\\delta$ and $|S_{21}| \\approx e^{-\\alpha L}$.\n", "\n", "Note: this eigenmode setup uses PEC conductors and real-valued material tensors, so this section validates **dielectric loss contribution** (not conductor loss)." ] }, { "cell_type": "code", "execution_count": 7, "id": "02090b66", "metadata": { "execution": { "iopub.execute_input": "2026-08-04T15:58:33.057926Z", "iopub.status.busy": "2026-08-04T15:58:33.057732Z", "iopub.status.idle": "2026-08-04T15:59:00.794879Z", "shell.execute_reply": "2026-08-04T15:59:00.794243Z" }, "papermill": { "duration": 27.741657, "end_time": "2026-08-04T15:59:00.795497+00:00", "exception": false, "start_time": "2026-08-04T15:58:33.053840+00:00", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
Palace simulation output
  Running: /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace --serial /tmp/wg_microstrip_y2nca6jr_modes/config.json\n",
       ">> /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace-x86_64.bin /tmp/wg_microstrip_y2nca6jr_modes/config.json\n",
       "\n",
       "_____________     _______\n",
       "_____   __   \\____ __   /____ ____________\n",
       "____   /_/  /  __ ` /  /  __ ` /  ___/  _ \\\n",
       "___   _____/  /_/  /  /  /_/  /  /__/  ___/\n",
       "  /__/     \\___,__/__/\\___,__/\\_____\\_____/\n",
       "\n",
       "Git changeset ID: v0.17.0-272-gb22f654ab\n",
       "Running with 1 MPI process, 1 OpenMP thread\n",
       "Device configuration: omp,cpu\n",
       "Memory configuration: host-std\n",
       "libCEED backend: /cpu/self/xsmm/blocked\n",
       "\n",
       "\n",
       "\u001b[38;2;255;255;000m--> Warning!\u001b[0m\n",
       "One or more external boundary attributes has no associated boundary condition!\n",
       ""PMC"/"ZeroCharge" condition is assumed!\n",
       "\n",
       "Boundary attribute list: 3\n",
       "\n",
       "\n",
       "Characteristic length and time scales:\n",
       " Lc = 8.000e+00 m, tc = 2.669e+01 ns\n",
       "Finished partitioning mesh into 1 subdomain\n",
       "\n",
       "Mesh curvature order: 1\n",
       "Mesh bounding box:\n",
       " (Xmin, Ymin) = (-4.000e+00, -1.000e+00) m\n",
       " (Xmax, Ymax) = (+4.000e+00, +3.000e+00) m\n",
       "\n",
       "Parallel Mesh Stats:\n",
       "\n",
       "                minimum     average     maximum       total\n",
       " vertices          3155        3155        3155        3155\n",
       " edges             8973        8973        8973        8973\n",
       " elements          5818        5818        5818        5818\n",
       " neighbors            0           0           0\n",
       "\n",
       "            minimum     maximum\n",
       " h       0.00467942   0.0262638\n",
       " kappa            1     2.49462\n",
       "\n",
       "Estimated current per-rank memory usage is: Min. 46.1M, Max. 46.1M, Avg. 46.1M, Total 46.1M\n",
       "Estimated current per-node memory usage is: Min. 46.1M, Max. 46.1M, Avg. 46.1M, Total 46.1M\n",
       "\n",
       "Configuring 2D waveguide mode analysis at f = 4.775e-02 GHz (omega = 8.005538e+00)\n",
       " ND space: 29582 DOFs, H1 space: 12128 DOFs, total: 41710\n",
       " Auto kn_target = 1.245369e+01 (from max(mu_r) * max(epsilon_r) = 2.200000e+00)\n",
       "\n",
       "Solving GEP for 8 propagation mode(s)...\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.100965e-01\n",
       "  1 (restart 0) KSP residual norm 7.705641e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.485e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 7.133806e-02\n",
       "  1 (restart 0) KSP residual norm 2.249978e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.154e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.330713e-02\n",
       "  1 (restart 0) KSP residual norm 2.224838e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.680e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.183260e-02\n",
       "  1 (restart 0) KSP residual norm 2.575477e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.805e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 6.034076e-02\n",
       "  1 (restart 0) KSP residual norm 2.219439e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.678e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.039053e-02\n",
       "  1 (restart 0) KSP residual norm 1.826701e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.011e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.091490e-02\n",
       "  1 (restart 0) KSP residual norm 9.130210e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.953e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.127585e-02\n",
       "  1 (restart 0) KSP residual norm 3.025285e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.673e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.924276e-02\n",
       "  1 (restart 0) KSP residual norm 4.563365e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.163e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.183523e-02\n",
       "  1 (restart 0) KSP residual norm 3.309396e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 7.911e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.493977e-02\n",
       "  1 (restart 0) KSP residual norm 2.142515e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.132e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.538677e-02\n",
       "  1 (restart 0) KSP residual norm 3.644159e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.579e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.276773e-02\n",
       "  1 (restart 0) KSP residual norm 4.007012e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.223e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.181967e-02\n",
       "  1 (restart 0) KSP residual norm 4.632873e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 8.940e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.643933e-02\n",
       "  1 (restart 0) KSP residual norm 1.822709e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.109e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.276258e-02\n",
       "  1 (restart 0) KSP residual norm 1.650017e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 7.249e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.974824e-02\n",
       "  1 (restart 0) KSP residual norm 2.758401e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.272e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.738354e-02\n",
       "  1 (restart 0) KSP residual norm 5.087657e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 8.866e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.145720e-02\n",
       "  1 (restart 0) KSP residual norm 6.099776e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.471e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.039118e-02\n",
       "  1 (restart 0) KSP residual norm 1.067388e-13\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 5.235e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.535613e-02\n",
       "  1 (restart 0) KSP residual norm 9.119077e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.596e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.705886e-02\n",
       "  1 (restart 0) KSP residual norm 9.258924e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 5.428e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.354642e-02\n",
       "  1 (restart 0) KSP residual norm 1.425756e-13\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.055e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.288240e-02\n",
       "  1 (restart 0) KSP residual norm 2.347837e-13\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 7.140e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.953435e-02\n",
       "  1 (restart 0) KSP residual norm 9.277367e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.141e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.056241e-02\n",
       "  1 (restart 0) KSP residual norm 1.096947e-13\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.589e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.912015e-02\n",
       "  1 (restart 0) KSP residual norm 3.633498e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.248e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 7.635564e-02\n",
       "  1 (restart 0) KSP residual norm 7.011694e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.183e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.647252e-02\n",
       "  1 (restart 0) KSP residual norm 4.943703e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.001e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.056225e-02\n",
       "  1 (restart 0) KSP residual norm 3.621616e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 8.929e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.873419e-02\n",
       "  1 (restart 0) KSP residual norm 3.618383e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 7.425e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.457925e-02\n",
       "  1 (restart 0) KSP residual norm 9.931507e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.820e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.969016e-02\n",
       "  1 (restart 0) KSP residual norm 9.003320e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.032e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.068665e-02\n",
       "  1 (restart 0) KSP residual norm 8.508794e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.773e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.598087e-02\n",
       "  1 (restart 0) KSP residual norm 9.868521e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.743e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.747376e-02\n",
       "  1 (restart 0) KSP residual norm 1.006020e-13\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.662e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.602932e-02\n",
       "  1 (restart 0) KSP residual norm 8.748396e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.428e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.723347e-02\n",
       "  1 (restart 0) KSP residual norm 5.155798e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.893e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.875013e-02\n",
       "  1 (restart 0) KSP residual norm 5.399576e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.880e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.610296e-02\n",
       "  1 (restart 0) KSP residual norm 3.752004e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.437e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.060724e-02\n",
       "  1 (restart 0) KSP residual norm 6.218970e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.531e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.149824e-02\n",
       "  1 (restart 0) KSP residual norm 3.451908e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.096e-12)\n",
       " Found 8 converged eigenvalues (sigma = -1.550945e+02)\n",
       " eig 0: kn = 1.107937e+01+9.303855e-13i, n_eff = 1.383963e+00+1.162177e-13i\n",
       " eig 1: kn = 8.622523e+00-1.131015e-10i, n_eff = 1.077070e+00-1.412790e-11i\n",
       " eig 2: kn = 8.531264e+00+8.617866e-12i, n_eff = 1.065670e+00+1.076488e-12i\n",
       " eig 3: kn = 6.904515e+00+1.756175e-10i, n_eff = 8.624674e-01+2.193700e-11i\n",
       " eig 4: kn = 6.171195e+00+1.200353e-10i, n_eff = 7.708657e-01+1.499403e-11i\n",
       " eig 5: kn = 3.711548e+00+3.532072e-08i, n_eff = 4.636226e-01+4.412036e-09i\n",
       " eig 6: kn = 5.632047e-01-4.630316e-10i, n_eff = 7.035188e-02-5.783891e-11i\n",
       " eig 7: kn = 1.180109e-07+3.522642e+00i, n_eff = 1.474116e-08+4.400256e-01i\n",
       "\n",
       "Computing solution error estimates and performing postprocessing\n",
       "\n",
       "     m,       Re{kn} (1/m),       Im{kn} (1/m),          Re{n_eff},          Im{n_eff},      Error (Bkwd.),       Error (Abs.)\n",
       "     1,      +1.384921e+00,      +1.162982e-13,      +1.383963e+00,      +1.162177e-13,      +6.412314e-17,      +1.465684e-12\n",
       "     2,      +1.077815e+00,      -1.413768e-11,      +1.077070e+00,      -1.412790e-11,      +3.913049e-14,      +3.582810e-10\n",
       "     3,      +1.066408e+00,      +1.077233e-12,      +1.065670e+00,      +1.076488e-12,      +1.142357e-13,      +1.026059e-09\n",
       "     4,      +8.630644e-01,      +2.195219e-11,      +8.624674e-01,      +2.193700e-11,      +4.319171e-14,      +2.972763e-10\n",
       "     5,      +7.713994e-01,      +1.500441e-11,      +7.708657e-01,      +1.499403e-11,      +1.042119e-13,      +6.584953e-10\n",
       "     6,      +4.639435e-01,      +4.415090e-09,      +4.636226e-01,      +4.412036e-09,      +6.470057e-13,      +3.385231e-09\n",
       "     7,      +7.040058e-02,      -5.787895e-11,      +7.035188e-02,      -5.783891e-11,      +8.518289e-14,      +4.069454e-10\n",
       "     8,      +1.475136e-08,      +4.403302e-01,      +1.474116e-08,      +4.400256e-01,      +1.808371e-12,      +7.982976e-09\n",
       "\n",
       "\n",
       "Completed 0 iterations of adaptive mesh refinement (AMR):\n",
       " Indicator norm = 2.223e-02, global unknowns = 41710\n",
       " Max. iterations = 0, tol. = 1.000e-02\n",
       "\n",
       "Estimated peak per-rank memory usage is: Min. 297.4M, Max. 297.4M, Avg. 297.4M, Total 297.4M\n",
       "Estimated peak per-node memory usage is: Min. 297.4M, Max. 297.4M, Avg. 297.4M, Total 297.4M\n",
       "\n",
       "Elapsed Time Report (s)           Min.        Max.        Avg.\n",
       "==============================================================\n",
       "Initialization                   0.010       0.010       0.010\n",
       "  Mesh Preprocessing             0.029       0.029       0.029\n",
       "Operator Construction            0.075       0.075       0.075\n",
       "  Preconditioner                 1.119       1.119       1.119\n",
       "Eigenvalue Solve                 0.254       0.254       0.254\n",
       "Estimation                       0.025       0.025       0.025\n",
       "  Construction                   0.184       0.184       0.184\n",
       "  Solve                          0.450       0.450       0.450\n",
       "Postprocessing                   1.617       1.617       1.617\n",
       "Disk IO                          0.009       0.009       0.009\n",
       "--------------------------------------------------------------\n",
       "Total                            4.040       4.040       4.040\n",
       "\n",
       "Peak Memory                   Per-Node       Total   Total HWM\n",
       "==============================================================\n",
       "Initialization                    2.0M        2.0M        2.0M\n",
       "  Mesh Preprocessing              3.4M        3.4M        5.4M\n",
       "Operator Construction            44.0M       44.0M       49.5M\n",
       "  Preconditioner                139.1M      139.1M      188.6M\n",
       "Eigenvalue Solve                 54.5M       54.5M      243.1M\n",
       "Estimation                        0.0K        0.0K      243.1M\n",
       "  Construction                   13.8M       13.8M      256.9M\n",
       "  Solve                           0.0K        0.0K      256.9M\n",
       "Postprocessing                    0.0K        0.0K      256.9M\n",
       "Disk IO                           2.5M        2.5M      259.4M\n",
       "--------------------------------------------------------------\n",
       "Total                           272.0M      272.0M      272.0M
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Palace simulation output
  Running: /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace --serial /tmp/wg_microstrip_bmwwm0mn_modes/config.json\n",
       ">> /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace-x86_64.bin /tmp/wg_microstrip_bmwwm0mn_modes/config.json\n",
       "\n",
       "_____________     _______\n",
       "_____   __   \\____ __   /____ ____________\n",
       "____   /_/  /  __ ` /  /  __ ` /  ___/  _ \\\n",
       "___   _____/  /_/  /  /  /_/  /  /__/  ___/\n",
       "  /__/     \\___,__/__/\\___,__/\\_____\\_____/\n",
       "\n",
       "Git changeset ID: v0.17.0-272-gb22f654ab\n",
       "Running with 1 MPI process, 1 OpenMP thread\n",
       "Device configuration: omp,cpu\n",
       "Memory configuration: host-std\n",
       "libCEED backend: /cpu/self/xsmm/blocked\n",
       "\n",
       "\n",
       "\u001b[38;2;255;255;000m--> Warning!\u001b[0m\n",
       "One or more external boundary attributes has no associated boundary condition!\n",
       ""PMC"/"ZeroCharge" condition is assumed!\n",
       "\n",
       "Boundary attribute list: 3\n",
       "\n",
       "\n",
       "Characteristic length and time scales:\n",
       " Lc = 8.000e+00 m, tc = 2.669e+01 ns\n",
       "Finished partitioning mesh into 1 subdomain\n",
       "\n",
       "Mesh curvature order: 1\n",
       "Mesh bounding box:\n",
       " (Xmin, Ymin) = (-4.000e+00, -1.000e+00) m\n",
       " (Xmax, Ymax) = (+4.000e+00, +3.000e+00) m\n",
       "\n",
       "Parallel Mesh Stats:\n",
       "\n",
       "                minimum     average     maximum       total\n",
       " vertices          3157        3157        3157        3157\n",
       " edges             8947        8947        8947        8947\n",
       " elements          5790        5790        5790        5790\n",
       " neighbors            0           0           0\n",
       "\n",
       "            minimum     maximum\n",
       " h       0.00466725   0.0261352\n",
       " kappa            1     2.95169\n",
       "\n",
       "Estimated current per-rank memory usage is: Min. 46.0M, Max. 46.0M, Avg. 46.0M, Total 46.0M\n",
       "Estimated current per-node memory usage is: Min. 46.0M, Max. 46.0M, Avg. 46.0M, Total 46.0M\n",
       "\n",
       "Configuring 2D waveguide mode analysis at f = 4.775e-02 GHz (omega = 8.005538e+00)\n",
       " ND space: 29474 DOFs, H1 space: 12104 DOFs, total: 41578\n",
       " Auto kn_target = 1.245369e+01 (from max(mu_r) * max(epsilon_r) = 2.200000e+00)\n",
       "\n",
       "Solving GEP for 8 propagation mode(s)...\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.049222e-01\n",
       "  1 (restart 0) KSP residual norm 3.009934e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.871e-14)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.495993e-02\n",
       "  1 (restart 0) KSP residual norm 6.152522e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.119e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.054196e-02\n",
       "  1 (restart 0) KSP residual norm 7.153503e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 7.901e-14)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 7.055954e-02\n",
       "  1 (restart 0) KSP residual norm 1.258048e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.783e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.520040e-02\n",
       "  1 (restart 0) KSP residual norm 9.772428e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.776e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.505622e-02\n",
       "  1 (restart 0) KSP residual norm 4.073974e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.162e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.348675e-02\n",
       "  1 (restart 0) KSP residual norm 4.654626e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.070e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.371372e-02\n",
       "  1 (restart 0) KSP residual norm 1.124600e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.573e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.138857e-02\n",
       "  1 (restart 0) KSP residual norm 9.105332e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.901e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.230753e-02\n",
       "  1 (restart 0) KSP residual norm 5.398197e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.420e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.097729e-02\n",
       "  1 (restart 0) KSP residual norm 3.743984e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.785e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.536739e-02\n",
       "  1 (restart 0) KSP residual norm 7.689897e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.389e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.592291e-02\n",
       "  1 (restart 0) KSP residual norm 8.418244e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.247e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.719580e-02\n",
       "  1 (restart 0) KSP residual norm 9.594517e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.579e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.025247e-02\n",
       "  1 (restart 0) KSP residual norm 5.226948e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.581e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.438872e-02\n",
       "  1 (restart 0) KSP residual norm 1.338707e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.893e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.656981e-02\n",
       "  1 (restart 0) KSP residual norm 1.265423e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.460e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.493542e-02\n",
       "  1 (restart 0) KSP residual norm 1.032304e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.955e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.249566e-02\n",
       "  1 (restart 0) KSP residual norm 8.488977e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.612e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.945842e-02\n",
       "  1 (restart 0) KSP residual norm 7.184422e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.692e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.733529e-02\n",
       "  1 (restart 0) KSP residual norm 8.863929e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 5.113e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.447055e-02\n",
       "  1 (restart 0) KSP residual norm 2.106512e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.867e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 6.016384e-02\n",
       "  1 (restart 0) KSP residual norm 3.920952e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.517e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.675909e-02\n",
       "  1 (restart 0) KSP residual norm 4.627852e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.761e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.246650e-02\n",
       "  1 (restart 0) KSP residual norm 3.383798e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.042e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.791100e-02\n",
       "  1 (restart 0) KSP residual norm 5.156970e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.360e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.222042e-02\n",
       "  1 (restart 0) KSP residual norm 8.418769e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.613e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.209568e-02\n",
       "  1 (restart 0) KSP residual norm 3.594552e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.120e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 7.484029e-02\n",
       "  1 (restart 0) KSP residual norm 2.980378e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.982e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.272928e-02\n",
       "  1 (restart 0) KSP residual norm 1.725801e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 4.039e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.365104e-02\n",
       "  1 (restart 0) KSP residual norm 2.253096e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 4.200e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.756075e-02\n",
       "  1 (restart 0) KSP residual norm 3.461814e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.217e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.673592e-02\n",
       "  1 (restart 0) KSP residual norm 4.114927e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.120e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.519283e-02\n",
       "  1 (restart 0) KSP residual norm 6.268260e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.488e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.544827e-02\n",
       "  1 (restart 0) KSP residual norm 7.627267e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.997e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.583247e-02\n",
       "  1 (restart 0) KSP residual norm 4.175059e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.637e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 6.735758e-02\n",
       "  1 (restart 0) KSP residual norm 4.846522e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 7.195e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.434476e-02\n",
       "  1 (restart 0) KSP residual norm 7.546170e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.389e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.699990e-02\n",
       "  1 (restart 0) KSP residual norm 3.536711e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.205e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 6.036447e-02\n",
       "  1 (restart 0) KSP residual norm 3.304861e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 5.475e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 7.515228e-02\n",
       "  1 (restart 0) KSP residual norm 2.869383e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.818e-13)\n",
       " Found 8 converged eigenvalues (sigma = -1.550945e+02)\n",
       " eig 0: kn = 1.130579e+01+1.160995e-14i, n_eff = 1.412246e+00+1.450240e-15i\n",
       " eig 1: kn = 8.796586e+00+1.194492e-10i, n_eff = 1.098813e+00+1.492082e-11i\n",
       " eig 2: kn = 8.389071e+00-1.541041e-11i, n_eff = 1.047908e+00-1.924969e-12i\n",
       " eig 3: kn = 7.111628e+00-3.639261e-10i, n_eff = 8.883385e-01-4.545929e-11i\n",
       " eig 4: kn = 6.120308e+00-1.746710e-10i, n_eff = 7.645093e-01-2.181878e-11i\n",
       " eig 5: kn = 4.757111e+00-1.540710e-08i, n_eff = 5.942276e-01-1.924555e-09i\n",
       " eig 6: kn = 3.640118e+00-5.465907e-08i, n_eff = 4.547000e-01-6.827657e-09i\n",
       " eig 7: kn = 1.435277e-07-2.979907e+00i, n_eff = 1.792855e-08-3.722307e-01i\n",
       "\n",
       "Computing solution error estimates and performing postprocessing\n",
       "\n",
       "     m,       Re{kn} (1/m),       Im{kn} (1/m),          Re{n_eff},          Im{n_eff},      Error (Bkwd.),       Error (Abs.)\n",
       "     1,      +1.413223e+00,      +1.451244e-15,      +1.412246e+00,      +1.450240e-15,      +3.694962e-17,      +9.646529e-13\n",
       "     2,      +1.099573e+00,      +1.493115e-11,      +1.098813e+00,      +1.492082e-11,      +3.264865e-14,      +2.991684e-10\n",
       "     3,      +1.048634e+00,      -1.926301e-12,      +1.047908e+00,      -1.924969e-12,      +2.566528e-13,      +2.157397e-09\n",
       "     4,      +8.889534e-01,      -4.549076e-11,      +8.883385e-01,      -4.545929e-11,      +3.872004e-14,      +2.638262e-10\n",
       "     5,      +7.650385e-01,      -2.183388e-11,      +7.645093e-01,      -2.181878e-11,      +2.465380e-14,      +1.492566e-10\n",
       "     6,      +5.946389e-01,      -1.925888e-09,      +5.942276e-01,      -1.924555e-09,      +9.980929e-14,      +5.366323e-10\n",
       "     7,      +4.550148e-01,      -6.832384e-09,      +4.547000e-01,      -6.827657e-09,      +1.610663e-13,      +8.087372e-10\n",
       "     8,      +1.794096e-08,      -3.724884e-01,      +1.792855e-08,      -3.722307e-01,      +2.292493e-13,      +9.957883e-10\n",
       "\n",
       "\n",
       "Completed 0 iterations of adaptive mesh refinement (AMR):\n",
       " Indicator norm = 2.430e-02, global unknowns = 41578\n",
       " Max. iterations = 0, tol. = 1.000e-02\n",
       "\n",
       "Estimated peak per-rank memory usage is: Min. 295.9M, Max. 295.9M, Avg. 295.9M, Total 295.9M\n",
       "Estimated peak per-node memory usage is: Min. 295.9M, Max. 295.9M, Avg. 295.9M, Total 295.9M\n",
       "\n",
       "Elapsed Time Report (s)           Min.        Max.        Avg.\n",
       "==============================================================\n",
       "Initialization                   0.010       0.010       0.010\n",
       "  Mesh Preprocessing             0.029       0.029       0.029\n",
       "Operator Construction            0.074       0.074       0.074\n",
       "  Preconditioner                 1.064       1.064       1.064\n",
       "Eigenvalue Solve                 0.243       0.243       0.243\n",
       "Estimation                       0.023       0.023       0.023\n",
       "  Construction                   0.228       0.228       0.228\n",
       "  Solve                          0.443       0.443       0.443\n",
       "Postprocessing                   1.536       1.536       1.536\n",
       "Disk IO                          0.009       0.009       0.009\n",
       "--------------------------------------------------------------\n",
       "Total                            3.927       3.927       3.927\n",
       "\n",
       "Peak Memory                   Per-Node       Total   Total HWM\n",
       "==============================================================\n",
       "Initialization                    2.0M        2.0M        2.0M\n",
       "  Mesh Preprocessing              3.3M        3.3M        5.2M\n",
       "Operator Construction            43.9M       43.9M       49.2M\n",
       "  Preconditioner                137.9M      137.9M      187.1M\n",
       "Eigenvalue Solve                 54.4M       54.4M      241.4M\n",
       "Estimation                        0.0K        0.0K      241.4M\n",
       "  Construction                   13.7M       13.7M      255.1M\n",
       "  Solve                           0.0K        0.0K      255.1M\n",
       "Postprocessing                    0.0K        0.0K      255.1M\n",
       "Disk IO                           2.5M        2.5M      257.6M\n",
       "--------------------------------------------------------------\n",
       "Total                           270.5M      270.5M      270.5M
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Palace simulation output
  Running: /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace --serial /tmp/wg_microstrip_r93hvl86_modes/config.json\n",
       ">> /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace-x86_64.bin /tmp/wg_microstrip_r93hvl86_modes/config.json\n",
       "\n",
       "_____________     _______\n",
       "_____   __   \\____ __   /____ ____________\n",
       "____   /_/  /  __ ` /  /  __ ` /  ___/  _ \\\n",
       "___   _____/  /_/  /  /  /_/  /  /__/  ___/\n",
       "  /__/     \\___,__/__/\\___,__/\\_____\\_____/\n",
       "\n",
       "Git changeset ID: v0.17.0-272-gb22f654ab\n",
       "Running with 1 MPI process, 1 OpenMP thread\n",
       "Device configuration: omp,cpu\n",
       "Memory configuration: host-std\n",
       "libCEED backend: /cpu/self/xsmm/blocked\n",
       "\n",
       "\n",
       "\u001b[38;2;255;255;000m--> Warning!\u001b[0m\n",
       "One or more external boundary attributes has no associated boundary condition!\n",
       ""PMC"/"ZeroCharge" condition is assumed!\n",
       "\n",
       "Boundary attribute list: 3\n",
       "\n",
       "\n",
       "Characteristic length and time scales:\n",
       " Lc = 8.000e+00 m, tc = 2.669e+01 ns\n",
       "Finished partitioning mesh into 1 subdomain\n",
       "\n",
       "Mesh curvature order: 1\n",
       "Mesh bounding box:\n",
       " (Xmin, Ymin) = (-4.000e+00, -1.000e+00) m\n",
       " (Xmax, Ymax) = (+4.000e+00, +3.000e+00) m\n",
       "\n",
       "Parallel Mesh Stats:\n",
       "\n",
       "                minimum     average     maximum       total\n",
       " vertices          3137        3137        3137        3137\n",
       " edges             8911        8911        8911        8911\n",
       " elements          5774        5774        5774        5774\n",
       " neighbors            0           0           0\n",
       "\n",
       "            minimum     maximum\n",
       " h       0.00467745    0.026069\n",
       " kappa            1     2.45424\n",
       "\n",
       "Estimated current per-rank memory usage is: Min. 46.2M, Max. 46.2M, Avg. 46.2M, Total 46.2M\n",
       "Estimated current per-node memory usage is: Min. 46.2M, Max. 46.2M, Avg. 46.2M, Total 46.2M\n",
       "\n",
       "Configuring 2D waveguide mode analysis at f = 4.775e-02 GHz (omega = 8.005538e+00)\n",
       " ND space: 29370 DOFs, H1 space: 12048 DOFs, total: 41418\n",
       " Auto kn_target = 1.761218e+01 (from max(mu_r) * max(epsilon_r) = 4.400000e+00)\n",
       "\n",
       "Solving GEP for 8 propagation mode(s)...\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.845076e-01\n",
       "  1 (restart 0) KSP residual norm 4.811057e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.691e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.401334e-02\n",
       "  1 (restart 0) KSP residual norm 9.324508e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.726e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.353047e-02\n",
       "  1 (restart 0) KSP residual norm 5.801674e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.730e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.694724e-02\n",
       "  1 (restart 0) KSP residual norm 7.157112e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.525e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.279897e-02\n",
       "  1 (restart 0) KSP residual norm 8.451796e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.601e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.206980e-02\n",
       "  1 (restart 0) KSP residual norm 3.480220e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.577e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.248632e-02\n",
       "  1 (restart 0) KSP residual norm 3.708607e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.649e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.323333e-02\n",
       "  1 (restart 0) KSP residual norm 7.082733e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.638e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.124628e-02\n",
       "  1 (restart 0) KSP residual norm 1.656815e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.473e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.125721e-02\n",
       "  1 (restart 0) KSP residual norm 2.252765e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.001e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 8.362626e-03\n",
       "  1 (restart 0) KSP residual norm 1.493009e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.785e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.154994e-02\n",
       "  1 (restart 0) KSP residual norm 3.475555e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.613e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.957024e-02\n",
       "  1 (restart 0) KSP residual norm 9.885025e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.659e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.718780e-02\n",
       "  1 (restart 0) KSP residual norm 6.281783e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.689e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.592589e-02\n",
       "  1 (restart 0) KSP residual norm 4.910778e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.894e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.220593e-02\n",
       "  1 (restart 0) KSP residual norm 5.856628e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.637e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.658301e-02\n",
       "  1 (restart 0) KSP residual norm 4.290387e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.587e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.974058e-02\n",
       "  1 (restart 0) KSP residual norm 3.460070e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.753e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.782016e-02\n",
       "  1 (restart 0) KSP residual norm 3.425563e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.922e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.963504e-02\n",
       "  1 (restart 0) KSP residual norm 6.342277e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.140e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.165708e-02\n",
       "  1 (restart 0) KSP residual norm 4.099369e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.893e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.258767e-02\n",
       "  1 (restart 0) KSP residual norm 3.227916e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.564e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.200163e-02\n",
       "  1 (restart 0) KSP residual norm 3.416435e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.847e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.155795e-02\n",
       "  1 (restart 0) KSP residual norm 5.143394e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.386e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.006825e-02\n",
       "  1 (restart 0) KSP residual norm 2.096734e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.083e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.359163e-02\n",
       "  1 (restart 0) KSP residual norm 4.089284e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.009e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.478370e-02\n",
       "  1 (restart 0) KSP residual norm 4.141645e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.801e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.033829e-02\n",
       "  1 (restart 0) KSP residual norm 3.203904e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.099e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.124092e-02\n",
       "  1 (restart 0) KSP residual norm 3.191333e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.839e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.162599e-02\n",
       "  1 (restart 0) KSP residual norm 3.426221e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.947e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.661656e-02\n",
       "  1 (restart 0) KSP residual norm 5.841938e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.516e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.239187e-02\n",
       "  1 (restart 0) KSP residual norm 9.579388e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 7.730e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.468730e-02\n",
       "  1 (restart 0) KSP residual norm 8.979166e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.114e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 7.007984e-03\n",
       "  1 (restart 0) KSP residual norm 4.925242e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 7.028e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.893274e-03\n",
       "  1 (restart 0) KSP residual norm 1.037210e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.048e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.533196e-02\n",
       "  1 (restart 0) KSP residual norm 1.050339e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.851e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.465437e-02\n",
       "  1 (restart 0) KSP residual norm 7.182161e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 4.901e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.545184e-03\n",
       "  1 (restart 0) KSP residual norm 6.953630e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 7.285e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.458214e-02\n",
       "  1 (restart 0) KSP residual norm 9.761268e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.694e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.513117e-02\n",
       "  1 (restart 0) KSP residual norm 1.501809e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.925e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.168797e-02\n",
       "  1 (restart 0) KSP residual norm 2.940178e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.516e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.976183e-02\n",
       "  1 (restart 0) KSP residual norm 4.707175e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.382e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.425726e-02\n",
       "  1 (restart 0) KSP residual norm 2.715323e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.905e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.985505e-02\n",
       "  1 (restart 0) KSP residual norm 1.596395e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 8.040e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.441624e-02\n",
       "  1 (restart 0) KSP residual norm 1.637537e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.136e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.500287e-02\n",
       "  1 (restart 0) KSP residual norm 1.702315e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.135e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.616244e-02\n",
       "  1 (restart 0) KSP residual norm 3.293979e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.038e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.073946e-02\n",
       "  1 (restart 0) KSP residual norm 4.647312e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.241e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.633913e-02\n",
       "  1 (restart 0) KSP residual norm 2.443195e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.495e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.212527e-02\n",
       "  1 (restart 0) KSP residual norm 1.834580e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.513e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.404708e-02\n",
       "  1 (restart 0) KSP residual norm 2.676901e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.906e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.258578e-02\n",
       "  1 (restart 0) KSP residual norm 4.608818e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.041e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.509607e-02\n",
       "  1 (restart 0) KSP residual norm 2.649349e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.755e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.196213e-02\n",
       "  1 (restart 0) KSP residual norm 4.147869e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.889e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.741047e-02\n",
       "  1 (restart 0) KSP residual norm 3.038479e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.745e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.576452e-03\n",
       "  1 (restart 0) KSP residual norm 1.791636e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.213e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.087659e-02\n",
       "  1 (restart 0) KSP residual norm 3.108404e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.858e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.737429e-02\n",
       "  1 (restart 0) KSP residual norm 4.125760e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.375e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.629845e-02\n",
       "  1 (restart 0) KSP residual norm 3.163644e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.941e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.401042e-02\n",
       "  1 (restart 0) KSP residual norm 1.662777e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.187e-12)\n",
       " Found 9 converged eigenvalues (sigma = -3.101890e+02)\n",
       " eig 0: kn = 1.570431e+01-6.319060e-15i, n_eff = 1.961681e+00-7.893360e-16i\n",
       " eig 1: kn = 1.266571e+01-9.935243e-11i, n_eff = 1.582119e+00-1.241046e-11i\n",
       " eig 2: kn = 1.229590e+01+8.609819e-10i, n_eff = 1.535924e+00+1.075483e-10i\n",
       " eig 3: kn = 1.007304e+01+1.103886e-10i, n_eff = 1.258259e+00+1.378903e-11i\n",
       " eig 4: kn = 8.815310e+00+1.463737e-09i, n_eff = 1.101151e+00+1.828405e-10i\n",
       " eig 5: kn = 8.204797e+00-2.250888e-10i, n_eff = 1.024890e+00-2.811664e-11i\n",
       " eig 6: kn = 5.243717e+00-2.882317e-07i, n_eff = 6.550112e-01-3.600404e-08i\n",
       " eig 7: kn = 4.743264e+00+2.734428e-09i, n_eff = 5.924978e-01+3.415670e-10i\n",
       " eig 8: kn = 3.769221e+00+2.974567e-08i, n_eff = 4.708266e-01+3.715636e-09i\n",
       "\n",
       "Computing solution error estimates and performing postprocessing\n",
       "\n",
       "     m,       Re{kn} (1/m),       Im{kn} (1/m),          Re{n_eff},          Im{n_eff},      Error (Bkwd.),       Error (Abs.)\n",
       "     1,      +1.963039e+00,      -7.898825e-16,      +1.961681e+00,      -7.893360e-16,      +2.616254e-17,      +2.899111e-13\n",
       "     2,      +1.583214e+00,      -1.241905e-11,      +1.582119e+00,      -1.241046e-11,      +7.539258e-14,      +3.546253e-10\n",
       "     3,      +1.536988e+00,      +1.076227e-10,      +1.535924e+00,      +1.075483e-10,      +7.428405e-13,      +3.291309e-09\n",
       "     4,      +1.259130e+00,      +1.379858e-11,      +1.258259e+00,      +1.378903e-11,      +6.369323e-14,      +2.149973e-10\n",
       "     5,      +1.101914e+00,      +1.829671e-10,      +1.101151e+00,      +1.828405e-10,      +2.545920e-13,      +7.715949e-10\n",
       "     6,      +1.025600e+00,      -2.813610e-11,      +1.024890e+00,      -2.811664e-11,      +9.469525e-14,      +2.747204e-10\n",
       "     7,      +6.554647e-01,      -3.602896e-08,      +6.550112e-01,      -3.600404e-08,      +9.728073e-13,      +2.424833e-09\n",
       "     8,      +5.929080e-01,      +3.418035e-10,      +5.924978e-01,      +3.415670e-10,      +5.253427e-14,      +1.286739e-10\n",
       "\n",
       "\n",
       "Completed 0 iterations of adaptive mesh refinement (AMR):\n",
       " Indicator norm = 2.560e-02, global unknowns = 41418\n",
       " Max. iterations = 0, tol. = 1.000e-02\n",
       "\n",
       "Estimated peak per-rank memory usage is: Min. 294.5M, Max. 294.5M, Avg. 294.5M, Total 294.5M\n",
       "Estimated peak per-node memory usage is: Min. 294.5M, Max. 294.5M, Avg. 294.5M, Total 294.5M\n",
       "\n",
       "Elapsed Time Report (s)           Min.        Max.        Avg.\n",
       "==============================================================\n",
       "Initialization                   0.010       0.010       0.010\n",
       "  Mesh Preprocessing             0.028       0.028       0.028\n",
       "Operator Construction            0.075       0.075       0.075\n",
       "  Preconditioner                 1.462       1.462       1.462\n",
       "Eigenvalue Solve                 0.338       0.338       0.338\n",
       "Estimation                       0.026       0.026       0.026\n",
       "  Construction                   0.131       0.131       0.131\n",
       "  Solve                          0.500       0.500       0.500\n",
       "Postprocessing                   1.627       1.627       1.627\n",
       "Disk IO                          0.009       0.009       0.009\n",
       "--------------------------------------------------------------\n",
       "Total                            4.473       4.473       4.473\n",
       "\n",
       "Peak Memory                   Per-Node       Total   Total HWM\n",
       "==============================================================\n",
       "Initialization                    2.2M        2.2M        2.2M\n",
       "  Mesh Preprocessing              3.3M        3.3M        5.5M\n",
       "Operator Construction            43.7M       43.7M       49.2M\n",
       "  Preconditioner                136.9M      136.9M      186.2M\n",
       "Eigenvalue Solve                 54.1M       54.1M      240.3M\n",
       "Estimation                        0.0K        0.0K      240.3M\n",
       "  Construction                   13.8M       13.8M      254.1M\n",
       "  Solve                           0.0K        0.0K      254.1M\n",
       "Postprocessing                    0.0K        0.0K      254.1M\n",
       "Disk IO                           2.5M        2.5M      256.6M\n",
       "--------------------------------------------------------------\n",
       "Total                           269.1M      269.1M      269.1M
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Palace simulation output
  Running: /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace --serial /tmp/wg_microstrip_d8s2j4xf_modes/config.json\n",
       ">> /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace-x86_64.bin /tmp/wg_microstrip_d8s2j4xf_modes/config.json\n",
       "\n",
       "_____________     _______\n",
       "_____   __   \\____ __   /____ ____________\n",
       "____   /_/  /  __ ` /  /  __ ` /  ___/  _ \\\n",
       "___   _____/  /_/  /  /  /_/  /  /__/  ___/\n",
       "  /__/     \\___,__/__/\\___,__/\\_____\\_____/\n",
       "\n",
       "Git changeset ID: v0.17.0-272-gb22f654ab\n",
       "Running with 1 MPI process, 1 OpenMP thread\n",
       "Device configuration: omp,cpu\n",
       "Memory configuration: host-std\n",
       "libCEED backend: /cpu/self/xsmm/blocked\n",
       "\n",
       "\n",
       "\u001b[38;2;255;255;000m--> Warning!\u001b[0m\n",
       "One or more external boundary attributes has no associated boundary condition!\n",
       ""PMC"/"ZeroCharge" condition is assumed!\n",
       "\n",
       "Boundary attribute list: 3\n",
       "\n",
       "\n",
       "Characteristic length and time scales:\n",
       " Lc = 8.000e+00 m, tc = 2.669e+01 ns\n",
       "Finished partitioning mesh into 1 subdomain\n",
       "\n",
       "Mesh curvature order: 1\n",
       "Mesh bounding box:\n",
       " (Xmin, Ymin) = (-4.000e+00, -1.000e+00) m\n",
       " (Xmax, Ymax) = (+4.000e+00, +3.000e+00) m\n",
       "\n",
       "Parallel Mesh Stats:\n",
       "\n",
       "                minimum     average     maximum       total\n",
       " vertices          3165        3165        3165        3165\n",
       " edges             8955        8955        8955        8955\n",
       " elements          5790        5790        5790        5790\n",
       " neighbors            0           0           0\n",
       "\n",
       "            minimum     maximum\n",
       " h       0.00519064   0.0259763\n",
       " kappa            1     2.41519\n",
       "\n",
       "Estimated current per-rank memory usage is: Min. 46.0M, Max. 46.0M, Avg. 46.0M, Total 46.0M\n",
       "Estimated current per-node memory usage is: Min. 46.0M, Max. 46.0M, Avg. 46.0M, Total 46.0M\n",
       "\n",
       "Configuring 2D waveguide mode analysis at f = 4.775e-02 GHz (omega = 8.005538e+00)\n",
       " ND space: 29490 DOFs, H1 space: 12120 DOFs, total: 41610\n",
       " Auto kn_target = 1.761218e+01 (from max(mu_r) * max(epsilon_r) = 4.400000e+00)\n",
       "\n",
       "Solving GEP for 8 propagation mode(s)...\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.749208e-01\n",
       "  1 (restart 0) KSP residual norm 4.757498e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.730e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.098967e-02\n",
       "  1 (restart 0) KSP residual norm 9.048051e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.774e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.222069e-02\n",
       "  1 (restart 0) KSP residual norm 9.609623e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.276e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.712166e-02\n",
       "  1 (restart 0) KSP residual norm 1.785814e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.790e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.304873e-02\n",
       "  1 (restart 0) KSP residual norm 9.889608e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.297e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.676369e-02\n",
       "  1 (restart 0) KSP residual norm 9.224858e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.509e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.187940e-02\n",
       "  1 (restart 0) KSP residual norm 1.996305e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.124e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.682442e-02\n",
       "  1 (restart 0) KSP residual norm 1.523651e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 4.138e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.618666e-02\n",
       "  1 (restart 0) KSP residual norm 1.828012e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.129e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.197453e-02\n",
       "  1 (restart 0) KSP residual norm 1.218049e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.017e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.060274e-02\n",
       "  1 (restart 0) KSP residual norm 6.486400e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.118e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.214144e-02\n",
       "  1 (restart 0) KSP residual norm 9.094604e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 7.491e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.829299e-02\n",
       "  1 (restart 0) KSP residual norm 2.966798e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 5.089e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.643604e-02\n",
       "  1 (restart 0) KSP residual norm 1.210468e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.322e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.391199e-02\n",
       "  1 (restart 0) KSP residual norm 2.100610e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.194e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.647467e-02\n",
       "  1 (restart 0) KSP residual norm 1.645077e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.214e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.463214e-02\n",
       "  1 (restart 0) KSP residual norm 9.163251e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.646e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 6.712552e-03\n",
       "  1 (restart 0) KSP residual norm 5.471182e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 8.151e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.291447e-02\n",
       "  1 (restart 0) KSP residual norm 1.611525e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 7.033e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.853637e-02\n",
       "  1 (restart 0) KSP residual norm 1.254111e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 4.395e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.698559e-02\n",
       "  1 (restart 0) KSP residual norm 2.024457e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.192e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.782128e-02\n",
       "  1 (restart 0) KSP residual norm 1.815757e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.019e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 6.827772e-03\n",
       "  1 (restart 0) KSP residual norm 7.131946e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.045e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.487150e-02\n",
       "  1 (restart 0) KSP residual norm 2.158053e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.451e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.028979e-02\n",
       "  1 (restart 0) KSP residual norm 1.799790e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 8.870e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.286120e-02\n",
       "  1 (restart 0) KSP residual norm 1.621600e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.261e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.461943e-02\n",
       "  1 (restart 0) KSP residual norm 2.461377e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.998e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.720614e-02\n",
       "  1 (restart 0) KSP residual norm 6.450581e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.749e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.790965e-02\n",
       "  1 (restart 0) KSP residual norm 1.536941e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 8.582e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.311211e-02\n",
       "  1 (restart 0) KSP residual norm 1.383107e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.055e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.114765e-02\n",
       "  1 (restart 0) KSP residual norm 8.986167e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 8.061e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.106267e-02\n",
       "  1 (restart 0) KSP residual norm 1.039449e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.396e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.508310e-02\n",
       "  1 (restart 0) KSP residual norm 1.844590e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.223e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.145993e-02\n",
       "  1 (restart 0) KSP residual norm 3.871985e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.379e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.300898e-02\n",
       "  1 (restart 0) KSP residual norm 4.312234e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.315e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.209187e-02\n",
       "  1 (restart 0) KSP residual norm 8.421037e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.964e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.429743e-02\n",
       "  1 (restart 0) KSP residual norm 1.732708e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.212e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.238891e-02\n",
       "  1 (restart 0) KSP residual norm 2.536589e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.133e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.165843e-02\n",
       "  1 (restart 0) KSP residual norm 2.906006e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.493e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.870502e-02\n",
       "  1 (restart 0) KSP residual norm 4.763934e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.547e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.126172e-02\n",
       "  1 (restart 0) KSP residual norm 4.255964e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.002e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.045615e-02\n",
       "  1 (restart 0) KSP residual norm 5.737856e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.805e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.778835e-02\n",
       "  1 (restart 0) KSP residual norm 8.502565e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.250e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.504439e-02\n",
       "  1 (restart 0) KSP residual norm 6.809918e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.719e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.906169e-02\n",
       "  1 (restart 0) KSP residual norm 8.427465e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.900e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.746069e-02\n",
       "  1 (restart 0) KSP residual norm 4.751175e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.721e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.293812e-02\n",
       "  1 (restart 0) KSP residual norm 2.224957e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.720e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 7.263302e-03\n",
       "  1 (restart 0) KSP residual norm 2.284518e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.145e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.352203e-02\n",
       "  1 (restart 0) KSP residual norm 3.294191e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.400e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.330768e-02\n",
       "  1 (restart 0) KSP residual norm 3.461650e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.485e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.164132e-02\n",
       "  1 (restart 0) KSP residual norm 4.378759e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.023e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.135005e-02\n",
       "  1 (restart 0) KSP residual norm 2.572994e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.267e-12)\n",
       " Found 10 converged eigenvalues (sigma = -3.101890e+02)\n",
       " eig 0: kn = 1.612031e+01+2.120147e-14i, n_eff = 2.013644e+00+2.648350e-15i\n",
       " eig 1: kn = 1.354119e+01-3.534632e-12i, n_eff = 1.691478e+00-4.415233e-13i\n",
       " eig 2: kn = 1.221412e+01-8.688874e-10i, n_eff = 1.525709e+00-1.085358e-10i\n",
       " eig 3: kn = 1.151444e+01-7.634313e-09i, n_eff = 1.438309e+00-9.536289e-10i\n",
       " eig 4: kn = 8.417522e+00+1.967671e-09i, n_eff = 1.051462e+00+2.457887e-10i\n",
       " eig 5: kn = 7.840754e+00+8.139435e-09i, n_eff = 9.794162e-01+1.016726e-09i\n",
       " eig 6: kn = 5.737898e+00+7.003492e-09i, n_eff = 7.167411e-01+8.748308e-10i\n",
       " eig 7: kn = 5.133265e+00+1.400185e-06i, n_eff = 6.412142e-01+1.749021e-07i\n",
       " eig 8: kn = 4.934314e+00-8.330190e-08i, n_eff = 6.163626e-01-1.040553e-08i\n",
       " eig 9: kn = 3.614677e+00+3.443956e-06i, n_eff = 4.515221e-01+4.301967e-07i\n",
       "\n",
       "Computing solution error estimates and performing postprocessing\n",
       "\n",
       "     m,       Re{kn} (1/m),       Im{kn} (1/m),          Re{n_eff},          Im{n_eff},      Error (Bkwd.),       Error (Abs.)\n",
       "     1,      +2.015038e+00,      +2.650183e-15,      +2.013644e+00,      +2.648350e-15,      +5.833877e-17,      +7.198057e-13\n",
       "     2,      +1.692649e+00,      -4.418290e-13,      +1.691478e+00,      -4.415233e-13,      +1.337414e-15,      +6.548889e-12\n",
       "     3,      +1.526765e+00,      -1.086109e-10,      +1.525709e+00,      -1.085358e-10,      +5.548702e-13,      +2.140384e-09\n",
       "     4,      +1.439305e+00,      -9.542891e-10,      +1.438309e+00,      -9.536289e-10,      +4.745882e-12,      +1.659624e-08\n",
       "     5,      +1.052190e+00,      +2.459588e-10,      +1.051462e+00,      +2.457887e-10,      +4.465502e-13,      +1.158971e-09\n",
       "     6,      +9.800942e-01,      +1.017429e-09,      +9.794162e-01,      +1.016726e-09,      +2.520613e-12,      +6.295431e-09\n",
       "     7,      +7.172373e-01,      +8.754365e-10,      +7.167411e-01,      +8.748308e-10,      +1.052161e-12,      +2.357366e-09\n",
       "     8,      +6.416581e-01,      +1.750232e-07,      +6.412142e-01,      +1.749021e-07,      +8.419526e-12,      +1.842735e-08\n",
       "\n",
       "\n",
       "Completed 0 iterations of adaptive mesh refinement (AMR):\n",
       " Indicator norm = 2.701e-02, global unknowns = 41610\n",
       " Max. iterations = 0, tol. = 1.000e-02\n",
       "\n",
       "Estimated peak per-rank memory usage is: Min. 287.3M, Max. 287.3M, Avg. 287.3M, Total 287.3M\n",
       "Estimated peak per-node memory usage is: Min. 287.3M, Max. 287.3M, Avg. 287.3M, Total 287.3M\n",
       "\n",
       "Elapsed Time Report (s)           Min.        Max.        Avg.\n",
       "==============================================================\n",
       "Initialization                   0.010       0.010       0.010\n",
       "  Mesh Preprocessing             0.028       0.028       0.028\n",
       "Operator Construction            0.074       0.074       0.074\n",
       "  Preconditioner                 1.286       1.286       1.286\n",
       "Eigenvalue Solve                 0.304       0.304       0.304\n",
       "Estimation                       0.026       0.026       0.026\n",
       "  Construction                   0.263       0.263       0.263\n",
       "  Solve                          0.488       0.488       0.488\n",
       "Postprocessing                   1.692       1.692       1.692\n",
       "Disk IO                          0.009       0.009       0.009\n",
       "--------------------------------------------------------------\n",
       "Total                            4.449       4.449       4.449\n",
       "\n",
       "Peak Memory                   Per-Node       Total   Total HWM\n",
       "==============================================================\n",
       "Initialization                    2.2M        2.2M        2.2M\n",
       "  Mesh Preprocessing              3.4M        3.4M        5.5M\n",
       "Operator Construction            43.9M       43.9M       49.4M\n",
       "  Preconditioner                129.1M      129.1M      178.6M\n",
       "Eigenvalue Solve                 54.3M       54.3M      232.8M\n",
       "Estimation                        0.0K        0.0K      232.8M\n",
       "  Construction                   13.8M       13.8M      246.7M\n",
       "  Solve                           0.0K        0.0K      246.7M\n",
       "Postprocessing                    0.0K        0.0K      246.7M\n",
       "Disk IO                           2.5M        2.5M      249.2M\n",
       "--------------------------------------------------------------\n",
       "Total                           261.9M      261.9M      261.9M
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Palace simulation output
  Running: /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace --serial /tmp/wg_microstrip_me55fbpr_modes/config.json\n",
       ">> /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace-x86_64.bin /tmp/wg_microstrip_me55fbpr_modes/config.json\n",
       "\n",
       "_____________     _______\n",
       "_____   __   \\____ __   /____ ____________\n",
       "____   /_/  /  __ ` /  /  __ ` /  ___/  _ \\\n",
       "___   _____/  /_/  /  /  /_/  /  /__/  ___/\n",
       "  /__/     \\___,__/__/\\___,__/\\_____\\_____/\n",
       "\n",
       "Git changeset ID: v0.17.0-272-gb22f654ab\n",
       "Running with 1 MPI process, 1 OpenMP thread\n",
       "Device configuration: omp,cpu\n",
       "Memory configuration: host-std\n",
       "libCEED backend: /cpu/self/xsmm/blocked\n",
       "\n",
       "\n",
       "\u001b[38;2;255;255;000m--> Warning!\u001b[0m\n",
       "One or more external boundary attributes has no associated boundary condition!\n",
       ""PMC"/"ZeroCharge" condition is assumed!\n",
       "\n",
       "Boundary attribute list: 3\n",
       "\n",
       "\n",
       "Characteristic length and time scales:\n",
       " Lc = 8.000e+00 m, tc = 2.669e+01 ns\n",
       "Finished partitioning mesh into 1 subdomain\n",
       "\n",
       "Mesh curvature order: 1\n",
       "Mesh bounding box:\n",
       " (Xmin, Ymin) = (-4.000e+00, -1.000e+00) m\n",
       " (Xmax, Ymax) = (+4.000e+00, +3.000e+00) m\n",
       "\n",
       "Parallel Mesh Stats:\n",
       "\n",
       "                minimum     average     maximum       total\n",
       " vertices          3155        3155        3155        3155\n",
       " edges             8957        8957        8957        8957\n",
       " elements          5802        5802        5802        5802\n",
       " neighbors            0           0           0\n",
       "\n",
       "            minimum     maximum\n",
       " h       0.00464801   0.0254008\n",
       " kappa            1     2.60255\n",
       "\n",
       "Estimated current per-rank memory usage is: Min. 46.0M, Max. 46.0M, Avg. 46.0M, Total 46.0M\n",
       "Estimated current per-node memory usage is: Min. 46.0M, Max. 46.0M, Avg. 46.0M, Total 46.0M\n",
       "\n",
       "Configuring 2D waveguide mode analysis at f = 4.775e-02 GHz (omega = 8.005538e+00)\n",
       " ND space: 29518 DOFs, H1 space: 12112 DOFs, total: 41630\n",
       " Auto kn_target = 2.082210e+01 (from max(mu_r) * max(epsilon_r) = 6.150000e+00)\n",
       "\n",
       "Solving GEP for 8 propagation mode(s)...\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.624967e-01\n",
       "  1 (restart 0) KSP residual norm 3.578063e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.363e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.974930e-02\n",
       "  1 (restart 0) KSP residual norm 4.951116e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.952e-14)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.134045e-02\n",
       "  1 (restart 0) KSP residual norm 6.045223e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.462e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.199963e-02\n",
       "  1 (restart 0) KSP residual norm 5.316624e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.266e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.875012e-02\n",
       "  1 (restart 0) KSP residual norm 3.403975e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.184e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.959645e-02\n",
       "  1 (restart 0) KSP residual norm 2.796262e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.427e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.883222e-02\n",
       "  1 (restart 0) KSP residual norm 2.415513e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.283e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.935108e-02\n",
       "  1 (restart 0) KSP residual norm 3.909088e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.332e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.637126e-03\n",
       "  1 (restart 0) KSP residual norm 1.732828e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.798e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.796355e-02\n",
       "  1 (restart 0) KSP residual norm 2.932490e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.632e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.806075e-02\n",
       "  1 (restart 0) KSP residual norm 2.541263e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.407e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.110402e-02\n",
       "  1 (restart 0) KSP residual norm 1.541280e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.388e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.861772e-02\n",
       "  1 (restart 0) KSP residual norm 3.763099e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.315e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.070605e-03\n",
       "  1 (restart 0) KSP residual norm 1.803837e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.989e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 6.925004e-03\n",
       "  1 (restart 0) KSP residual norm 1.101697e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.591e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.289004e-02\n",
       "  1 (restart 0) KSP residual norm 3.235638e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.510e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.079249e-02\n",
       "  1 (restart 0) KSP residual norm 4.166376e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.004e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.802072e-02\n",
       "  1 (restart 0) KSP residual norm 2.634477e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.462e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.958158e-02\n",
       "  1 (restart 0) KSP residual norm 5.243215e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.678e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.889674e-02\n",
       "  1 (restart 0) KSP residual norm 5.140765e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.720e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.063755e-02\n",
       "  1 (restart 0) KSP residual norm 6.344399e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.253e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.142173e-02\n",
       "  1 (restart 0) KSP residual norm 6.014768e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.452e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.496257e-02\n",
       "  1 (restart 0) KSP residual norm 4.297745e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.722e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.547420e-02\n",
       "  1 (restart 0) KSP residual norm 3.983173e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.574e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 8.329822e-03\n",
       "  1 (restart 0) KSP residual norm 1.879375e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.256e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.561516e-02\n",
       "  1 (restart 0) KSP residual norm 2.613163e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.673e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.047855e-02\n",
       "  1 (restart 0) KSP residual norm 2.848006e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.718e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 8.759739e-03\n",
       "  1 (restart 0) KSP residual norm 2.990605e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.414e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 6.286995e-03\n",
       "  1 (restart 0) KSP residual norm 2.101014e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.342e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.778372e-03\n",
       "  1 (restart 0) KSP residual norm 2.850468e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.915e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 8.784799e-03\n",
       "  1 (restart 0) KSP residual norm 2.966719e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.377e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 7.290310e-03\n",
       "  1 (restart 0) KSP residual norm 1.849774e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.537e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.059574e-02\n",
       "  1 (restart 0) KSP residual norm 5.324089e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.585e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.442603e-02\n",
       "  1 (restart 0) KSP residual norm 3.753778e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.602e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.002990e-02\n",
       "  1 (restart 0) KSP residual norm 2.103492e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.097e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 6.250320e-03\n",
       "  1 (restart 0) KSP residual norm 1.989553e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.183e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.506866e-02\n",
       "  1 (restart 0) KSP residual norm 3.500231e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.323e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 8.757929e-03\n",
       "  1 (restart 0) KSP residual norm 3.078165e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.515e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 8.550116e-03\n",
       "  1 (restart 0) KSP residual norm 4.482047e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 5.242e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.374386e-02\n",
       "  1 (restart 0) KSP residual norm 8.491028e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.178e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 7.231626e-03\n",
       "  1 (restart 0) KSP residual norm 1.223005e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.691e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 7.538087e-03\n",
       "  1 (restart 0) KSP residual norm 1.529226e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.029e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.092451e-02\n",
       "  1 (restart 0) KSP residual norm 1.766164e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.617e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.636408e-02\n",
       "  1 (restart 0) KSP residual norm 1.043114e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.374e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.259692e-02\n",
       "  1 (restart 0) KSP residual norm 1.367931e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.086e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.411166e-02\n",
       "  1 (restart 0) KSP residual norm 2.174006e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.541e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.315716e-02\n",
       "  1 (restart 0) KSP residual norm 3.182287e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.419e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.203014e-02\n",
       "  1 (restart 0) KSP residual norm 5.189100e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 4.313e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.372881e-02\n",
       "  1 (restart 0) KSP residual norm 5.116121e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.727e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.130587e-02\n",
       "  1 (restart 0) KSP residual norm 3.024740e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.675e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.846784e-03\n",
       "  1 (restart 0) KSP residual norm 1.393818e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.416e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.377237e-02\n",
       "  1 (restart 0) KSP residual norm 2.193356e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.593e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.290839e-02\n",
       "  1 (restart 0) KSP residual norm 3.980295e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.083e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.083040e-02\n",
       "  1 (restart 0) KSP residual norm 2.868310e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.648e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.212699e-02\n",
       "  1 (restart 0) KSP residual norm 2.442251e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.014e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.419899e-03\n",
       "  1 (restart 0) KSP residual norm 2.486148e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.639e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.598938e-02\n",
       "  1 (restart 0) KSP residual norm 2.014806e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.260e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.552710e-02\n",
       "  1 (restart 0) KSP residual norm 1.644271e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.059e-12)\n",
       " Found 8 converged eigenvalues (sigma = -4.335597e+02)\n",
       " eig 0: kn = 1.881051e+01+8.141599e-14i, n_eff = 2.349687e+00+1.016996e-14i\n",
       " eig 1: kn = 1.601928e+01-1.228360e-11i, n_eff = 2.001025e+00-1.534388e-12i\n",
       " eig 2: kn = 1.565139e+01+7.115304e-11i, n_eff = 1.955070e+00+8.887977e-12i\n",
       " eig 3: kn = 1.424157e+01-2.555066e-12i, n_eff = 1.778965e+00-3.191623e-13i\n",
       " eig 4: kn = 1.182288e+01-1.922184e-09i, n_eff = 1.476837e+00-2.401068e-10i\n",
       " eig 5: kn = 1.130566e+01-2.010941e-11i, n_eff = 1.412229e+00-2.511938e-12i\n",
       " eig 6: kn = 1.007457e+01-1.680705e-07i, n_eff = 1.258450e+00-2.099428e-08i\n",
       " eig 7: kn = 6.863244e+00-1.223660e-07i, n_eff = 8.573120e-01-1.528517e-08i\n",
       "\n",
       "Computing solution error estimates and performing postprocessing\n",
       "\n",
       "     m,       Re{kn} (1/m),       Im{kn} (1/m),          Re{n_eff},          Im{n_eff},      Error (Bkwd.),       Error (Abs.)\n",
       "     1,      +2.351314e+00,      +1.017700e-14,      +2.349687e+00,      +1.016996e-14,      +2.136320e-17,      +1.903122e-13\n",
       "     2,      +2.002411e+00,      -1.535450e-12,      +2.001025e+00,      -1.534388e-12,      +9.245244e-14,      +3.711622e-10\n",
       "     3,      +1.956424e+00,      +8.894130e-12,      +1.955070e+00,      +8.887977e-12,      +8.978772e-13,      +3.382026e-09\n",
       "     4,      +1.780196e+00,      -3.193832e-13,      +1.778965e+00,      -3.191623e-13,      +6.248584e-14,      +1.923923e-10\n",
       "     5,      +1.477860e+00,      -2.402731e-10,      +1.476837e+00,      -2.401068e-10,      +4.696643e-12,      +1.135915e-08\n",
       "     6,      +1.413207e+00,      -2.513677e-12,      +1.412229e+00,      -2.511938e-12,      +1.420458e-13,      +3.301134e-10\n",
       "     7,      +1.259321e+00,      -2.100881e-08,      +1.258450e+00,      -2.099428e-08,      +5.172495e-12,      +1.106860e-08\n",
       "     8,      +8.579056e-01,      -1.529575e-08,      +8.573120e-01,      -1.528517e-08,      +3.141016e-12,      +5.776051e-09\n",
       "\n",
       "\n",
       "Completed 0 iterations of adaptive mesh refinement (AMR):\n",
       " Indicator norm = 2.737e-02, global unknowns = 41630\n",
       " Max. iterations = 0, tol. = 1.000e-02\n",
       "\n",
       "Estimated peak per-rank memory usage is: Min. 296.2M, Max. 296.2M, Avg. 296.2M, Total 296.2M\n",
       "Estimated peak per-node memory usage is: Min. 296.2M, Max. 296.2M, Avg. 296.2M, Total 296.2M\n",
       "\n",
       "Elapsed Time Report (s)           Min.        Max.        Avg.\n",
       "==============================================================\n",
       "Initialization                   0.010       0.010       0.010\n",
       "  Mesh Preprocessing             0.028       0.028       0.028\n",
       "Operator Construction            0.072       0.072       0.072\n",
       "  Preconditioner                 1.419       1.419       1.419\n",
       "Eigenvalue Solve                 0.322       0.322       0.322\n",
       "Estimation                       0.027       0.027       0.027\n",
       "  Construction                   0.109       0.109       0.109\n",
       "  Solve                          0.514       0.514       0.514\n",
       "Postprocessing                   1.613       1.613       1.613\n",
       "Disk IO                          0.009       0.009       0.009\n",
       "--------------------------------------------------------------\n",
       "Total                            4.390       4.390       4.390\n",
       "\n",
       "Peak Memory                   Per-Node       Total   Total HWM\n",
       "==============================================================\n",
       "Initialization                    2.0M        2.0M        2.0M\n",
       "  Mesh Preprocessing              3.4M        3.4M        5.4M\n",
       "Operator Construction            43.9M       43.9M       49.3M\n",
       "  Preconditioner                138.3M      138.3M      187.7M\n",
       "Eigenvalue Solve                 54.4M       54.4M      242.0M\n",
       "Estimation                        0.0K        0.0K      242.0M\n",
       "  Construction                   13.9M       13.9M      255.9M\n",
       "  Solve                           0.0K        0.0K      255.9M\n",
       "Postprocessing                    0.0K        0.0K      255.9M\n",
       "Disk IO                           2.5M        2.5M      258.4M\n",
       "--------------------------------------------------------------\n",
       "Total                           270.8M      270.8M      270.8M
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Palace simulation output
  Running: /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace --serial /tmp/wg_microstrip_l_ocf430_modes/config.json\n",
       ">> /home/runner/.cache/palacetoolkit/runtime/palace-cpu-v0.17.0/bin/palace-x86_64.bin /tmp/wg_microstrip_l_ocf430_modes/config.json\n",
       "\n",
       "_____________     _______\n",
       "_____   __   \\____ __   /____ ____________\n",
       "____   /_/  /  __ ` /  /  __ ` /  ___/  _ \\\n",
       "___   _____/  /_/  /  /  /_/  /  /__/  ___/\n",
       "  /__/     \\___,__/__/\\___,__/\\_____\\_____/\n",
       "\n",
       "Git changeset ID: v0.17.0-272-gb22f654ab\n",
       "Running with 1 MPI process, 1 OpenMP thread\n",
       "Device configuration: omp,cpu\n",
       "Memory configuration: host-std\n",
       "libCEED backend: /cpu/self/xsmm/blocked\n",
       "\n",
       "\n",
       "\u001b[38;2;255;255;000m--> Warning!\u001b[0m\n",
       "One or more external boundary attributes has no associated boundary condition!\n",
       ""PMC"/"ZeroCharge" condition is assumed!\n",
       "\n",
       "Boundary attribute list: 3\n",
       "\n",
       "\n",
       "Characteristic length and time scales:\n",
       " Lc = 8.000e+00 m, tc = 2.669e+01 ns\n",
       "Finished partitioning mesh into 1 subdomain\n",
       "\n",
       "Mesh curvature order: 1\n",
       "Mesh bounding box:\n",
       " (Xmin, Ymin) = (-4.000e+00, -1.000e+00) m\n",
       " (Xmax, Ymax) = (+4.000e+00, +3.000e+00) m\n",
       "\n",
       "Parallel Mesh Stats:\n",
       "\n",
       "                minimum     average     maximum       total\n",
       " vertices          3179        3179        3179        3179\n",
       " edges             8979        8979        8979        8979\n",
       " elements          5800        5800        5800        5800\n",
       " neighbors            0           0           0\n",
       "\n",
       "            minimum     maximum\n",
       " h       0.00498047   0.0257597\n",
       " kappa            1     2.57834\n",
       "\n",
       "Estimated current per-rank memory usage is: Min. 46.1M, Max. 46.1M, Avg. 46.1M, Total 46.1M\n",
       "Estimated current per-node memory usage is: Min. 46.1M, Max. 46.1M, Avg. 46.1M, Total 46.1M\n",
       "\n",
       "Configuring 2D waveguide mode analysis at f = 4.775e-02 GHz (omega = 8.005538e+00)\n",
       " ND space: 29558 DOFs, H1 space: 12158 DOFs, total: 41716\n",
       " Auto kn_target = 2.082210e+01 (from max(mu_r) * max(epsilon_r) = 6.150000e+00)\n",
       "\n",
       "Solving GEP for 8 propagation mode(s)...\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.672495e-01\n",
       "  1 (restart 0) KSP residual norm 4.626304e-13\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.731e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.851741e-02\n",
       "  1 (restart 0) KSP residual norm 7.231570e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.491e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.826787e-02\n",
       "  1 (restart 0) KSP residual norm 4.478372e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.584e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.348667e-02\n",
       "  1 (restart 0) KSP residual norm 6.831571e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.277e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.429727e-02\n",
       "  1 (restart 0) KSP residual norm 5.336451e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.556e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.548361e-02\n",
       "  1 (restart 0) KSP residual norm 1.819592e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.175e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.141036e-02\n",
       "  1 (restart 0) KSP residual norm 1.453892e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.274e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.856787e-02\n",
       "  1 (restart 0) KSP residual norm 3.158466e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.701e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.189564e-02\n",
       "  1 (restart 0) KSP residual norm 1.993472e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.104e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.718210e-02\n",
       "  1 (restart 0) KSP residual norm 4.634373e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.705e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 5.551883e-02\n",
       "  1 (restart 0) KSP residual norm 7.733020e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.393e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.178485e-02\n",
       "  1 (restart 0) KSP residual norm 3.215686e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.012e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.831342e-02\n",
       "  1 (restart 0) KSP residual norm 2.156171e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.177e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.226774e-02\n",
       "  1 (restart 0) KSP residual norm 5.656047e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.338e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.322868e-02\n",
       "  1 (restart 0) KSP residual norm 1.508843e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.496e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.871752e-02\n",
       "  1 (restart 0) KSP residual norm 3.621481e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.261e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.739170e-02\n",
       "  1 (restart 0) KSP residual norm 3.812757e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.392e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.078465e-02\n",
       "  1 (restart 0) KSP residual norm 2.051632e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.871e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.268976e-02\n",
       "  1 (restart 0) KSP residual norm 3.599052e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.586e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.387409e-02\n",
       "  1 (restart 0) KSP residual norm 3.378972e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.415e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.313364e-02\n",
       "  1 (restart 0) KSP residual norm 1.060725e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 8.076e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.672315e-02\n",
       "  1 (restart 0) KSP residual norm 2.857621e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.069e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.618369e-02\n",
       "  1 (restart 0) KSP residual norm 2.501079e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.552e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.390407e-02\n",
       "  1 (restart 0) KSP residual norm 1.805946e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.299e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.396140e-02\n",
       "  1 (restart 0) KSP residual norm 8.327173e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 5.964e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.758650e-02\n",
       "  1 (restart 0) KSP residual norm 1.485667e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 8.448e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.398720e-02\n",
       "  1 (restart 0) KSP residual norm 5.610288e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 4.011e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.699664e-03\n",
       "  1 (restart 0) KSP residual norm 9.929664e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.024e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.454262e-02\n",
       "  1 (restart 0) KSP residual norm 7.226501e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 4.969e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.441937e-02\n",
       "  1 (restart 0) KSP residual norm 4.263677e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.957e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.854154e-02\n",
       "  1 (restart 0) KSP residual norm 1.228985e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.628e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.980567e-02\n",
       "  1 (restart 0) KSP residual norm 9.030380e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 4.559e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.013669e-02\n",
       "  1 (restart 0) KSP residual norm 9.598035e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.469e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.204135e-02\n",
       "  1 (restart 0) KSP residual norm 1.646974e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 7.472e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.120434e-03\n",
       "  1 (restart 0) KSP residual norm 5.087970e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 5.579e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 8.916653e-03\n",
       "  1 (restart 0) KSP residual norm 8.742932e-15\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.805e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.080370e-02\n",
       "  1 (restart 0) KSP residual norm 1.955466e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 9.400e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.361171e-02\n",
       "  1 (restart 0) KSP residual norm 1.688105e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.240e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.389207e-02\n",
       "  1 (restart 0) KSP residual norm 2.362267e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.970e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.650259e-02\n",
       "  1 (restart 0) KSP residual norm 4.675377e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.005e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.955258e-02\n",
       "  1 (restart 0) KSP residual norm 4.898091e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.505e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.278856e-02\n",
       "  1 (restart 0) KSP residual norm 4.305266e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.313e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.907738e-02\n",
       "  1 (restart 0) KSP residual norm 2.992190e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 6.097e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 4.430531e-02\n",
       "  1 (restart 0) KSP residual norm 2.372878e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 5.356e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.109061e-02\n",
       "  1 (restart 0) KSP residual norm 1.645893e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 5.294e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.273742e-02\n",
       "  1 (restart 0) KSP residual norm 1.239942e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 5.453e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.007190e-02\n",
       "  1 (restart 0) KSP residual norm 1.488107e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.477e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.764947e-02\n",
       "  1 (restart 0) KSP residual norm 2.054950e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.164e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 9.448652e-03\n",
       "  1 (restart 0) KSP residual norm 1.563772e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.655e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.231681e-02\n",
       "  1 (restart 0) KSP residual norm 4.667207e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.789e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.193725e-02\n",
       "  1 (restart 0) KSP residual norm 8.500427e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.875e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.923006e-02\n",
       "  1 (restart 0) KSP residual norm 7.314202e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 3.804e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.523147e-02\n",
       "  1 (restart 0) KSP residual norm 4.166477e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.735e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.818984e-02\n",
       "  1 (restart 0) KSP residual norm 4.155497e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.285e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.941056e-02\n",
       "  1 (restart 0) KSP residual norm 5.195462e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.677e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 1.260114e-02\n",
       "  1 (restart 0) KSP residual norm 2.798797e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 2.221e-12)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 3.269761e-02\n",
       "  1 (restart 0) KSP residual norm 2.812905e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 8.603e-13)\n",
       "  Residual norms for GMRES solve\n",
       "  0 (restart 0) KSP residual norm 2.548453e-02\n",
       "  1 (restart 0) KSP residual norm 3.856679e-14\n",
       "GMRES solver converged in 1 iteration (avg. reduction factor: 1.513e-12)\n",
       " Found 8 converged eigenvalues (sigma = -4.335597e+02)\n",
       " eig 0: kn = 1.928932e+01-5.301399e-14i, n_eff = 2.409497e+00-6.622164e-15i\n",
       " eig 1: kn = 1.732341e+01+7.788359e-13i, n_eff = 2.163929e+00+9.728714e-14i\n",
       " eig 2: kn = 1.563027e+01-8.731236e-10i, n_eff = 1.952432e+00-1.090649e-10i\n",
       " eig 3: kn = 1.513689e+01+1.824581e-09i, n_eff = 1.890803e+00+2.279148e-10i\n",
       " eig 4: kn = 1.237103e+01+1.025380e-08i, n_eff = 1.545309e+00+1.280838e-09i\n",
       " eig 5: kn = 1.071790e+01+3.336514e-09i, n_eff = 1.338811e+00+4.167757e-10i\n",
       " eig 6: kn = 1.068004e+01-1.138918e-08i, n_eff = 1.334082e+00-1.422663e-09i\n",
       " eig 7: kn = 6.901992e+00-1.081461e-08i, n_eff = 8.621521e-01-1.350891e-09i\n",
       "\n",
       "Computing solution error estimates and performing postprocessing\n",
       "\n",
       "     m,       Re{kn} (1/m),       Im{kn} (1/m),          Re{n_eff},          Im{n_eff},      Error (Bkwd.),       Error (Abs.)\n",
       "     1,      +2.411165e+00,      -6.626748e-15,      +2.409497e+00,      -6.622164e-15,      +8.243106e-17,      +9.107599e-13\n",
       "     2,      +2.165427e+00,      +9.735449e-14,      +2.163929e+00,      +9.728714e-14,      +4.149759e-17,      +2.112508e-13\n",
       "     3,      +1.953783e+00,      -1.091405e-10,      +1.952432e+00,      -1.090649e-10,      +4.220306e-13,      +1.515202e-09\n",
       "     4,      +1.892112e+00,      +2.280726e-10,      +1.890803e+00,      +2.279148e-10,      +2.711533e-12,      +9.012546e-09\n",
       "     5,      +1.546379e+00,      +1.281725e-09,      +1.545309e+00,      +1.280838e-09,      +8.942471e-13,      +2.166463e-09\n",
       "     6,      +1.339738e+00,      +4.170642e-10,      +1.338811e+00,      +4.167757e-10,      +7.371681e-13,      +1.572136e-09\n",
       "     7,      +1.335005e+00,      -1.423648e-09,      +1.334082e+00,      -1.422663e-09,      +9.616119e-13,      +2.045604e-09\n",
       "     8,      +8.627489e-01,      -1.351826e-09,      +8.621521e-01,      -1.350891e-09,      +8.313958e-12,      +1.464382e-08\n",
       "\n",
       "\n",
       "Completed 0 iterations of adaptive mesh refinement (AMR):\n",
       " Indicator norm = 2.916e-02, global unknowns = 41716\n",
       " Max. iterations = 0, tol. = 1.000e-02\n",
       "\n",
       "Estimated peak per-rank memory usage is: Min. 295.5M, Max. 295.5M, Avg. 295.5M, Total 295.5M\n",
       "Estimated peak per-node memory usage is: Min. 295.5M, Max. 295.5M, Avg. 295.5M, Total 295.5M\n",
       "\n",
       "Elapsed Time Report (s)           Min.        Max.        Avg.\n",
       "==============================================================\n",
       "Initialization                   0.010       0.010       0.010\n",
       "  Mesh Preprocessing             0.028       0.028       0.028\n",
       "Operator Construction            0.075       0.075       0.075\n",
       "  Preconditioner                 1.415       1.415       1.415\n",
       "Eigenvalue Solve                 0.322       0.322       0.322\n",
       "Estimation                       0.027       0.027       0.027\n",
       "  Construction                   0.165       0.165       0.165\n",
       "  Solve                          0.501       0.501       0.501\n",
       "Postprocessing                   1.581       1.581       1.581\n",
       "Disk IO                          0.009       0.009       0.009\n",
       "--------------------------------------------------------------\n",
       "Total                            4.399       4.399       4.399\n",
       "\n",
       "Peak Memory                   Per-Node       Total   Total HWM\n",
       "==============================================================\n",
       "Initialization                    2.0M        2.0M        2.0M\n",
       "  Mesh Preprocessing              3.4M        3.4M        5.4M\n",
       "Operator Construction            44.0M       44.0M       49.4M\n",
       "  Preconditioner                137.5M      137.5M      186.9M\n",
       "Eigenvalue Solve                 54.5M       54.5M      241.4M\n",
       "Estimation                        0.0K        0.0K      241.4M\n",
       "  Construction                   13.8M       13.8M      255.2M\n",
       "  Solve                           0.0K        0.0K      255.2M\n",
       "Postprocessing                    0.0K        0.0K      255.2M\n",
       "Disk IO                           2.5M        2.5M      257.8M\n",
       "--------------------------------------------------------------\n",
       "Total                           270.2M      270.2M      270.2M
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def hammerstad_jensen_eps_eff(er, u):\n", " if u <= 0:\n", " raise ValueError(\"u = w/h must be positive\")\n", " a = 1.0 + (1.0 / 49.0) * np.log((u**4 + (u / 52.0) ** 2) / (u**4 + 0.432))\n", " a += (1.0 / 18.7) * np.log(1.0 + u / 18.1)\n", " b = 0.564 * ((er - 0.9) / (er + 3.0)) ** 0.053\n", " return 0.5 * (er + 1.0) + 0.5 * (er - 1.0) * (1.0 + 10.0 / u) ** (-a * b)\n", "\n", "\n", "def hj_dielectric_alpha(omega, er, eeff, tand):\n", " q = (eeff - 1.0) / max(er - 1.0, 1e-12)\n", " tand_eff = q * tand\n", " beta_hj = omega * np.sqrt(mu_r * eeff)\n", " return 0.5 * beta_hj * tand_eff\n", "\n", "\n", "def hammerstad_jensen_z0(er, u):\n", " eeff = hammerstad_jensen_eps_eff(er, u)\n", " f = 6.0 + (2.0 * np.pi - 6.0) * np.exp(-((30.666 / u) ** 0.7528))\n", " return (60.0 / np.sqrt(eeff)) * np.log(f / u + np.sqrt(1.0 + (2.0 / u) ** 2))\n", "\n", "\n", "def pick_guided_mode(kn_vals, omega, mu_r, eps_air, eps_sub):\n", " k_air = omega * np.sqrt(mu_r * eps_air)\n", " k_sub = omega * np.sqrt(mu_r * eps_sub)\n", " guided = [\n", " kn for kn in kn_vals\n", " if (k_air * 1.001) < kn.real < (k_sub * 0.999) and abs(kn.imag) < 0.05 * max(abs(kn.real), 1e-12)\n", " ]\n", " if guided:\n", " return sorted(guided, key=lambda z: z.real)[-1]\n", " return sorted(kn_vals, key=lambda z: abs(z.imag))[0]\n", "\n", "\n", "validation_cases = [\n", " {\"eps_sub\": 2.2, \"w_over_h\": 0.8},\n", " {\"eps_sub\": 2.2, \"w_over_h\": 1.6},\n", " {\"eps_sub\": 4.4, \"w_over_h\": 1.0},\n", " {\"eps_sub\": 4.4, \"w_over_h\": 2.0},\n", " {\"eps_sub\": 6.15, \"w_over_h\": 1.2},\n", " {\"eps_sub\": 6.15, \"w_over_h\": 2.5},\n", "]\n", "\n", "h_sub_val = 1.0\n", "h_air_val = 3.0\n", "box_w_val = 8.0\n", "strip_t_val = 0.04 * h_sub_val\n", "tand_sub = 0.002\n", "line_length = 40.0 * h_sub_val\n", "eta0 = 376.730313668\n", "meshsize_val = 1.0\n", "\n", "rows = []\n", "for case in validation_cases:\n", " er = case[\"eps_sub\"]\n", " u = case[\"w_over_h\"]\n", " strip_w = u * h_sub_val\n", "\n", " mesh_case = make_microstrip_mesh(\n", " box_w=box_w_val,\n", " h_sub=h_sub_val,\n", " h_air=h_air_val,\n", " strip_w=strip_w,\n", " strip_t=strip_t_val,\n", " lc_bulk=0.18,\n", " lc_strip=0.05,\n", " meshsize=meshsize_val,\n", " )\n", "\n", " solver_case = WaveguideModeSolver(\n", " mesh_file=mesh_case,\n", " order=2,\n", " pec_bdr=pec_bdr,\n", " materials=[\n", " {\"attrs\": [1], \"eps_r\": er, \"mu_r\": mu_r},\n", " {\"attrs\": [2], \"eps_r\": eps_air, \"mu_r\": mu_r},\n", " ],\n", " omega=omega,\n", " )\n", " res_case = solver_case.solve(num_modes=8, mode_idx=1, target=0.0, save=0, num_procs=4)\n", "\n", " kn_vals = [res_case[i].k_n for i in sorted(res_case)]\n", " kn_pick = pick_guided_mode(kn_vals, omega, mu_r, eps_air, er)\n", " eps_eff_solver = (kn_pick.real / omega) ** 2 / mu_r\n", " alpha_solver = hj_dielectric_alpha(omega, er, eps_eff_solver, tand_sub)\n", " s21_solver = np.exp(-alpha_solver * line_length)\n", "\n", " eps_eff_hj = hammerstad_jensen_eps_eff(er, u)\n", " alpha_hj = hj_dielectric_alpha(omega, er, eps_eff_hj, tand_sub)\n", " s21_hj = np.exp(-alpha_hj * line_length)\n", " z0_hj = hammerstad_jensen_z0(er, u)\n", "\n", " eps_eff_err_pct = 100.0 * (eps_eff_solver - eps_eff_hj) / max(eps_eff_hj, 1e-12)\n", " err_pct = 100.0 * (s21_solver - s21_hj) / max(s21_hj, 1e-12)\n", " il_solver_db = -20.0 * np.log10(max(s21_solver, 1e-14))\n", " il_hj_db = -20.0 * np.log10(max(s21_hj, 1e-14))\n", " rows.append((er, u, eps_eff_solver, eps_eff_hj, eps_eff_err_pct, s21_solver, s21_hj, err_pct, z0_hj, il_solver_db, il_hj_db))" ] }, { "cell_type": "code", "execution_count": 8, "id": "d733a2b3", "metadata": { "execution": { "iopub.execute_input": "2026-08-04T15:59:00.806388Z", "iopub.status.busy": "2026-08-04T15:59:00.806193Z", "iopub.status.idle": "2026-08-04T15:59:00.886524Z", "shell.execute_reply": "2026-08-04T15:59:00.885874Z" }, "papermill": { "duration": 0.086755, "end_time": "2026-08-04T15:59:00.887324+00:00", "exception": false, "start_time": "2026-08-04T15:59:00.800569+00:00", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Validation against Hammerstad-Jensen (dielectric loss via |S21|):\n", "tan(delta)=0.0020, normalized line length L=40.00\n", " er w/h eps_eff_num eps_eff_HJ eps_err[%] |S21|_num |S21|_HJ S21_err[%] Z0_HJ[ohm] IL_num[dB] IL_HJ[dB]\n", " 2.20 0.80 1.918006 1.756003 9.226 0.958507 0.967158 -0.894 105.120 0.3681 0.2901\n", " 2.20 1.60 1.997200 1.811757 10.236 0.954111 0.964234 -1.050 74.765 0.4080 0.3164\n", " 4.40 1.00 3.853523 3.166083 21.713 0.936224 0.955669 -2.035 71.100 0.5724 0.3939\n", " 4.40 2.00 4.060380 3.340487 21.551 0.930019 0.950919 -2.198 48.745 0.6302 0.4371\n", " 6.15 1.20 5.528676 4.333185 27.589 0.920622 0.947535 -2.840 55.855 0.7184 0.4681\n", " 6.15 2.50 5.813717 4.635310 25.422 0.913795 0.941021 -2.893 36.316 0.7830 0.5280\n", "\n", "Mean |rel err| in eps_eff: 19.289%\n", "Max |rel err| in eps_eff: 27.589%\n", "Mean |rel err| in |S21|: 1.985%\n", "Max |rel err| in |S21|: 2.893%\n" ] } ], "source": [ "rows = sorted(rows, key=lambda r: (r[0], r[1]))\n", "case_labels = [f\"er={r[0]:.2f}, w/h={r[1]:.2f}\" for r in rows]\n", "x = np.arange(len(rows))\n", "eps_eff_solver_vals = [r[2] for r in rows]\n", "eps_eff_hj_vals = [r[3] for r in rows]\n", "s21_solver_vals = [r[5] for r in rows]\n", "s21_hj_vals = [r[6] for r in rows]\n", "z0_hj_vals = [r[8] for r in rows]\n", "il_solver_vals = [r[9] for r in rows]\n", "il_hj_vals = [r[10] for r in rows]\n", "\n", "print(\"Validation against Hammerstad-Jensen (dielectric loss via |S21|):\")\n", "print(f\"tan(delta)={tand_sub:.4f}, normalized line length L={line_length:.2f}\")\n", "print(\" er w/h eps_eff_num eps_eff_HJ eps_err[%] |S21|_num |S21|_HJ S21_err[%] Z0_HJ[ohm] IL_num[dB] IL_HJ[dB]\")\n", "for er, u, ee_num, ee_hj, ee_err, s21_s, s21_hj, e_pct, z0_hj_i, il_s, il_hj in rows:\n", " print(f\"{er:5.2f} {u:4.2f} {ee_num:12.6f} {ee_hj:12.6f} {ee_err:10.3f} {s21_s:11.6f} {s21_hj:10.6f} {e_pct:11.3f} {z0_hj_i:11.3f} {il_s:12.4f} {il_hj:11.4f}\")\n", "\n", "abs_eps_err = [abs(r[4]) for r in rows]\n", "abs_s21_err = [abs(r[7]) for r in rows]\n", "print(f\"\\nMean |rel err| in eps_eff: {np.mean(abs_eps_err):.3f}%\")\n", "print(f\"Max |rel err| in eps_eff: {np.max(abs_eps_err):.3f}%\")\n", "print(f\"Mean |rel err| in |S21|: {np.mean(abs_s21_err):.3f}%\")\n", "print(f\"Max |rel err| in |S21|: {np.max(abs_s21_err):.3f}%\")\n", "\n", "fig, axes = plt.subplots(3, 1, figsize=(10, 10), sharex=True)\n", "axes[0].plot(x, eps_eff_solver_vals, \"o-\", lw=1.8, label=\"Numerical (solver-derived)\")\n", "axes[0].plot(x, eps_eff_hj_vals, \"s--\", lw=1.8, label=\"Analytic (Hammerstad-Jensen)\")\n", "axes[0].set_ylabel(\"Effective Permittivity\")\n", "axes[0].set_title(\"Validation: Numerical vs Analytic\")\n", "axes[0].grid(True, alpha=0.3)\n", "axes[0].legend()\n", "\n", "axes[1].plot(x, s21_solver_vals, \"o-\", lw=1.8, label=\"Numerical (solver-derived)\")\n", "axes[1].plot(x, s21_hj_vals, \"s--\", lw=1.8, label=\"Analytic (Hammerstad-Jensen)\")\n", "axes[1].set_ylabel(\"|S21|\")\n", "axes[1].grid(True, alpha=0.3)\n", "axes[1].legend()\n", "\n", "axes[2].plot(x, il_solver_vals, \"o-\", lw=1.8, label=\"Numerical (solver-derived)\")\n", "axes[2].plot(x, il_hj_vals, \"s--\", lw=1.8, label=\"Analytic (Hammerstad-Jensen)\")\n", "axes[2].set_ylabel(\"Insertion Loss [dB]\")\n", "axes[2].set_xlabel(\"Validation case\")\n", "axes[2].grid(True, alpha=0.3)\n", "axes[2].legend()\n", "\n", "axes[2].set_xticks(x)\n", "axes[2].set_xticklabels(case_labels, rotation=25, ha=\"right\")\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 9, "id": "f3512fcf", "metadata": { "execution": { "iopub.execute_input": "2026-08-04T15:59:00.898161Z", "iopub.status.busy": "2026-08-04T15:59:00.897941Z", "iopub.status.idle": "2026-08-04T15:59:01.059556Z", "shell.execute_reply": "2026-08-04T15:59:01.058830Z" }, "papermill": { "duration": 0.168117, "end_time": "2026-08-04T15:59:01.060524+00:00", "exception": false, "start_time": "2026-08-04T15:59:00.892407+00:00", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "# Note: Field-based impedance calculations (Z0_VI, Z0_C) are no longer available\n", "# via the solver API. Use Palace VTU output with pyvista for field post-processing." ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.12.13" }, "papermill": { "default_parameters": {}, "duration": 35.324128, "end_time": "2026-08-04T15:59:01.580702+00:00", "environment_variables": {}, "exception": null, "input_path": "docs/examples/microstrip_modes.ipynb", "output_path": "docs/examples/microstrip_modes.ipynb", "parameters": {}, "start_time": "2026-08-04T15:58:26.256574+00:00", "version": "2.7.0" } }, "nbformat": 4, "nbformat_minor": 5 }