{ "cells": [ { "cell_type": "markdown", "id": "0", "metadata": {}, "source": [ "# HFSS Driven Modal Simulation of an Interdigital Capacitor\n", "\n", "This notebook demonstrates how to set up and run a driven modal (S-parameter)\n", "simulation of an interdigital capacitor using PyAEDT (Ansys HFSS Python interface).\n", "\n", "Driven modal analysis computes scattering parameters (S-parameters) of structures\n", "with ports, enabling characterization of coupling capacitance, insertion loss,\n", "and frequency-dependent behavior.\n", "\n", "**Prerequisites:**\n", "- Ansys HFSS installed (requires license)\n", "- Install hfss extras: `uv sync --extra hfss` or `pip install qpdk[hfss]`\n", "\n", "**References:**\n", "- PyAEDT Documentation: https://aedt.docs.pyansys.com/\n", "- HFSS Driven Modal Examples: https://examples.aedt.docs.pyansys.com/\n", "- Interdigital Capacitor Theory: {cite:p}`leizhuAccurateCircuitModel2000`" ] }, { "cell_type": "markdown", "id": "1", "metadata": {}, "source": [ "## Setup and Imports" ] }, { "cell_type": "code", "execution_count": 1, "id": "2", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:33:32.511228Z", "iopub.status.busy": "2026-04-29T08:33:32.511138Z", "iopub.status.idle": "2026-04-29T08:33:32.513396Z", "shell.execute_reply": "2026-04-29T08:33:32.513174Z" }, "tags": [ "hide-input", "hide-output" ] }, "outputs": [], "source": [ "import sys\n", "\n", "if \"google.colab\" in sys.modules:\n", " import subprocess\n", "\n", " print(\"Running in Google Colab. Installing QPDK...\")\n", " subprocess.check_call([\n", " sys.executable,\n", " \"-m\",\n", " \"pip\",\n", " \"install\",\n", " \"-q\",\n", " \"qpdk[models] @ git+https://github.com/gdsfactory/quantum-rf-pdk.git\",\n", " ])" ] }, { "cell_type": "code", "execution_count": 2, "id": "3", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:33:32.514230Z", "iopub.status.busy": "2026-04-29T08:33:32.514119Z", "iopub.status.idle": "2026-04-29T08:33:32.515545Z", "shell.execute_reply": "2026-04-29T08:33:32.515354Z" }, "tags": [ "hide-input", "hide-output" ] }, "outputs": [], "source": [ "import os\n", "import tempfile\n", "import time\n", "from pathlib import Path\n", "\n", "import gdsfactory as gf\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from ansys.aedt.core import Hfss, Q3d, settings\n", "from IPython.display import Image, display\n", "\n", "from qpdk import PDK\n", "from qpdk.cells.capacitor import interdigital_capacitor\n", "from qpdk.cells.waveguides import straight_open\n", "from qpdk.config import PATH\n", "from qpdk.models.capacitor import interdigital_capacitor_capacitance_analytical\n", "from qpdk.models.cpw import cpw_ep_r_from_cross_section\n", "from qpdk.simulation import HFSS, Q3D, prepare_component_for_aedt\n", "from qpdk.tech import coplanar_waveguide\n", "\n", "PDK.activate()\n", "\n", "# Create an interdigital capacitor\n", "# This design has 6 fingers with 20µm finger length\n", "cpw_width, cpw_gap = 10, 6\n", "cross_section = coplanar_waveguide(width=cpw_width, gap=cpw_gap)\n", "idc_component = interdigital_capacitor(\n", " fingers=6, # Number of interleaved fingers\n", " finger_length=20.0, # Length of each finger in µm\n", " finger_gap=2.0, # Gap between adjacent fingers in µm\n", " thickness=5.0, # Finger width in µm\n", " cross_section=cross_section,\n", ")\n", "\n", "# Attach straight open waveguides to the ports to provide a feedline\n", "# for the lumped ports in HFSS.\n", "c = gf.Component(name=\"idc_with_feeds\")\n", "idc_ref = c << idc_component\n", "open_wvg = straight_open(length=5, cross_section=cross_section)\n", "\n", "# Connect feedlines to both ports\n", "feed1 = c << open_wvg\n", "feed1.connect(\"o1\", idc_ref.ports[\"o1\"])\n", "c.add_port(\"o1\", port=feed1.ports[\"o2\"])\n", "\n", "feed2 = c << open_wvg\n", "feed2.connect(\"o1\", idc_ref.ports[\"o2\"])\n", "c.add_port(\"o2\", port=feed2.ports[\"o2\"])\n", "\n", "# Use the combined component for the rest of the notebook\n", "idc_component = c\n", "\n", "# Visualize the component\n", "idc_component.show()\n", "print(f\"Interdigital capacitor bounding box: {idc_component.bbox}\")\n", "print(f\"Number of ports: {len(idc_component.ports)}\")\n", "for port in idc_component.ports:\n", " print(f\" {port.name}: center={port.center}, orientation={port.orientation}°\")" ] }, { "cell_type": "markdown", "id": "6", "metadata": {}, "source": [ "## Estimate Capacitance\n", "\n", "Before running the full-wave simulation, we can estimate the mutual capacitance\n", "using the analytical conformal mapping model for interdigital capacitors\n", "{cite:p}`igrejaAnalyticalEvaluationInterdigital2004`.\n", "\n", "For a structure with $n$ fingers of width $w$, gap $g$, and overlap length $L$,\n", "the metallization ratio is $\\eta = \\frac{w}{w + g}$. The interior and exterior\n", "capacitances per unit length are derived using the complete elliptic integrals\n", "of the first kind $K(k)$:\n", "\n", "$$ \\eta = \\frac{w}{w + g}, \\quad k_i = \\sin\\left(\\frac{\\pi \\eta}{2}\\right), \\quad k_e = \\frac{2\\sqrt{\\eta}}{1 + \\eta} $$\n", "\n", "$$ C_i = \\epsilon_0 (\\epsilon_r + 1) \\frac{K(k_i)}{K(k_i')}, \\quad C_e = \\epsilon_0 (\\epsilon_r + 1) \\frac{K(k_e)}{K(k_e')} $$\n", "\n", "The total mutual capacitance for $n$ fingers is then:\n", "\n", "$$ C = \\begin{cases} C_e L / 2 & \\text{if } n=2 \\\\ (n - 3) \\frac{C_i L}{2} + 2 \\frac{C_i C_e L}{C_i + C_e} & \\text{if } n > 2 \\end{cases} $$" ] }, { "cell_type": "code", "execution_count": 4, "id": "7", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:33:34.784585Z", "iopub.status.busy": "2026-04-29T08:33:34.782898Z", "iopub.status.idle": "2026-04-29T08:33:35.071585Z", "shell.execute_reply": "2026-04-29T08:33:35.071173Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Estimated capacitance: 8.19 fF\n" ] } ], "source": [ "# Get substrate permittivity from cross-section\n", "ep_r = cpw_ep_r_from_cross_section(cross_section)\n", "\n", "# Analytical estimate using QPDK model\n", "C_estimate = interdigital_capacitor_capacitance_analytical(\n", " fingers=6,\n", " finger_length=20.0,\n", " finger_gap=2.0,\n", " thickness=5.0,\n", " ep_r=float(ep_r),\n", ")\n", "print(f\"Estimated capacitance: {float(C_estimate) * 1e15:.2f} fF\")" ] }, { "cell_type": "markdown", "id": "8", "metadata": {}, "source": [ "## Initialize HFSS Project\n", "\n", "Set up an HFSS project for driven modal analysis with ports.\n", "\n", "**Note:** This section requires Ansys HFSS to be installed and licensed." ] }, { "cell_type": "code", "execution_count": 5, "id": "9", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:33:35.072717Z", "iopub.status.busy": "2026-04-29T08:33:35.072589Z", "iopub.status.idle": "2026-04-29T08:33:35.074592Z", "shell.execute_reply": "2026-04-29T08:33:35.074324Z" } }, "outputs": [], "source": [ "# Configuration for HFSS simulation\n", "HFSS_CONFIG = {\n", " \"solution_frequency_ghz\": 5.0, # Adaptive mesh at 5 GHz\n", " \"sweep_start_ghz\": 0.1, # Sweep from 100 MHz\n", " \"sweep_stop_ghz\": 20.0, # to 20 GHz\n", " \"sweep_points\": 401, # Number of frequency points\n", " \"max_passes\": 16,\n", " \"max_delta_s\": 0.002, # 0.2% S-parameter convergence\n", "}" ] }, { "cell_type": "markdown", "id": "10", "metadata": {}, "source": [ "## Build HFSS Model (Example Code)\n", "\n", "The following demonstrates the complete workflow for driven modal simulation:\n", "1. Create HFSS project with \"DrivenModal\" solution type\n", "2. Build capacitor geometry with ports\n", "3. Configure frequency sweep\n", "4. Run simulation and extract S-parameters\n", "\n", "```{note}\n", "This code requires Ansys HFSS. The structure below shows the complete workflow.\n", "```" ] }, { "cell_type": "code", "execution_count": 6, "id": "11", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:33:35.075633Z", "iopub.status.busy": "2026-04-29T08:33:35.075535Z", "iopub.status.idle": "2026-04-29T08:35:01.836759Z", "shell.execute_reply": "2026-04-29T08:35:01.836432Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Python version 3.12.13 (main, Mar 3 2026, 14:59:34) [Clang 21.1.4 ].\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: PyAEDT version 0.26.2.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Initializing new Desktop session.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: AEDT version 2025.2.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: New AEDT session is starting on gRPC port 54607.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Starting new AEDT gRPC session on port 54607.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Launching AEDT server with gRPC transport mode: TransportMode.UDS\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Electronics Desktop started on gRPC port 54607 after 9.2 seconds.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: AEDT installation Path /usr/ansys_inc/v252/AnsysEM\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Connected to AEDT gRPC session on port 54607.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT WARNING: Service Pack is not detected. PyAEDT is currently connecting in Insecure Mode.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT WARNING: Please download and install latest Service Pack to use connect to AEDT in Secure Mode.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Project idc_driven has been created.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Added design 'InterdigitalCapacitor' of type HFSS.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: AEDT objects correctly read\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Modeler class has been initialized! Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "HFSS project created: /tmp/tmpcw93m0pr.ansys_qpdk/idc_driven.aedt\n", "Design name: InterdigitalCapacitor\n", "Solution type: Modal\n" ] } ], "source": [ "# Example HFSS driven modal simulation workflow\n", "# This code block demonstrates the full workflow but requires HFSS license\n", "\n", "# Ensure Ansys path is set so PyAEDT can find it\n", "ansys_default_path = \"/usr/ansys_inc/v252/AnsysEM\"\n", "if \"ANSYSEM_ROOT252\" not in os.environ and Path(ansys_default_path).exists():\n", " os.environ[\"ANSYSEM_ROOT252\"] = ansys_default_path\n", "\n", "settings.use_grpc_uds = False\n", "\n", "\n", "# Create temporary directory for project\n", "temp_dir = tempfile.TemporaryDirectory(suffix=\".ansys_qpdk\")\n", "project_path = Path(temp_dir.name) / \"idc_driven.aedt\"\n", "\n", "# Initialize HFSS with Driven Modal solution\n", "hfss = Hfss(\n", " project=str(project_path),\n", " design=\"InterdigitalCapacitor\",\n", " solution_type=\"DrivenModal\",\n", " non_graphical=False,\n", " new_desktop=True,\n", " version=\"2025.2\",\n", ")\n", "hfss.modeler.model_units = \"um\"\n", "\n", "print(f\"HFSS project created: {hfss.project_file}\")\n", "print(f\"Design name: {hfss.design_name}\")\n", "print(f\"Solution type: {hfss.solution_type}\")" ] }, { "cell_type": "markdown", "id": "12", "metadata": {}, "source": [ "## Build Interdigital Capacitor Geometry\n", "\n", "Import the gdsfactory component geometry into HFSS using native GDS import.\n", "This uses `Hfss.import_gds_3d` which automatically handles 3D layer mapping." ] }, { "cell_type": "code", "execution_count": 7, "id": "13", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:35:01.837652Z", "iopub.status.busy": "2026-04-29T08:35:01.837570Z", "iopub.status.idle": "2026-04-29T08:35:03.165158Z", "shell.execute_reply": "2026-04-29T08:35:03.164838Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: GDS layer imported with elevations and thickness.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Boundary Perfect E PEC_Sheets has been created.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "GDS import successful: True\n", "PyAEDT INFO: Materials class has been initialized! Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Created substrate: Substrate\n", "Created air region: AirRegion\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Boundary Radiation Rad__Q0YHW6 has been created.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Assigned radiation boundary to air region\n" ] } ], "source": [ "# Prepare component for export\n", "prepared_component = prepare_component_for_aedt(idc_component, margin_draw=50)\n", "\n", "# Initialize HFSS wrapper\n", "hfss_sim = HFSS(hfss)\n", "\n", "# Import the component geometry using native GDS import\n", "success = hfss_sim.import_component(prepared_component, import_as_sheets=True)\n", "print(f\"GDS import successful: {success}\")\n", "\n", "# Add substrate below the component\n", "substrate_name = hfss_sim.add_substrate(\n", " prepared_component,\n", " thickness=500.0,\n", " material=\"silicon\",\n", ")\n", "print(f\"Created substrate: {substrate_name}\")\n", "\n", "# Add air region for driven simulation\n", "air_region_name = hfss_sim.add_air_region(\n", " prepared_component,\n", " height=500.0,\n", " substrate_thickness=500.0,\n", " pec_boundary=False,\n", ")\n", "print(f\"Created air region: {air_region_name}\")\n", "\n", "# Assign radiation boundary to outer faces for driven analysis\n", "hfss.assign_radiation_boundary_to_objects(air_region_name)\n", "print(\"Assigned radiation boundary to air region\")" ] }, { "cell_type": "markdown", "id": "b65151a1", "metadata": {}, "source": [ "### Geometry Verification\n", "Here is the 3D geometry of the interdigital capacitor, ready for simulation in HFSS.\n", "\n", "![HFSS geometry](../docs/_static/images/hfss_driven_capacitor_geom.jpg)" ] }, { "cell_type": "code", "execution_count": 8, "id": "bb78c580", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:35:03.166230Z", "iopub.status.busy": "2026-04-29T08:35:03.166140Z", "iopub.status.idle": "2026-04-29T08:35:03.293929Z", "shell.execute_reply": "2026-04-29T08:35:03.293556Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Parsing /tmp/tmpcw93m0pr.ansys_qpdk/idc_driven.aedt.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: File /tmp/tmpcw93m0pr.ansys_qpdk/idc_driven.aedt correctly loaded. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: aedt file load time 0.0027740001678466797\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: PostProcessor class has been initialized! Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: PostProcessor class has been initialized! Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Post class has been initialized! Elapsed time: 0m 0sec\n" ] }, { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAIYAggDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD7LooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKxvGviTTfCPhe98RasZfsdmgZ1iALsSQoVQSASSQOoql8NvG+jePvDn9uaItzHAJmgeK5VVkjdcHBCsRyCCOehoA6aiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoornLrxRFdAw+HkGoO3AvAM2kX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UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVznjT/j+8N/9hRv/SS5ro65zxp/x/eG/wDsKN/6SXNAE1FFFABRRRQBW1Gws9RgEN7bpMqtvQn70bgEB0YcqwycMCCOxrNaPVNK5H/Ex05O3zG6hT9fPxn/AGXwv/LRjzt0UAcl4XuoLqwuHgk3YvroMpBVkJmdtrKeVbBBwQCM07UdZtreZ7O3/wBLvhx5EZPyEjI8xgCIxg5y3JAO0MeKzNXt4U0abUI08q8/tN7f7RGSknlSXzIybhzjDtx2OGGCARPa28FrAsFtBFBEudqRoFUZOTgD3oAguILnUv8AkMSxTQnn7EiDyB6bs8yEZ6nCnAOwEA1boooAKKKKACug+GH+p17/ALCg/wDSW3rn66D4Yf6nXv8AsKD/ANJbegDsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuc8af8f3hv/sKN/wCklzXR1znjT/j+8N/9hRv/AEkuaAJqKKKACiiigAooooA4bWv+RWm/7DQ/9OIqaoda/wCRWm/7DQ/9OIqagAooooAKKKKACug+GH+p17/sKD/0lt65+ug+GH+p17/sKD/0lt6AOwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5zxp/wAf3hv/ALCjf+klzXR1znjT/j+8N/8AYUb/ANJLmgCaiiigAooooAKKKKAOG1r/AJFab/sND/04ipqzPFun/bvDDH7de22zWHTFvLs3b77bk8ckZyPQ81z/AIS0+eXXn1C01zWbrSrYNEhu7syrdS8glRgDYvrzlhxXTToRnTlPmtbyf3X7v+tjOU2pJW3OzooormNAooooAK6D4Yf6nXv+woP/AElt65+ug+GH+p17/sKD/wBJbegDsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo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eLceRtct/wDn59lu2vIv+XnS1lueqeH9OOk6Laaa17d3zQRhGubqVpJZW7szMSck5+nQcCr1ZfhTVZdb8PWep3Gm3mmzzR5ltbqFo5InHDKQwBIznB7jBrUrrhblXLseBiVUVaaq/Fd323vrtp92nbQKKKKoxCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAryP8Aaj/5Fbw5/wBh5f8A0juq9cryP9qP/kVvDn/YeX/0juqcdwZ4hRRRWpIUUUUAFFFFAHL+Pv8Aj3n5z81v/wChJXK11Xj3H2efH963/wDQkrlalgFFFFIAooooAK+s/wBjlcfDHUD9o83drMp25/1X7mEbf03dvvV8mV9ZfsbrAPhlqZidmdtalMoP8LeRBwP+A7T+NJ7DR7XRRRUjCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvI/2o/+RW8Of9h5f/SO6r1yvI/2o/8AkVvDn/YeX/0juqcdwZ4hRRRWpIUUUUAFFFFAHL+Pv+PefjHzW/8A6ElcrXVePs/Z589d1v8A+hJXK1LAKKKKQBRRRQAV9ZfsbypJ8MtTRYlQx61KrMP4z5EByfwIH4V8m19Z/sc/aP8AhWOoed9z+2ZfJ6fc8mHPT/a3df8ACk9ho9qoooqRhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXkf7Uf/ACK3hz/sPL/6R3VeuV5H+1H/AMit4c/7Dy/+kd1TjuDPEKKKK1JCiiigAooooA5fx9/x7z85+a3/APQkrla6rx7j7NPjP3rf/wBCSuVqWAUUUUgCiiigAr6z/Y5XHwx1A/aPN3azKduf9V+5hG39N3b71fJlfWH7Gvk/8K01Xy9+7+25fM3Yxu+zwdPbG38c0nsNHttFFFSMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8j/AGo/+RW8Of8AYeX/ANI7qvXK8j/aj/5Fbw5/2Hl/9I7qnHcGeIUUUVqSFFFFABRRRQBy/j05tp+APmt//Qkrla6rx9n7PPnrut//AEJK5WpYBRRRSAKKKKACvrL9jcufhlqYaFYwNalCsFx5g8iD5ie/ORn2x2r5Nr6z/Y5+0f8ACsdQ877n9sy+T0+55MOen+1u6/4UnsNHtVFFFSMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8j/aj/5Fbw5/2Hl/9I7qvXK8j/aj/wCRW8Of9h5f/SO6px3BniFFFFakhRRRQAUUUUAcv49x9mnwc/Nb/wDoSVytdV49x9mnxn71v/6ElcrUsAooopAFFFFABX1h+xqsa/DTVSku9m1uUuNuNh+zwDHvwAc+/tXyfX1h+xr5P/CtNV8vfu/tuXzN2Mbvs8HT2xt/HNJ7DR7bRRRUjCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiqHiG4sLXQ7y51O4e3soomaaRJWjZVHoyEMD6YOaqMeaSS6ibsrl+iuL+Fun6mlpd63qNxqSLqTh7Swu72Wf7JAPuZ8xmO9hy3PoOMYrtK0r0lSqOCd7f1+GxMJc0b2sFFFFYlhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXkf7Uf/IreHP8AsPL/AOkd1XrleR/tR/8AIreHP+w8v/pHdU47gzxCiiitSQooooAKKKKAOX8e/wDHvPkY+a3/APQkrla6rx7n7PPn+9b/APoSVytSwCiiikAUUUUAFfWH7Gsm/wCGmqr5aL5etyrlRgt/o8ByfU84+gFfJ9fWX7G6Tr8MtTMpbY2tSmLLZ+XyIBx6fMGpPYaPa6KKKkYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVBf2dnqFpJZ39rBd20mN8M0YdGwcjKng8gGp6rasLs6VdiwJF2YH8gjHEm07fvcdcdeKqF+ZWdhS2Zzfw0Ph270+81DRdP0K3lS/urOVtNhjT5Y53EYYr3Mflvz13AgAEV1teJfspfbzZ+LGKsulNqim3DMpPn+WPN6AN93yOvHpzur22urMKbp4mcG72f9dzLDy5qcXbcKKKK4zYKK5LUvH+j6fc6jZXFrqAv7K7htVsxGhlumm/1bQjdhlPzckjG1sgYrraiNSM21F7GcKsJtqLvb+v0CiiirNAooooAKKKKACiiigAooooAK8j/aj/AORW8Of9h5f/AEjuq9cryP8Aaj/5Fbw5/wBh5f8A0juqcdwZ4hRRRWpIUUUUAFFFKAScAEn2oA5bx7j7NPg5+a3/APQkrla674gwSx2crvGyozwYbtncg6/ga5GlIAoooqQCiiigAr6w/Y1WNfhpqpSXeza3KXG3Gw/Z4Bj34AOff2r5Pr6u/YzKf8K11farAjXZNxJzk/Z7fpxxxj1pPYaPb6KKKkYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVBcXUcLBNrySEZCIMnHv2HfqR0qpLdSTzNEN8EYZlVh1kwSCM4wOh4B3cZ4rivitDBLplppl1dSWGmXUjtd3KRs/zKuVDY+9uOTzySoPY114TDe3qxpt2v8/+H9Dmr4j2UW0it8AtH1Pwr4b1az12zktXuNYmnjY4KlPLjTJxyBmNuSMYwc4Iz6hXyD8Pzc6L8YNEl0D7QxuLr7LcQruKyQscSFlGOFH7zJ4BUE8DFfT2tXiaLpNxepeQWSxodnnkeTvPCgjIxyexXOea683w7p4qTbu3qZYWt+7SsbGpX1lptlJe6jeW9nax43zXEojRckAZZiAMkgfU1xFl8YfAmp+K7PwvoWqSa1q11dNbiGziO1AqszymR9qMiqhOVZieNoavO5LXx58XfEd7oz+I4bHwdp13Ebqa1tyj3R3PIEjLLhio2DDkbR5bFHbr6F8HvhRoPw5hurm2YX+sXpIudQeIIdmciNFydi8AkZJZuScBQvhOVVzslZd/8jVyryqcsVaPfv6GxrPhf7d8R9B8UCOzKada3EMhcHzSz7fLK8YwP3nUjG7jqa6miitIwjFtrrqbQpxg211d3/XyCiiirLCiiigAooooAKKKKACiiigAryP9qP8A5Fbw5/2Hl/8ASO6r1yvI/wBqP/kVvDn/AGHl/wDSO6px3BniFFFFakhRUsEEkpG0cdz2q/b2scXzH5m9TTsDZUt7R5Pmb5V9+tXoYUiXCjnue5qSimTc534jgHwfdg/89IP/AEcleY/On+0v6j/H/PWvT/iN/wAihd/9dIP/AEcleZ1EhoRWVhlTn+lLTWQE5+6394daTcy/6zGP7w/r6VIx9FAIIyDkGigAr6w/Y18z/hWmq702r/bcuw7Mbh9ng5z35yM+2O1fJ9fWH7Gvmf8ACtNV3vuX+25dg352j7PBxjtzk49896T2Gj22iiipGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAYuo6ro+j6HPe65d21rZrNNuacjDEO7bQOrNhSQoBJxwKj0PUtO1rTl1Lw7qVtqdk2PuS7mQ7Q20k8hsEfI2CM8kdK8z/aIV7bStI1qfSXv9Ms571Lpg21YzI6iPcRyASOoGMgAkFhnhf2QtVvrr4m+I7eyjmGjvp3mXB8vconWYCHc+3hijTYAI3YY4+Xjyv7SrLMHhuT3e+va/p5Hz/wDaVWWZPByp+5Za632vftboeneJ/Hvh3wXJPpGjaNGLxZN00EMKwxq5C8sQME7e4z90V4jr/jW88Tak0eo6uJ5M5SANtQfeI2L0OATzyQOprZ+NM0dv8QNelmtjcxiQbogxXcCig8jp6/hXhjNLc+KbCK3VnEEyzzlR9xFIYk/h/Qd67MVjZU60YWvfc+/yfh2njcvrYuU7OLtFK2rtfXr2SS3v8j77+GP/ACT7Q/8Arzj/AJV0dcV8F9f0bWvAemw6XqVtdTWdskdzCj/vIGyy4dD8y5KNgkcgZGRzXa108ylqndHhTpToy5KkWpLdNWa+TCiiigkKKKKACiiigAooooAKKKKACiiigAryP9qP/kVvDn/YeX/0juq9crgPjn4V1jxX4b06LRYreefT9RF68Ek3ltMggmjKIcEbyZBgMVX1ZetNbgz51RHc4RSTV6CyVcGQ7j6dqnCfZb2502eBrS/tGCXVpLgSwsem4AnggZDAlWGCpIIJkrczbAADpRRRQIKKKKAOe+I3/IoXf/XSD/0cleZ16Z8Rv+RQu/8ArpB/6OSvM6iRSCiiipGNKYOUO0nrxwaBIM4cbT79D9DTqCARgjINABX1d+xmE/4Vrq+1mJOuybgRjB+z2/TnnjHpXydtZOVJYf3Tz+R/xr6w/YveN/hnq5jDAjXZQ+Wzlhb2/T09O/Q0nsNHuFFFFSMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAhltwXMsLeTKerKo+f0DDuP19CKzdB0zRvDVm1jp2j6bo1q8hkK2NssMLsQAWYKAFYgKOfYZOK2KKPUXKr3PnHxz4Z1vxH8UtZg0mxkmH2hQ0pGI0+VAct043A4647V6F8P/g74e8MyR3dysd5dpJ5ihYwkKuM/NsHU429c8rXpFvBDboUgjWNSxYhRjk1JVN66Cimla55L8Q/hParfReLvAcEumeIrJ0e3t7JooYpDyrY3DahKsd3VWAYFSWJrP8AhP4m8baB4hTwp43s9UuNOurgwWGrXylXjuNrEwu7HEiuUYoVZiCQoLKw2e1UVx/VVGfPTdvLo/ke/wD27UrYV4bFwVTtJ/HHtaW7S7O+78rcfq/xD0bS9cn0K5tNR/tVJ4IbezWNDJeCXO2SL5sFBhtxJG3ac9s9hXm/iPwX4o1Lxt/wmVvqVhDqGmzRx6Ral28lrbkTLM2zIdwzfdB27V5PUekVdGVRylzrTp6f1+nc58xpYOnTovDSvJr39W7S00V0tLdddeZbRTZRRRW55QUUUUAFFFFABRRRQAUUUUAFFFFAGF4y8J6H4rsRb6tZo00asLW8RVFxaM2MtE5B2k7VyOVYDDBlJB8Y8Y/DjxJ4aV7u1L+INLDAB7a3c3sYJIXfCgPmgfLl48HLf6tVBYfQlFNSaE1c+SrW5t7u3W4tZ4p4XztkjcMpwcHBHHUVLXvfj34b6J4okfUID/ZGsty1/bQpmchQqrOpH71Bhe4cAEK6Bmz4p4u0DWvCE0o1+0dLFGITVo0/0SVcgBmIJ8gnco2y4yxKo0mNx1UkyGrGfRRRVCOe+I3/ACKF3/10g/8ARyV5nXpnxG/5FC7/AOukH/o5K8zqJFIKKKfDHJPcQ20EUk088ixQxRqWeR2OFVVHLMTwAOTUjGVe0DR9W8QaqmlaHpt1qV84BENvGWKqWC72PREyQC7EKM8kV7B8Lv2e9a1+Eaj4xmuvD9icGK0jVDdzKUyGJORDglfldSxwwKpgE/S/g/wvoPhHRho/h3To7CzEjSlFZnZ3bqzOxLMcADLE4AA6AAJsdjxn4afs5WWm3Vvqfje/h1SeJw66bar/AKISC3EjOA0oPyNtwgyCrB1Ne82dtbWVpDZ2dvFb20EaxQwxIESNFGFVVHAAAAAHSpaKm4wooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK871seIdZ+Keq6JZeM9Z0GwsNE0+6SLT7eyfzJZ571XZjPBKfu28YABA6+tAHolFcJ/wAIp4l/6Kv4x/8AAXSf/kKj/hFPEv8A0Vfxj/4C6T/8hUAd3RXCf8Ip4l/6Kv4x/wDAXSf/AJCo/wCEU8S/9FX8Y/8AgLpP/wAhUAd3RXCf8Ip4l/6Kv4x/8BdJ/wDkKj/hFPEv/RV/GP8A4C6T/wDIVAHd0Vwn/CKeJf8Aoq/jH/wF0n/5Co/4RTxL/wBFX8Y/+Auk/wDyFQB3dFcJ/wAIp4l/6Kv4x/8AAXSf/kKj/hFPEv8A0Vfxj/4C6T/8hUAYviv4OWMnmXfhC9/smblvsE+ZLNzycL/HBk7VGwmNFHERNeTalBfaTqCabrmnXWk30mfLhulA83ADHy3UlJcAgnYzbcgNg8V7n/winiX/AKKv4x/8BdJ/+Qqpa78PtV1zSbjStV+J3i+6s7hdskbWulDoQQQRZAqwIBDAgqQCCCAatTaJcT52+I3/ACKF3/10g/8ARyV5nXYftjaJf/C3TvC+n6J4s1vUbfVhcC4XUktZCPIMBTDJCjZy5JJJzge+fnmx8deJrO+ivI722leLO1LmwgniORj5o5EZG68ZBwcEYIzQ5JgkfTnww+Dvi3xxJFctbyaJosiFxqV3BkSDaGXyoiytIG3KQ/CY3EMSNp+o/hp8MfCfgBZJNFtp5r+aPypr+7k8yeRNxbbwAqDpkIq7tqlskA18A/8ADUfx2/6Hn/yk2X/xmj/hqP47f9Dz/wCUmy/+M1LZR+mVFfmb/wANR/Hb/oef/KTZf/GaP+Go/jt/0PP/AJSbL/4zSA/TKivzN/4aj+O3/Q8/+Umy/wDjNH/DUfx2/wCh5/8AKTZf/GaAP0yor8zf+Go/jt/0PP8A5SbL/wCM0f8ADUfx2/6Hn/yk2X/xmgD9MqK/M3/hqP47f9Dz/wCUmy/+M0f8NR/Hb/oef/KTZf8AxmgD9MqK/M3/AIaj+O3/AEPP/lJsv/jNe5/sU/Gb4lfET4p6nonjHxJ/adhBokt1HF9ht4dsqzwKGzHGp+67DGcc/SgD6/ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5HxB4Jl1LxVN4j07xf4g0C7uLGCynSwSzeOVIXmeMkXFvKQwNxJ0IBBHHFdJrF9Fpmk3mpTKzRWkDzuF6lUUscflXG/DzxP4k1DVotN8TxaUJb7SIdXtDYRyIIkdtrwvvZt7LlMSDaGyflXHIBN/whGv/wDRV/Gf/gNpP/yFR/whGv8A/RV/Gf8A4DaT/wDIVdtRQBxP/CEa/wD9FX8Z/wDgNpP/AMhUf8IRr/8A0Vfxn/4DaT/8hV21FAHE/wDCEa//ANFX8Z/+A2k//IVH/CEa/wD9FX8Z/wDgNpP/AMhV21FAHE/8IRr/AP0Vfxn/AOA2k/8AyFR/whGv/wDRV/Gf/gNpP/yFXbUUAcT/AMIRr/8A0Vfxn/4DaT/8hUf8IRr/AP0Vfxn/AOA2k/8AyFXbUUAcT/whGv8A/RV/Gf8A4DaT/wDIVH/CEa//ANFX8Z/+A2k//IVdtXCfEHxN4ksNZbS/DEWlebZ6RNq122oRyOJURgqQpsZdjN8+ZDuC4HytngA5P4l/s86L8SP7P/4TTx34z1T+zvM+y86fD5fmbd/+qtFznYvXOMcd643/AIYq+Fn/AEH/ABn/AOBlt/8AI9e4a7q+sXXhKx1zw9faJpVtNAt5c3msRvJHbwGPfnYjpk9MkuoUZPPSr/gXVb7XPB2k6xqdl9hvLy1SWWABgFJHUBgGAPUBuQDg80AeAf8ADFXws/6D/jP/AMDLb/5Ho/4Yq+Fn/Qf8Z/8AgZbf/I9fTNFAHzN/wxV8LP8AoP8AjP8A8DLb/wCR6P8Ahir4Wf8AQf8AGf8A4GW3/wAj19M0UAfM3/DFXws/6D/jP/wMtv8A5Ho/4Yq+Fn/Qf8Z/+Blt/wDI9fTNFAHzN/wxV8LP+g/4z/8AAy2/+R6P+GKvhZ/0H/Gf/gZbf/I9fTNFAHzN/wAMVfCz/oP+M/8AwMtv/kej/hir4Wf9B/xn/wCBlt/8j19M0UAfM3/DFXws/wCg/wCM/wDwMtv/AJHruvgp+z14L+E3iq58R+HNT8QXV3c2L2TpfzwvGEZ43JASJDuzGvfGCeK7Xx1rOt2mo6JoXhw6fFqOrTS4uL+F5oYYooy7Hy0dCzE7FA3DG4nnGDDpXjZZvhzY+J7uyP225UQrYQNuaa73GPyYycZBdThjgBfmbABIAOworiNC8a3S/B9/G/iC1txdW1ncXFzb2ZOxmiZxsQtzztABPc9qr6x8SYfDt5/ZWsaJq97e2sNl/aNzptsjW0UtyxjiVQ0m875RtAAYjILYHNAHf0V5te/GLRrO2eSfw34lEttBd3GoQLBAz2EVq6pO8pEu0hdytiNnLA/KCeKuP8REktzdJpF9p6WWrWllqNvqESrMIroqkMybHYbd0sZO7kKHBVSKAO9ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAGXEMVxbyW88ayRSoUdGGQykYIP4VzPgnwPYeFrmS5h1PVdSl+yxWVu1/Mjm2toySkKbUX5QW5ZtztgZY4FFFAHU0UUUAFFFFABRRRQAUUUUAFFFFABXLeNvBFj4puI7iXVNV0yYWstlO+nyohuLaQqXhfcjfKSowy7XXnawyaKKAK/i3wHH4gtLWz/4SbW9MtLO7juba3tI7Roo9kaokZSWBw6KVMgDhiHOQflQL0+lWs9lp0Frc6jdalNGuHurlY1llPqwjREz/uqB7UUUAWqKKKACiiigAooooAKKKKACiiigDC8X+GYPESWUn9pahpV9YTGa0vrBkE0RZGRh+8R0ZWViCGU9iMEAinH4B8MvoVr4f1LTrfWdEtIIo7fT9TtobqFJE35n+dCxlYOQzEkccAEsWKKAK9n8OfDum/DS/wDAWkQLYadeQTxF4YkRlaXP7zCqoLAkY4/hHpUkvguDVEmvdanlTUb7+zJb0Wsg8pZbKYTp5e5M7S+Qc8lem080UUAVr34aaFdtrrSXepA63Z31nc7ZE+RLsqZCnycEbBtzkDnINTa94Jivr55ILhhFf6jY3WoiVv4LQh41jAX+J44w2T90tjsKKKAOwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9k=", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Ensure HFSS model fits the screen\n", "hfss.modeler.fit_all()\n", "\n", "# Save screenshot\n", "img_dir = PATH.repo / \"docs\" / \"_static\" / \"images\"\n", "img_dir.mkdir(parents=True, exist_ok=True)\n", "hfss_img_path = img_dir / \"hfss_driven_capacitor_geom.jpg\"\n", "hfss.post.export_model_picture(\n", " full_name=str(hfss_img_path), show_axis=True, show_grid=False, show_ruler=True\n", ")\n", "\n", "# Display in notebook\n", "display(Image(filename=str(hfss_img_path)))" ] }, { "cell_type": "markdown", "id": "14", "metadata": {}, "source": [ "## Create Lumped Ports\n", "\n", "Add lumped ports at both ends of the capacitor to measure S-parameters.\n", "The ports are placed at the CPW feed locations." ] }, { "cell_type": "code", "execution_count": 9, "id": "15", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:35:03.295046Z", "iopub.status.busy": "2026-04-29T08:35:03.294934Z", "iopub.status.idle": "2026-04-29T08:35:03.421808Z", "shell.execute_reply": "2026-04-29T08:35:03.421479Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Creating lumped ports.\n", "PyAEDT INFO: Boundary Lumped Port o1 has been created.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Boundary Lumped Port o2 has been created.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " Created o1 at (-23.0, 0.0) with orientation 180.0°\n", " Created o2 at (23.0, 0.0) with orientation 0.0°\n" ] } ], "source": [ "\n", "print(\"Creating lumped ports.\")\n", "\n", "hfss_sim.add_lumped_ports(prepared_component.ports, cpw_gap, cpw_width)\n", "for port in prepared_component.ports:\n", " print(\n", " f\" Created {port.name} at {port.center} with orientation {port.orientation}°\"\n", " )" ] }, { "cell_type": "markdown", "id": "16", "metadata": {}, "source": [ "## Configure Driven Modal Analysis\n", "\n", "Set up the solution with frequency sweep to compute S-parameters\n", "across the desired frequency range." ] }, { "cell_type": "code", "execution_count": 10, "id": "17", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:35:03.422654Z", "iopub.status.busy": "2026-04-29T08:35:03.422572Z", "iopub.status.idle": "2026-04-29T08:35:03.673981Z", "shell.execute_reply": "2026-04-29T08:35:03.673590Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Linear count sweep FrequencySweep has been correctly created\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Driven modal setup configured:\n", " - Solution frequency: 5.0 GHz\n", " - Sweep range: 0.1 - 20.0 GHz\n", " - Number of points: 401\n" ] } ], "source": [ "# Create driven modal setup\n", "setup = hfss.create_setup(\n", " name=\"DrivenSetup\",\n", " Frequency=f\"{HFSS_CONFIG['solution_frequency_ghz']}GHz\",\n", ")\n", "\n", "setup.props[\"MaxDeltaS\"] = HFSS_CONFIG[\"max_delta_s\"]\n", "setup.props[\"MaximumPasses\"] = HFSS_CONFIG[\"max_passes\"]\n", "setup.props[\"MinimumPasses\"] = 2\n", "setup.props[\"PercentRefinement\"] = 30\n", "setup.update()\n", "\n", "# Create frequency sweep\n", "sweep = setup.create_frequency_sweep(\n", " unit=\"GHz\",\n", " name=\"FrequencySweep\",\n", " start_frequency=HFSS_CONFIG[\"sweep_start_ghz\"],\n", " stop_frequency=HFSS_CONFIG[\"sweep_stop_ghz\"],\n", " sweep_type=\"Interpolating\",\n", " num_of_freq_points=HFSS_CONFIG[\"sweep_points\"],\n", ")\n", "\n", "print(\"Driven modal setup configured:\")\n", "print(f\" - Solution frequency: {HFSS_CONFIG['solution_frequency_ghz']} GHz\")\n", "print(\n", " f\" - Sweep range: {HFSS_CONFIG['sweep_start_ghz']} - {HFSS_CONFIG['sweep_stop_ghz']} GHz\"\n", ")\n", "print(f\" - Number of points: {HFSS_CONFIG['sweep_points']}\")" ] }, { "cell_type": "markdown", "id": "18", "metadata": {}, "source": [ "## Run Simulation\n", "\n", "Execute the driven modal analysis with frequency sweep." ] }, { "cell_type": "code", "execution_count": 11, "id": "19", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:35:03.674893Z", "iopub.status.busy": "2026-04-29T08:35:03.674805Z", "iopub.status.idle": "2026-04-29T08:36:24.544508Z", "shell.execute_reply": "2026-04-29T08:36:24.544159Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting driven modal analysis...\n", "(This may take several minutes)\n", "PyAEDT INFO: Project idc_driven Saved correctly\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Key Desktop/ActiveDSOConfigurations/HFSS correctly changed.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solving design setup DrivenSetup\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Design setup DrivenSetup solved correctly in 0.0h 1.0m 21.0s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Key Desktop/ActiveDSOConfigurations/HFSS correctly changed.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Analysis completed in 80.8 seconds\n" ] } ], "source": [ "print(\"Starting driven modal analysis...\")\n", "print(\"(This may take several minutes)\")\n", "\n", "# Save project before analysis\n", "hfss.save_project()\n", "\n", "# Run the analysis\n", "start_time = time.time()\n", "success = hfss.analyze_setup(\"DrivenSetup\", cores=4)\n", "elapsed = time.time() - start_time\n", "\n", "if not success:\n", " print(\"\\nERROR: HFSS simulation failed!\")\n", "else:\n", " print(f\"Analysis completed in {elapsed:.1f} seconds\")" ] }, { "cell_type": "markdown", "id": "20", "metadata": {}, "source": [ "## Extract and Plot S-Parameters\n", "\n", "Get the S-parameters from the simulation and visualize the results." ] }, { "cell_type": "code", "execution_count": 12, "id": "21", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:36:24.545525Z", "iopub.status.busy": "2026-04-29T08:36:24.545379Z", "iopub.status.idle": "2026-04-29T08:36:25.021827Z", "shell.execute_reply": "2026-04-29T08:36:25.021518Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly loaded. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly parsed. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly loaded. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly parsed. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly loaded. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly parsed. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly loaded. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly parsed. Elapsed time: 0m 0sec\n" ] }, { "data": { "image/png": "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ysnJsV9T/cgjj+jzzz/X4sWL9e6778pqtapp06a6//77NXHixEqviV6azz//XHFxcerXr1+VHRMAUHuYjOqcSQUAAKCKpaWlKT4+XrNmzdLYsWMrfZxx48YpOjq61FnKy9qXl5enJk2aaPLkyXrwwQcr/dgAgNqLa7oBAECNFhISokmTJun555+3zyBfEQUFBcrNzZXVai329bn2SdL8+fNlNpvLXSsdAFC3MdINAADqtGnTpmn69OnFts2fP1+jR48udx8AAI4gdAMAAAAA4CScXg4AAAAAgJMQugEAAAAAcBJCNwAAAAAATlJr1uk+ePCgnnrqKS1btkyJiYmKiYnRP/7xDz322GPy9va2t9uyZYvGjx+v33//XREREbr//vs1adIkhx/HZrMpISFBQUFBMplMzngqAAAAAAA3ZxiGMjIyFBMTIw+Psseza03o3rVrl2w2m+bOnavmzZtr27ZtuvPOO5WVlaUXXnhBkpSenq6BAweqf//+mjNnjrZu3aoxY8YoNDRUd911l0OPk5CQoNjYWGc+FQAAAABADXHkyBE1atSozP21evby559/XrNnz9b+/fslSbNnz9Zjjz2mxMRE++j35MmT9c0332jXrl0OHTMtLU2hoaE6cuSIgoODnVZ7RVgsFi1evFgDBw6U2Wx2dTk4C33jvugb90XfuDf6x33RN+6LvnFf9I37qgl9k56ertjYWKWmpiokJKTMdrVmpLs0aWlpql+/vv322rVr1adPn2Knmw8aNEgzZ87U6dOnVa9evRLHyMvLU15env12RkaGJMnPz09+fn5OrN5xXl5e8vf3l5+fn9t+Q9ZV9I37om/cF33j3ugf90XfuC/6xn3RN+6rJvSNxWKRpHNedlxrR7r37t2rLl266IUXXtCdd94pSRo4cKCaNm2quXPn2tvt2LFD7dq1044dO9SmTZsSx5k2bZqmT59eYvtHH30kf39/5z0BAAAAAIDbys7O1siRI5WWllbuWdBuP9I9efJkzZw5s9w2O3fuVOvWre23jx07psGDB2v48OH2wF1ZU6ZM0cMPP2y/XXQKwcCBA93q9PIlS5ZowIABbvtfoLqKvnFf9I37om/cG/3jvugb90XfuC/6xn3VhL5JT093qJ3bh+5HHnlEo0ePLrdNfHy8/euEhARddtll6tmzp956661i7aKjo3XixIli24pu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UId4uboAR02fPl2SyhyZHjNmTLHb8fHxWrt2rb766ivdd999kqQ5c+aoadOmevHFFyVJbdq00erVq/Xyyy9r0KBBziseAAAAAFAn1ZiR7spIS0tT/fr17bfXrl2r/v37F2szaNAgrV27trpLAwAAAADUATVmpLui1qxZo08//VQ//PCDfVtiYqKioqKKtYuKilJ6erpycnLk5+dX4jh5eXnKy8uz305LS5MkpaSkyGKxOKn6irFYLMrOzlZycrLMZrOry8FZ6Bv3Rd+4L/rGvdE/7ou+cV/0jfuib9xXTeibjIwMSZJhGOW2c2nonjx5smbOnFlum507d6p169YVOu62bdt09dVX64knntDAgQPPp0TNmDHDfmr72Zo2bXpexwUAAAAA1HwZGRkKCQkpc79LQ/cjjzyi0aNHl9smPj6+QsfcsWOHLr/8ct111116/PHHi+2Ljo7WiRMnim07ceKEgoODSx3llqQpU6bo4Ycftt+22WxKSUlRWFiYTCZThWpzlvT0dMXGxurIkSMKDg52dTk4C33jvugb90XfuDf6x33RN+6LvnFf9I37qgl9YxiGMjIyFBMTU247l4buiIgIRUREVNnxtm/frn79+mnUqFF65plnSuzv0aOHfvzxx2LblixZoh49epR5TB8fH/n4+BTbVtqSZe4gODjYbb8h6zr6xn3RN+6LvnFv9I/7om/cF33jvugb9+XufVPeCHeRGnNN9+HDh5WSkqLDhw/LarVq8+bNkqTmzZsrMDBQ27ZtU79+/TRo0CA9/PDDSkxMlCR5enrag/24ceP0xhtvaNKkSRozZoyWLVumzz77rNh13wAAAAAAVJUaE7qnTp2qd9991367U6dOkqTly5erb9+++uKLL3Ty5El98MEH+uCDD+ztGjdurIMHD0oqvA77hx9+0EMPPaRXX31VjRo10ttvv81yYQAAAAAAp6gxoXvBggVlrtEtSdOmTdO0adPOeZy+fftq06ZNVVeYG/Dx8dETTzxR4jR4uB59477oG/dF37g3+sd90Tfui75xX/SN+6pNfWMyzjW/OQAAAAAAqBQPVxcAAAAAAEBtRegGAAAAAMBJCN0AAAAAADgJoRsAAAAAACchdNcQ//nPf9SkSRP5+vqqe/fuWrduXbntP//8c7Vu3Vq+vr668MIL9eOPP1ZTpXXHjBkzdNFFFykoKEiRkZG65pprtHv37nLvs2DBAplMpmIfvr6+1VRx3TJt2rQSr3Xr1q3LvQ/vm+rRpEmTEn1jMpk0fvz4UtvzvnGen3/+WcOGDVNMTIxMJpO++eabYvsNw9DUqVPVoEED+fn5qX///vrzzz/PedyK/s5CSeX1jcVi0aOPPqoLL7xQAQEBiomJ0W233aaEhIRyj1mZn4so6Vzvm9GjR5d4nQcPHnzO4/K+OX/n6pvSfveYTCY9//zzZR6T903VcOTv5tzcXI0fP15hYWEKDAzU9ddfrxMnTpR73Mr+nqpuhO4a4NNPP9XDDz+sJ554Qhs3blSHDh00aNAgJSUlldp+zZo1uvnmmzV27Fht2rRJ11xzja655hpt27atmiuv3VauXKnx48fr119/1ZIlS2SxWDRw4EBlZWWVe7/g4GAdP37c/nHo0KFqqrjuadeuXbHXevXq1WW25X1TfX7//fdi/bJkyRJJ0vDhw8u8D+8b58jKylKHDh30n//8p9T9s2bN0muvvaY5c+bot99+U0BAgAYNGqTc3Nwyj1nR31koXXl9k52drY0bN+rf//63Nm7cqK+++kq7d+/WVVdddc7jVuTnIkp3rveNJA0ePLjY6/zxxx+Xe0zeN1XjXH1zdp8cP35c8+bNk8lk0vXXX1/ucXnfnD9H/m5+6KGH9N133+nzzz/XypUrlZCQoOuuu67c41bm95RLGHB73bp1M8aPH2+/bbVajZiYGGPGjBmlth8xYoQxdOjQYtu6d+9u3H333U6ts65LSkoyJBkrV64ss838+fONkJCQ6iuqDnviiSeMDh06ONye943rPPjgg0azZs0Mm81W6n7eN9VDkvH111/bb9tsNiM6Otp4/vnn7dtSU1MNHx8f4+OPPy7zOBX9nYVz+3vflGbdunWGJOPQoUNltqnoz0WcW2l9M2rUKOPqq6+u0HF431Q9R943V199tdGvX79y2/C+cY6//92cmppqmM1m4/PPP7e32blzpyHJWLt2banHqOzvKVdgpNvN5efna8OGDerfv799m4eHh/r376+1a9eWep+1a9cWay9JgwYNKrM9qkZaWpokqX79+uW2y8zMVOPGjRUbG6urr75a27dvr47y6qQ///xTMTExio+P1y233KLDhw+X2Zb3jWvk5+frgw8+0JgxY2Qymcpsx/um+h04cECJiYnF3hchISHq3r17me+LyvzOQtVIS0uTyWRSaGhoue0q8nMRlbdixQpFRkaqVatWuueee5ScnFxmW943rnHixAn98MMPGjt27Dnb8r6pen//u3nDhg2yWCzF3getW7dWXFxcme+DyvyechVCt5s7deqUrFaroqKiim2PiopSYmJiqfdJTEysUHucP5vNpgkTJuiSSy7RBRdcUGa7Vq1aad68efr222/1wQcfyGazqWfPnjp69Gg1Vls3dO/eXQsWLNDChQs1e/ZsHThwQL1791ZGRkap7XnfuMY333yj1NRUjR49usw2vG9co+h7vyLvi8r8zsL5y83N1aOPPqqbb75ZwcHBZbar6M9FVM7gwYP13nvv6X//+59mzpyplStXasiQIbJaraW2533jGu+++66CgoLOefoy75uqV9rfzYmJifL29i7xj8NzZZ6iNo7ex1W8XF0AUBuMHz9e27ZtO+c1Pj169FCPHj3st3v27Kk2bdpo7ty5euqpp5xdZp0yZMgQ+9ft27dX9+7d1bhxY3322WcO/Vcb1eOdd97RkCFDFBMTU2Yb3jdA2SwWi0aMGCHDMDR79uxy2/JzsXrcdNNN9q8vvPBCtW/fXs2aNdOKFSt0+eWXu7AynG3evHm65ZZbzjkxJ++bqufo3821CSPdbi48PFyenp4lZu47ceKEoqOjS71PdHR0hdrj/Nx33336/vvvtXz5cjVq1KhC9zWbzerUqZP27t3rpOpQJDQ0VC1btizzteZ9U/0OHTqkpUuX6o477qjQ/XjfVI+i7/2KvC8q8zsLlVcUuA8dOqQlS5aUO8pdmnP9XETViI+PV3h4eJmvM++b6rdq1Srt3r27wr9/JN4356usv5ujo6OVn5+v1NTUYu3PlXmK2jh6H1chdLs5b29vdenSRf/73//s22w2m/73v/8VG/k5W48ePYq1l6QlS5aU2R6VYxiG7rvvPn399ddatmyZmjZtWuFjWK1Wbd26VQ0aNHBChThbZmam9u3bV+Zrzfum+s2fP1+RkZEaOnRohe7H+6Z6NG3aVNHR0cXeF+np6frtt9/KfF9U5ncWKqcocP/5559aunSpwsLCKnyMc/1cRNU4evSokpOTy3yded9Uv3feeUddunRRhw4dKnxf3jeVc66/m7t06SKz2VzsfbB7924dPny4zPdBZX5PuYyLJ3KDAz755BPDx8fHWLBggbFjxw7jrrvuMkJDQ43ExETDMAzj1ltvNSZPnmxv/8svvxheXl7GCy+8YOzcudN44oknDLPZbGzdutVVT6FWuueee4yQkBBjxYoVxvHjx+0f2dnZ9jZ/75vp06cbixYtMvbt22ds2LDBuOmmmwxfX19j+/btrngKtdojjzxirFixwjhw4IDxyy+/GP379zfCw8ONpKQkwzB437ia1Wo14uLijEcffbTEPt431ScjI8PYtGmTsWnTJkOS8dJLLxmbNm2yz4D93HPPGaGhoca3335rbNmyxbj66quNpk2bGjk5OfZj9OvXz3j99dftt8/1OwuOKa9v8vPzjauuuspo1KiRsXnz5mK/g/Ly8uzH+HvfnOvnIhxTXt9kZGQY//znP421a9caBw4cMJYuXWp07tzZaNGihZGbm2s/Bu8b5zjXzzTDMIy0tDTD39/fmD17dqnH4H3jHI783Txu3DgjLi7OWLZsmbF+/XqjR48eRo8ePYodp1WrVsZXX31lv+3I7yl3QOiuIV5//XUjLi7O8Pb2Nrp162b8+uuv9n2XXnqpMWrUqGLtP/vsM6Nly5aGt7e30a5dO+OHH36o5oprP0mlfsyfP9/e5u99M2HCBHs/RkVFGVdccYWxcePG6i++DrjxxhuNBg0aGN7e3kbDhg2NG2+80di7d699P+8b11q0aJEhydi9e3eJfbxvqs/y5ctL/TlW9PrbbDbj3//+txEVFWX4+PgYl19+eYk+a9y4sfHEE08U21be7yw4pry+OXDgQJm/g5YvX24/xt/75lw/F+GY8vomOzvbGDhwoBEREWGYzWajcePGxp133lkiPPO+cY5z/UwzDMOYO3eu4efnZ6SmppZ6DN43zuHI3805OTnGvffea9SrV8/w9/c3rr32WuP48eMljnP2fRz5PeUOTIZhGM4ZQwcAAAAAoG7jmm4AAAAAAJyE0A0AAAAAgJMQugEAAAAAcBJCNwAAAAAATkLoBgAAAADASQjdAAAAAAA4CaEbAAAAAAAnIXQDAAC3kJ+fr+bNm2vNmjUuq2Hy5Mm6//77Xfb4AIDah9ANAIATjB49WiaTqcTH3r17XV2a25ozZ46aNm2qnj17Ftu+fPlyXXnllYqIiJCvr6+aNWumG2+8UT///LO9zYoVK2QymZSamlriuE2aNNErr7ziUA3//Oc/9e6772r//v3n81QAALAjdAMA4CSDBw/W8ePHi300bdq0RLv8/HwXVOdeDMPQG2+8obFjxxbb/uabb+ryyy9XWFiYPv30U+3evVtff/21evbsqYceeqjK6wgPD9egQYM0e/bsKj82AKBuInQDAOAkPj4+io6OLvbh6empvn376r777tOECRPsIU+Stm3bpiFDhigwMFBRUVG69dZbderUKfvxsrKydNtttykwMFANGjTQiy++qL59+2rChAn2NiaTSd98802xOkJDQ7VgwQL77SNHjmjEiBEKDQ1V/fr1dfXVV+vgwYP2/aNHj9Y111yjF154QQ0aNFBYWJjGjx8vi8Vib5OXl6dHH31UsbGx8vHxUfPmzfXOO+/IMAw1b95cL7zwQrEaNm/eXO5I/4YNG7Rv3z4NHTrUvu3w4cOaMGGCJkyYoHfffVf9+vVT48aN1b59ez344INav369o11ht2DBglLPQJg2bZq9zbBhw/TJJ59U+NgAAJSG0A0AgAu8++678vb21i+//KI5c+YoNTVV/fr1U6dOnbR+/XotXLhQJ06c0IgRI+z3mThxolauXKlvv/1Wixcv1ooVK7Rx48YKPa7FYtGgQYMUFBSkVatW6ZdfflFgYKAGDx5cbMR9+fLl2rdvn5YvX653331XCxYsKBbcb7vtNn388cd67bXXtHPnTs2dO1eBgYEymUwaM2aM5s+fX+xx58+frz59+qh58+al1rVq1Sq1bNlSQUFB9m1ffvmlLBaLJk2aVOp9TCZThZ67JN14443Fzjz4+OOP5eXlpUsuucTeplu3bjp69Gixf0QAAFBZXq4uAACA2ur7779XYGCg/faQIUP0+eefS5JatGihWbNm2fc9/fTT6tSpk5599ln7tnnz5ik2NlZ79uxRTEyM3nnnHX3wwQe6/PLLJRUG90aNGlWopk8//VQ2m01vv/22PbTOnz9foaGhWrFihQYOHChJqlevnt544w15enqqdevWGjp0qP73v//pzjvv1J49e/TZZ59pyZIl6t+/vyQpPj7e/hijR4/W1KlTtW7dOnXr1k0Wi0UfffRRidHvsx06dEgxMTHFtu3Zs0fBwcGKjo62b/vyyy81atQo++21a9fqwgsvtN8u7fXIzs62f+3n5yc/Pz9J0r59+zR+/Hg9++yzGjBggL1NUR2HDh1SkyZNyqwZAABHELoBAHCSyy67rNi1wQEBAfavu3TpUqztH3/8oeXLlxcL6UX27dunnJwc5efnq3v37vbt9evXV6tWrSpU0x9//KG9e/cWG1GWpNzcXO3bt89+u127dvL09LTfbtCggbZu3Sqp8FRxT09PXXrppaU+RkxMjIYOHap58+apW7du+u6775SXl6fhw4eXWVdOTo58fX1LbP/7aPagQYO0efNmHTt2TH379pXVai22f9WqVSWeW9++fUscNy0tTVdeeaWGDh2qiRMnFttXFMrPDusAAFQWoRsAACcJCAgo83TqswO4JGVmZmrYsGGaOXNmibYNGjRweNZzk8kkwzCKbTv7WuzMzEx16dJFH374YYn7RkRE2L82m80ljmuz2ST9FUrLc8cdd+jWW2/Vyy+/rPnz5+vGG2+Uv79/me3Dw8Ptob5IixYtlJaWpsTERPtod2BgoJo3by4vr9L/hGnatKlCQ0OLbft7W6vVqhtvvFHBwcF66623ShwjJSVFUvHXAwCAyuKabgAA3EDnzp21fft2NWnSRM2bNy/2ERAQoGbNmslsNuu3336z3+f06dPas2dPseNERETo+PHj9tt//vlnsRHbzp07688//1RkZGSJxwkJCXGo1gsvvFA2m00rV64ss80VV1yhgIAAzZ49WwsXLtSYMWPKPWanTp20a9euYv8wuOGGG2Q2m0v9R8T5eOihh7R161Z98803pY6ub9u2TWazWe3atavSxwUA1E2EbgAA3MD48eOVkpKim2++Wb///rv27dunRYsW6fbbb5fValVgYKDGjh2riRMnatmyZdq2bZtGjx4tD4/iv8r79eunN954Q5s2bdL69es1bty4YqPWt9xyi8LDw3X11Vdr1apVOnDggFasWKEHHnhAR48edajWJk2aaNSoURozZoy++eYb+zE+++wzextPT0+NHj1aU6ZMUYsWLdSjR49yj3nZZZcpMzNT27dvt2+Li4vTiy++qFdffVWjRo3S8uXLdfDgQW3cuFGvvfaa/XEqYv78+XrzzTc1Z84cmUwmJSYmKjExUZmZmfY2q1atUu/evR0a0QcA4FwI3QAAuIGYmBj98ssvslqtGjhwoC688EJNmDBBoaGh9mD9/PPPq3fv3ho2bJj69++vXr16lbg2/MUXX1RsbKx69+6tkSNH6p///Gex07r9/f31888/Ky4uTtddd53atGmjsWPHKjc3V8HBwQ7XO3v2bN1www2699571bp1a915553Kysoq1mbs2LHKz8/X7bfffs7jhYWF6dprry1x2vv999+vxYsX6+TJk7rhhhvUokULXXHFFTpw4IAWLlxYbBI1R6xcuVJWq1VXXXWVGjRoYP84e5K3Tz75RHfeeWeFjgsAQFlMxt8v/AIAADVG37591bFjR73yyiuuLqWEVatW6fLLL9eRI0cUFRV1zvZbtmzRgAEDtG/fvlInlKsOP/30kx555BFt2bKlzOvGAQCoCEa6AQBAlcrLy9PRo0c1bdo0DR8+3KHALUnt27fXzJkzdeDAASdXWLasrCzNnz+fwA0AqDL8RgEAAFXq448/1tixY9WxY0e99957Fbrv6NGjnVOUg2644QaXPj4AoPbh9HIAAAAAAJyE08sBAAAAAHASQjcAAAAAAE5C6AYAAAAAwEkI3QAAAAAAOAmhGwAAAAAAJyF0AwAAAADgJIRuAAAAAACchNANAAAAAICTELoBAAAAAHASQjcAAAAAAE5C6AYAAAAAwEkI3QAAAAAAOAmhGwAAAAAAJyF0AwAAAADgJIRuAAAAAACchNANAAAAAICTELoBAAAAAHASQjcAADXYggULZDKZdPDgQVeX4vZmzZql1q1by2azVevjzpkzR3FxccrLy6vWxwUAuAdCNwCgzisKruvXr3d1KWVas2aNpk2bptTUVFeXYlcTXrci6enpmjlzph599FF5eBT/82fLli265ZZb1LBhQ3l7eys6Olq9evXS9OnTq+SxR48erfz8fM2dO7dKjgcAqFkI3QAA1ABr1qzR9OnTS4TuW2+9VTk5OWrcuLFrCqsh5s2bp4KCAt18883Ftn/11Ve66KKLtG7dOt1999168803ddddd8lms+mDDz6oksf29fXVqFGj9NJLL8kwjCo5JgCg5vBydQEAAKBsWVlZCggIKHO/p6enPD09q7Gimmn+/Pm66qqr5Ovra992+vRpjRkzRhdddJGWLVsmb29v+74nn3xSCQkJVfb4I0aM0KxZs7R8+XL169evyo4LAHB/jHQDAPA306ZNk8lk0t69ezV69GiFhoYqJCREt99+u7Kzs4u1zcjI0IQJE9SkSRP5+PgoMjJSAwYM0MaNG4u1O3bsmMaMGaOoqCj5+PioXbt2mjdvXqmPu2PHDo0cOVL16tVTr169NG3aNE2cOFGS1LRpU5lMJvt13GVd071p0yYNGTJEwcHBCgwM1OWXX65ff/210s/zfDhSiyOvo6Ov9d8dOHBAW7ZsUf/+/YttX7p0qdLS0jR27NhigbtITEzMeTzr4rp06aL69evr22+/rbJjAgBqBka6AQAow4gRI9S0aVPNmDFDGzdu1Ntvv63IyEjNnDnT3mbcuHH64osvdN9996lt27ZKTk7W6tWrtXPnTnXu3FmSdOLECV188cUymUy67777FBERoZ9++kljx45Venq6JkyYUOxxhw8frhYtWujZZ5+VYRjq1auX9uzZo48//lgvv/yywsPDJUkRERGl1r19+3b17t1bwcHBmjRpksxms+bOnau+fftq5cqV6t69e4WfZ2U5Wosjr6MjbUqzZs0aSSrRJisrS1LhNd3VoXPnzvrll1+q5bEAAG7EAACgjps/f74hyfj9998NwzCMJ554wpBkjBkzpli7a6+91ggLCyu2LSQkxBg/fny5xx87dqzRoEED49SpU8W233TTTUZISIiRnZ1d7HFvvvnmEsd4/vnnDUnGgQMHSq397O3XXHON4e3tbezbt8++LSEhwQgKCjL69Olj31aR51mav79upXG0FkdeR0falObxxx83JBkZGRnFth88eNDw9/c3JBktWrQwJk2aZCxbtswoKCio8GM44q677jL8/PyccmwAgPvi9HIAAMowbty4Yrd79+6t5ORkpaen27eFhobqt99+K/P6X8Mw9OWXX2rYsGEyDEOnTp2yfwwaNEhpaWklTo/+++NWhNVq1eLFi3XNNdcoPj7evr1BgwYaOXKkVq9eXax+R5+ns2s51+voaJvSJCcny8vLS4GBgcW2N27cWGvXrtWIESOUkJCgWbNmqV+/foqPj9fSpUsr9BiOqFevnnJycqr01H0AgPsjdAMAUIa4uLhit+vVqyepcAKuIrNmzdK2bdsUGxurbt26adq0adq/f799/8mTJ5Wamqq33npLERERxT5uv/12SVJSUlKxx2natGmlaz558qSys7PVqlWrEvvatGkjm82mI0eOVPh5OruWc72OjrapqPbt2+vTTz9VSkqKli9frttvv11HjhzRTTfdZA/HeXl5GjNmjOLi4hQcHKyLL75Ya9eutR9j9uzZ6ty5s8xms6ZNm1bmYxlnZi43mUznVTMAoGYhdAMAUIayZgU3zlr2acSIEdq/f79ef/11xcTE6Pnn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ldUiq7QGRZX6a15LDgAeTipLr/iVPeSBbo7w1dpDwQneOhxDNxERERERkQ2QywT4uzjA38UBCG/+eNO15JcaA3lWSU1jMDffr6xrQHGVHsVVeiS2sC65XCbAz8XeHMJdGwO5m6NlGLuHE5dBaw8M3URERERERJ3Ata4lB4CKGoP5GnJLD3ljIC+tQXZZLeqNpsb7tUALE7w5KOUIcHVo7CG3vq480M0Bzvacdf1mMHQTERERERF1AVpHJfo4trwuuckkorBS32IPeXZpDfJ0dag1GHG+sArnC6taPL6ro9ISwgPcGsN549B1fxcH2Ck4dL0lDN1ERERERERdnEwmwEdrDx9tyxO86RuMyC2va9ZD3tRrXlZjaLy1POu6IAA+GntLIA+8Ygb2AFcH+Gi67/XkDN1ERERERETdnEohR6iHGqEe6hYfr6wzILtxQrem4epNoTyrtAZ1BhPyKuqQV1GHwxebP18hE+DrYo8AF/NQ9QDXy/8GuDrA29kesi66PjlDNxEREREREV2Ts70SPXyV6OHbfNZ1URRRXFVv6RXPLqtFdtnlYJ5TXguDUbRcT34gvfnx7eQy8yRvjT3jvhoViosFjDMYoVR27mvJGbqJiIiIiIjopgmCAE9nFTydVRgQ5Nrs8SuvJ2+afd0SystqkFteh3qjCRdLanCxpOaKZ8rxjNhxr6O9MHQTERERERFRu7ne9eQNRhPydXWNPeTm3vGs0mpcuJgNBzu5BBW3LYZuIiIiIiIikoxCLmu8ttvRss1gMOCXX7IkrKrtdM/p44iIiIiIiIg6AEM3ERERERERUTth6CYiIiIiIiJqJwzdRERERERERO2EoZuIiIiIiIionTB0ExEREREREbUThm4iIiIiIiKidsLQTURERERERNROGLqJiIiIiIiI2glDNxEREREREVE7YegmIiIiIiIiaicKqQvobERRBADodDqJK7nMYDCgpqYGOp0OSqVS6nLoCmwb28W2sV1sG9vG9rFdbBvbxbaxXWwb29UZ2qYpEzZlxKth6G6lyspKAEBgYKDElRAREREREZHUKisrodVqr/q4IF4vlpMVk8mE3NxcODs7QxAEqcsBYP4LS2BgIC5dugSNRiN1OXQFto3tYtvYLraNbWP72C62je1i29guto3t6gxtI4oiKisr4efnB5ns6ldus6e7lWQyGQICAqQuo0UajcZm/0N2d2wb28W2sV1sG9vG9rFdbBvbxbaxXWwb22XrbXOtHu4mnEiNiIiIiIiIqJ0wdBMRERERERG1E4buLkClUmHx4sVQqVRSl0K/w7axXWwb28W2sW1sH9vFtrFdbBvbxbaxXV2pbTiRGhEREREREVE7YU83ERERERERUTth6CYiIiIiIiJqJwzdRERERERERO2EobuT+PjjjxESEgJ7e3sMHToUhw8fvub+69atQ0xMDOzt7dGnTx/88ssvHVRp97F06VIMHjwYzs7O8PLywu23346UlJRrPmfVqlUQBMHqZm9v30EVdy9Llixp9rOOiYm55nN43nSMkJCQZm0jCALmzZvX4v48b9rP7t27MX36dPj5+UEQBGzYsMHqcVEU8dJLL8HX1xcODg6YMGECzp8/f93jtvY9i5q7VtsYDAY899xz6NOnD9RqNfz8/DB79mzk5uZe85g383uRmrveeTNnzpxmP+fJkydf97g8b/6467VNS+89giDgrbfeuuoxed60jRv53FxXV4d58+bB3d0dTk5OmDlzJgoKCq553Jt9n+poDN2dwDfffIOnn34aixcvxvHjx9G3b19MmjQJhYWFLe6/f/9+3HvvvZg7dy4SExNx++234/bbb8fp06c7uPKuLSEhAfPmzcPBgwexbds2GAwGTJw4EdXV1dd8nkajQV5enuWWmZnZQRV3P7169bL6We/du/eq+/K86ThHjhyxapdt27YBAO6+++6rPofnTfuorq5G37598fHHH7f4+JtvvokPP/wQn3zyCQ4dOgS1Wo1Jkyahrq7uqsds7XsWtexabVNTU4Pjx4/jxRdfxPHjx/HDDz8gJSUFt91223WP25rfi9Sy6503ADB58mSrn/PatWuveUyeN23jem1zZZvk5eVhxYoVEAQBM2fOvOZxed78cTfyuXnhwoX46aefsG7dOiQkJCA3Nxd33nnnNY97M+9TkhDJ5g0ZMkScN2+e5b7RaBT9/PzEpUuXtrj/PffcI06bNs1q29ChQ8W//vWv7Vpnd1dYWCgCEBMSEq66z8qVK0WtVttxRXVjixcvFvv27XvD+/O8kc7f/vY3MTw8XDSZTC0+zvOmYwAQ169fb7lvMplEHx8f8a233rJsKy8vF1Uqlbh27dqrHqe171l0fb9vm5YcPnxYBCBmZmZedZ/W/l6k62upbR56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HXzwwQd46KGHsHPnTly8eBHHjx/Hhx9+aPk+rbFy5Ur873//wyeffAJBEJCfn4/8/HxUVVVZ9tmzZw9GjRp1Qz36RERE18PQTUREZAP8/Pywb98+GI1GTJw4EX369MGCBQvg4uJiCdZvvfUWRo0ahenTp2PChAkYOXJks2vD33nnHQQGBmLUqFG477778Mwzz1gN63Z0dMTu3bsRFBSEO++8Ez169MDcuXNRV1cHjUZzw/UuW7YMd911F5544gnExMTg0UcfRXV1tdU+c+fORX19PR5++OHrHs/d3R133HFHs2HvTz31FH799VcUFRXhrrvuQmRkJKZOnYqMjAxs2bLFahK1G5GQkACj0YjbbrsNvr6+ltuVk7x9/fXXePTRR1t1XCIioqsRxN9f+EVERESdxpgxY9CvXz+8//77UpfSzJ49ezB+/HhcunQJ3t7e190/KSkJ8fHxSEtLa3FCuY6wefNm/P3vf0dSUtJVrxsnIiJqDfZ0ExERUZvS6/XIzs7GkiVLcPfdd99Q4AaA2NhYvPHGG8jIyGjnCq+uuroaK1euZOAmIqI2w3cUIiIialNr167F3Llz0a9fP3zxxReteu6cOXPap6gbdNddd0n6/YmIqOvh8HIiIiIiIiKidsLh5URERERERETthKGbiIiIiIiIqJ0wdBMRERERERG1E4ZuIiIiIiIionbC0E1ERERERETUThi6iYiIiIiIiNoJQzcRERERERFRO2HoJiIiIiIiImonDN1ERERERERE7eT/A43blsgSt3K0AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Extract results using the wrapper\n", "df_results = hfss_sim.get_sparameter_results(setup.name, sweep.name)\n", "\n", "frequencies_ghz = df_results[\"frequency_ghz\"].to_numpy()\n", "\n", "# Plot S-parameters\n", "fig, axes = plt.subplots(2, 1, figsize=(10, 8))\n", "\n", "# Filter for S11 and S21 type traces\n", "s11_col = next(col for col in df_results.columns if \"S(o1:1,o1:1)\" in col)\n", "s21_col = next(col for col in df_results.columns if \"S(o2:1,o1:1)\" in col)\n", "\n", "s11_trace = df_results[s11_col].to_numpy().astype(np.complex128)\n", "s21_trace = df_results[s21_col].to_numpy().astype(np.complex128)\n", "\n", "s11_mag_db = 20 * np.log10(np.abs(s11_trace))\n", "s21_mag_db = 20 * np.log10(np.abs(s21_trace))\n", "\n", "axes[0].plot(frequencies_ghz, s11_mag_db, label=r\"|S_{11}|\")\n", "axes[1].plot(frequencies_ghz, s21_mag_db, label=r\"|S_{21}|\")\n", "\n", "axes[0].set_xlabel(\"Frequency (GHz)\")\n", "axes[0].set_ylabel(\"Magnitude (dB)\")\n", "axes[0].set_title(\"Return Loss ($S_{11}$)\")\n", "axes[0].grid(True)\n", "axes[0].legend()\n", "\n", "axes[1].set_xlabel(\"Frequency (GHz)\")\n", "axes[1].set_ylabel(\"Magnitude (dB)\")\n", "axes[1].set_title(\"Insertion Loss ($S_{21}$)\")\n", "axes[1].grid(True)\n", "axes[1].legend()\n", "\n", "plt.tight_layout()\n", "# plt.show()" ] }, { "cell_type": "markdown", "id": "4726228e", "metadata": {}, "source": [ "## Plot Field Solution\n", "\n", "We can visualize the electric field magnitude on the surface of the substrate\n", "to see the capacitive coupling between the interdigital fingers.\n", "\n", "![HFSS field](../docs/_static/images/hfss_driven_capacitor_field.jpg)" ] }, { "cell_type": "code", "execution_count": 13, "id": "8ee5195e", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:36:25.022705Z", "iopub.status.busy": "2026-04-29T08:36:25.022620Z", "iopub.status.idle": "2026-04-29T08:36:25.459671Z", "shell.execute_reply": "2026-04-29T08:36:25.459377Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Active Design set to InterdigitalCapacitor\n" ] }, { "data": { "image/jpeg": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Ensure the model fits the screen\n", "hfss.modeler.fit_all()\n", "\n", "# Create a surface field plot of the electric field magnitude on the substrate\n", "plot = hfss.post.create_fieldplot_surface(\n", " assignment=[substrate_name], quantity=\"Mag_E\", setup=f\"{setup.name} : LastAdaptive\"\n", ")\n", "\n", "# Export the field plot picture\n", "hfss_field_img_path = img_dir / \"hfss_driven_capacitor_field.jpg\"\n", "if plot:\n", " hfss.post.export_model_picture(\n", " full_name=str(hfss_field_img_path),\n", " show_axis=True,\n", " show_grid=False,\n", " show_ruler=True,\n", " field_selections=\"all\",\n", " )\n", "else:\n", " print(\"Failed to create field plot\")\n", "\n", "# Display in notebook\n", "display(Image(filename=str(hfss_field_img_path)))" ] }, { "cell_type": "markdown", "id": "22", "metadata": {}, "source": [ "## Extract Capacitance from Admittance (Y-Parameters)\n", "\n", "Relying only on the magnitude of $S_{21}$ assumes the geometry behaves identically\n", "to a single perfect capacitor floating in a vacuum. In reality, the structure has\n", "shunt parasitic capacitances to ground ($C_{11}$ and $C_{22}$) that skew the\n", "$S_{21}$ magnitude.\n", "\n", "The robust way to extract mutual capacitance is using Y-parameters (Admittance), see {cite:p}`m.pozarMicrowaveEngineering2012`.\n", "In a Pi-network model, the mutual admittance $Y_{12}$ isolates the series element:\n", "\n", "$$ Y_{12} = -j\\omega C_{12} $$\n", "\n", "Therefore, the exact mutual capacitance is:\n", "\n", "$$ C_{12} = -\\frac{\\text{Im}(Y_{12})}{\\omega} $$" ] }, { "cell_type": "code", "execution_count": 14, "id": "23", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:36:25.460922Z", "iopub.status.busy": "2026-04-29T08:36:25.460831Z", "iopub.status.idle": "2026-04-29T08:36:25.579891Z", "shell.execute_reply": "2026-04-29T08:36:25.579600Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly loaded. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly parsed. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "=== HFSS Capacitance Analysis ===\n", "----------------------------------------\n", "Analytical estimate: 8.19 fF\n", "----------------------------------------\n", "At 1.00 GHz: Y21 = 5.76e-10-6.15e-05j, C ≈ 9.84 fF\n", "Relative difference: -20.19%\n", "At 4.98 GHz: Y21 = 1.43e-08-3.08e-04j, C ≈ 9.84 fF\n", "Relative difference: -20.23%\n", "At 10.00 GHz: Y21 = 5.73e-08-6.19e-04j, C ≈ 9.85 fF\n", "Relative difference: -20.38%\n" ] } ], "source": [ "# Extract Y21 parameter manually using PyAEDT's solution data\n", "solution_y = hfss.post.get_solution_data(\n", " expressions=\"Y(o2:1,o1:1)\", setup_sweep_name=f\"{setup.name} : {sweep.name}\"\n", ")\n", "\n", "# Parse complex Y-parameters\n", "_, y_real = solution_y.get_expression_data(formula=\"real\")\n", "_, y_imag = solution_y.get_expression_data(formula=\"imag\")\n", "y21_trace = np.array(y_real) + 1j * np.array(y_imag)\n", "frequencies_ghz_y = np.array(solution_y.primary_sweep_values)\n", "\n", "# Analysis frequencies in GHz\n", "analysis_frequencies_ghz = [1, 5, 10]\n", "\n", "print(\"\\n=== HFSS Capacitance Analysis ===\")\n", "print(\"-\" * 40)\n", "print(f\"Analytical estimate: {C_estimate * 1e15:.2f} fF\")\n", "print(\"-\" * 40)\n", "\n", "C_hfss_values = {}\n", "for freq_target in analysis_frequencies_ghz:\n", " idx = np.argmin(np.abs(frequencies_ghz_y - freq_target))\n", " freq_hz = frequencies_ghz_y[idx] * 1e9\n", " y21 = y21_trace[idx]\n", "\n", " ω = 2 * np.pi * freq_hz\n", " C_extracted = -np.imag(y21) / ω\n", " C_hfss_values[freq_target] = C_extracted\n", "\n", " print(\n", " f\"At {freq_hz / 1e9:.2f} GHz: Y21 = {y21:.2e}, C ≈ {C_extracted * 1e15:.2f} fF\"\n", " )\n", " print(\n", " f\"Relative difference: {(float(C_estimate) - C_extracted) / float(C_estimate) * 100:.2f}%\"\n", " )" ] }, { "cell_type": "markdown", "id": "24", "metadata": {}, "source": [ "## HFSS Cleanup\n", "\n", "Close HFSS and clean up temporary files before starting Q3D." ] }, { "cell_type": "code", "execution_count": 15, "id": "25", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:36:25.580992Z", "iopub.status.busy": "2026-04-29T08:36:25.580904Z", "iopub.status.idle": "2026-04-29T08:36:27.689188Z", "shell.execute_reply": "2026-04-29T08:36:27.688889Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Project idc_driven Saved correctly\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "HFSS session closed and temporary files cleaned up\n" ] } ], "source": [ "# Save and close HFSS\n", "hfss.save_project()\n", "# hfss.release_desktop()\n", "time.sleep(2)\n", "\n", "# Clean up temp directory\n", "temp_dir.cleanup()\n", "print(\"HFSS session closed and temporary files cleaned up\")" ] }, { "cell_type": "markdown", "id": "26", "metadata": {}, "source": [ "## Q3D Extractor Capacitance Extraction\n", "\n", "Now we simulate the same geometry using Q3D Extractor, which solves\n", "quasi-static electric fields to directly compute the capacitance matrix.\n", "\n", "**Comparison of approaches:**\n", "- **HFSS Driven Modal**: Full-wave solve → S-parameters → Y-parameters → $C_{12}$\n", "- **Q3D Extractor**: Quasi-static solve → direct capacitance matrix\n", "- **Analytical**: Conformal mapping model (no simulation)\n", "\n", "Q3D is particularly well suited for parasitic capacitance extraction because\n", "it directly solves the electrostatic (or quasi-static) problem, which is\n", "faster and more accurate at low frequencies than extracting capacitance from\n", "full-wave S-parameters.\n", "\n", "**References:**\n", "- Q3D Extractor: https://aedt.docs.pyansys.com/version/stable/API/_autosummary/ansys.aedt.core.q3d.Q3d.html" ] }, { "cell_type": "markdown", "id": "27", "metadata": {}, "source": [ "### Initialize Q3D Project\n", "\n", "Set up a Q3D Extractor project for capacitance extraction.\n", "\n", "```{note}\n", "This code requires an Ansys AEDT license (same as HFSS above).\n", "```" ] }, { "cell_type": "code", "execution_count": 16, "id": "28", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:36:27.690213Z", "iopub.status.busy": "2026-04-29T08:36:27.690126Z", "iopub.status.idle": "2026-04-29T08:36:27.986502Z", "shell.execute_reply": "2026-04-29T08:36:27.986182Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Python version 3.12.13 (main, Mar 3 2026, 14:59:34) [Clang 21.1.4 ].\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: PyAEDT version 0.26.2.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Returning found Desktop session with PID 118106!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Project idc_q3d has been created.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Added design 'InterdigitalCapacitor_Q3D' of type Q3D Extractor.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: AEDT objects correctly read\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Modeler class has been initialized! Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Q3D project created: /tmp/tmp_vdfv0r7.ansys_qpdk_q3d/idc_q3d.aedt\n", "Design name: InterdigitalCapacitor_Q3D\n", "Solution type: Q3D Extractor\n" ] } ], "source": [ "# Create temporary directory for Q3D project\n", "temp_dir_q3d = tempfile.TemporaryDirectory(suffix=\".ansys_qpdk_q3d\")\n", "project_path_q3d = Path(temp_dir_q3d.name) / \"idc_q3d.aedt\"\n", "\n", "# Initialize Q3D Extractor\n", "q3d = Q3d(\n", " project=str(project_path_q3d),\n", " design=\"InterdigitalCapacitor_Q3D\",\n", " non_graphical=False,\n", " new_desktop=True,\n", " version=\"2025.2\",\n", ")\n", "q3d.modeler.model_units = \"um\"\n", "\n", "# Initialize Q3D wrapper\n", "q3d_sim = Q3D(q3d)\n", "\n", "print(f\"Q3D project created: {q3d.project_file}\")\n", "print(f\"Design name: {q3d.design_name}\")\n", "print(f\"Solution type: {q3d.solution_type}\")" ] }, { "cell_type": "markdown", "id": "29", "metadata": {}, "source": [ "### Import Geometry and Assign Signal Nets\n", "\n", "Import the same prepared component into Q3D and assign signal nets\n", "based on port locations. Each port becomes a separate conductor\n", "in the capacitance matrix.\n", "\n", "The `q3d_sim.assign_nets_from_ports` method is the Q3D equivalent\n", "of `hfss_sim.add_lumped_ports` — it maps gdsfactory port locations to\n", "Q3D conductor nets." ] }, { "cell_type": "code", "execution_count": 17, "id": "30", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:36:27.987416Z", "iopub.status.busy": "2026-04-29T08:36:27.987328Z", "iopub.status.idle": "2026-04-29T08:36:29.096610Z", "shell.execute_reply": "2026-04-29T08:36:29.096276Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: GDS layer imported with elevations and thickness.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Materials class has been initialized! Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Imported 7 conductor objects: ['M1_4', 'M1_3', 'M1_6', 'M1_7', 'M1_5', 'M1_1', 'M1_2']\n", "Created substrate: Substrate\n" ] } ], "source": [ "\n", "# Import the prepared component geometry into Q3D\n", "conductor_objects = q3d_sim.import_component(prepared_component)\n", "print(f\"Imported {len(conductor_objects)} conductor objects: {conductor_objects}\")\n", "\n", "# Add substrate below the component (Q3D modeler API is compatible with HFSS)\n", "substrate_q3d_name = q3d_sim.add_substrate(\n", " prepared_component,\n", " thickness=500.0,\n", " material=\"silicon\",\n", ")\n", "print(f\"Created substrate: {substrate_q3d_name}\")" ] }, { "cell_type": "code", "execution_count": 18, "id": "31", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:36:29.097575Z", "iopub.status.busy": "2026-04-29T08:36:29.097426Z", "iopub.status.idle": "2026-04-29T08:36:29.218520Z", "shell.execute_reply": "2026-04-29T08:36:29.218131Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: 3 Nets have been identified: M1_1, M1_3, M1_4\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Assigned signal nets: ['o1', 'o2']\n" ] } ], "source": [ "# Assign signal nets from port locations\n", "signal_nets = q3d_sim.assign_nets_from_ports(\n", " prepared_component.ports, conductor_objects\n", ")\n", "print(f\"Assigned signal nets: {signal_nets}\")" ] }, { "cell_type": "markdown", "id": "cda15767", "metadata": {}, "source": [ "### Q3D Geometry Verification\n", "Here is the 3D geometry of the interdigital capacitor in Q3D Extractor.\n", "\n", "![Q3D geometry](../docs/_static/images/q3d_driven_capacitor_geom.jpg)" ] }, { "cell_type": "code", "execution_count": 19, "id": "eab95c11", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:36:29.219533Z", "iopub.status.busy": "2026-04-29T08:36:29.219423Z", "iopub.status.idle": "2026-04-29T08:36:29.320865Z", "shell.execute_reply": "2026-04-29T08:36:29.320512Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Parsing /tmp/tmp_vdfv0r7.ansys_qpdk_q3d/idc_q3d.aedt.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: File /tmp/tmp_vdfv0r7.ansys_qpdk_q3d/idc_q3d.aedt correctly loaded. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: aedt file load time 0.002794027328491211\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: PostProcessor class has been initialized! Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Post class has been initialized! Elapsed time: 0m 0sec\n" ] }, { "data": { "image/jpeg": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Ensure Q3D model fits the screen\n", "q3d.modeler.fit_all()\n", "\n", "# Save screenshot\n", "img_dir = PATH.repo / \"docs\" / \"_static\" / \"images\"\n", "img_dir.mkdir(parents=True, exist_ok=True)\n", "q3d_img_path = img_dir / \"q3d_driven_capacitor_geom.jpg\"\n", "q3d.post.export_model_picture(\n", " full_name=str(q3d_img_path), show_axis=True, show_grid=False, show_ruler=True\n", ")\n", "\n", "# Display in notebook\n", "display(Image(filename=str(q3d_img_path)))" ] }, { "cell_type": "markdown", "id": "32", "metadata": {}, "source": [ "### Configure and Run Q3D Analysis\n", "\n", "Set up a Q3D adaptive analysis at the same frequency used for HFSS.\n", "Q3D solves the quasi-static field problem and computes the full\n", "capacitance matrix between all signal nets." ] }, { "cell_type": "code", "execution_count": 20, "id": "33", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:36:29.322056Z", "iopub.status.busy": "2026-04-29T08:36:29.321959Z", "iopub.status.idle": "2026-04-29T08:36:29.444689Z", "shell.execute_reply": "2026-04-29T08:36:29.444190Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Q3D setup configured:\n", " - Adaptive frequency: 5.0 GHz\n" ] } ], "source": [ "# Create Q3D setup\n", "q3d_setup = q3d.create_setup(name=\"Q3DSetup\")\n", "q3d_setup.props[\"AdaptiveFreq\"] = f\"{HFSS_CONFIG['solution_frequency_ghz']}GHz\"\n", "q3d_setup.props[\"Cap\"][\"MaxPass\"] = 17\n", "q3d_setup.props[\"Cap\"][\"MinPass\"] = 2\n", "q3d_setup.props[\"Cap\"][\"PerError\"] = 0.5\n", "# Disable AC and DC solving to avoid source/sink errors\n", "q3d_setup.ac_rl_enabled = False\n", "q3d_setup.dc_enabled = False\n", "q3d_setup.capacitance_enabled = True\n", "q3d_setup.update()\n", "\n", "print(\"Q3D setup configured:\")\n", "print(f\" - Adaptive frequency: {HFSS_CONFIG['solution_frequency_ghz']} GHz\")" ] }, { "cell_type": "code", "execution_count": 21, "id": "34", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:36:29.445556Z", "iopub.status.busy": "2026-04-29T08:36:29.445458Z", "iopub.status.idle": "2026-04-29T08:37:31.230932Z", "shell.execute_reply": "2026-04-29T08:37:31.230606Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting Q3D analysis...\n", "(This is typically faster than full-wave HFSS)\n", "PyAEDT INFO: Project idc_q3d Saved correctly\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Key Desktop/ActiveDSOConfigurations/Q3D Extractor correctly changed.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solving design setup Q3DSetup\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Design setup Q3DSetup solved correctly in 0.0h 1.0m 2.0s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Key Desktop/ActiveDSOConfigurations/Q3D Extractor correctly changed.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Q3D analysis completed in 61.7 seconds\n" ] } ], "source": [ "print(\"Starting Q3D analysis...\")\n", "print(\"(This is typically faster than full-wave HFSS)\")\n", "\n", "q3d.save_project()\n", "\n", "start_time_q3d = time.time()\n", "success_q3d = q3d.analyze_setup(\"Q3DSetup\", cores=4)\n", "elapsed_q3d = time.time() - start_time_q3d\n", "\n", "if not success_q3d:\n", " print(\"\\nERROR: Q3D simulation failed!\")\n", " m = q3d.desktop_class.odesktop.GetMessages(q3d.project_name, q3d.design_name, 0)\n", " for msg in m:\n", " print(f\"Desktop Msg: {msg}\")\n", "else:\n", " print(f\"Q3D analysis completed in {elapsed_q3d:.1f} seconds\")" ] }, { "cell_type": "markdown", "id": "35", "metadata": {}, "source": [ "### Extract Q3D Capacitance Matrix\n", "\n", "Q3D directly outputs the capacitance matrix between all signal nets.\n", "The off-diagonal element $C_{12}$ gives the mutual capacitance, which\n", "corresponds to the coupling capacitance of the interdigital capacitor." ] }, { "cell_type": "code", "execution_count": 22, "id": "36", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:37:31.231774Z", "iopub.status.busy": "2026-04-29T08:37:31.231684Z", "iopub.status.idle": "2026-04-29T08:37:31.600020Z", "shell.execute_reply": "2026-04-29T08:37:31.599753Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT WARNING: No report category provided. Automatically identified Matrix\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly loaded. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly parsed. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT WARNING: No report category provided. Automatically identified Matrix\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly loaded. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly parsed. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT WARNING: No report category provided. Automatically identified Matrix\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly loaded. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly parsed. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT WARNING: No report category provided. Automatically identified Matrix\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly loaded. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly parsed. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT WARNING: No report category provided. Automatically identified Matrix\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "~/dev/quantum-rf-pdk/.venv/lib/python3.12/site-packages/ansys/aedt/core/visualization/post/solution_data.py:648: UserWarning: Method `data_real` is deprecated. Use :func:`get_expression_data` property instead.\n", " warnings.warn(\"Method `data_real` is deprecated. Use :func:`get_expression_data` property instead.\")\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly loaded. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly parsed. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT WARNING: No report category provided. Automatically identified Matrix\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly loaded. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Solution Correctly parsed. Elapsed time: 0m 0sec\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Q3D Capacitance Matrix (F):\n", "shape: (1, 6)\n", "┌──────────────┬─────────────┬─────────────┬────────────┬─────────────┬────────────┐\n", "│ C(M1_1,M1_1) ┆ C(M1_1,o1) ┆ C(M1_1,o2) ┆ C(o1,o1) ┆ C(o1,o2) ┆ C(o2,o2) │\n", "│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n", "│ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 │\n", "╞══════════════╪═════════════╪═════════════╪════════════╪═════════════╪════════════╡\n", "│ 2.8507e-14 ┆ -9.2535e-15 ┆ -9.2194e-15 ┆ 1.8289e-14 ┆ -8.7666e-15 ┆ 1.8264e-14 │\n", "└──────────────┴─────────────┴─────────────┴────────────┴─────────────┴────────────┘\n", "\n", "Q3D mutual capacitance |C₁₂|: 8.77 fF\n" ] } ], "source": [ "# Extract the capacitance matrix using the wrapper\n", "cap_df = q3d_sim.get_capacitance_matrix(setup_name=\"Q3DSetup\")\n", "print(\"Q3D Capacitance Matrix (F):\")\n", "print(cap_df)\n", "\n", "# Extract mutual capacitance |C12| from the off-diagonal element\n", "C_q3d = None\n", "for col in cap_df.columns:\n", " # Match off-diagonal entries exactly between o1 and o2\n", " if col in {\"C(o1,o2)\", \"C(o2,o1)\"}:\n", " C_q3d = abs(float(cap_df[col][0]))\n", " break\n", "\n", "if C_q3d is not None:\n", " print(f\"\\nQ3D mutual capacitance |C₁₂|: {C_q3d * 1e15:.2f} fF\")" ] }, { "cell_type": "markdown", "id": "37", "metadata": {}, "source": [ "### Q3D Cleanup" ] }, { "cell_type": "code", "execution_count": 23, "id": "38", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:37:31.600970Z", "iopub.status.busy": "2026-04-29T08:37:31.600895Z", "iopub.status.idle": "2026-04-29T08:37:33.684090Z", "shell.execute_reply": "2026-04-29T08:37:33.683728Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyAEDT INFO: Project idc_q3d Saved correctly\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Q3D session closed and temporary files cleaned up\n" ] } ], "source": [ "q3d.save_project()\n", "# q3d.release_desktop()\n", "time.sleep(2)\n", "\n", "temp_dir_q3d.cleanup()\n", "print(\"Q3D session closed and temporary files cleaned up\")" ] }, { "cell_type": "markdown", "id": "39", "metadata": {}, "source": [ "## Comparison: Analytical vs HFSS vs Q3D\n", "\n", "Compare the capacitance values obtained from all three methods.\n", "The analytical model provides a quick estimate, the HFSS driven modal\n", "simulation gives the full-wave result, and Q3D Extractor provides\n", "a direct quasi-static capacitance extraction." ] }, { "cell_type": "code", "execution_count": 24, "id": "40", "metadata": { "execution": { "iopub.execute_input": "2026-04-29T08:37:33.685137Z", "iopub.status.busy": "2026-04-29T08:37:33.685042Z", "iopub.status.idle": "2026-04-29T08:37:33.688012Z", "shell.execute_reply": "2026-04-29T08:37:33.687786Z" }, "lines_to_next_cell": 2 }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "==========================================================\n", " Capacitance Comparison Summary\n", "==========================================================\n", "Method C (fF) Δ vs Analytical\n", "----------------------------------------------------------\n", "Analytical 8.19 (reference)\n", "HFSS @ 1 GHz 9.84 +20.2%\n", "HFSS @ 5 GHz 9.84 +20.2%\n", "HFSS @ 10 GHz 9.85 +20.4%\n", "Q3D Extractor 8.77 +7.1%\n", "==========================================================\n" ] } ], "source": [ "print(\"\\n\" + \"=\" * 58)\n", "print(\" Capacitance Comparison Summary\")\n", "print(\"=\" * 58)\n", "print(f\"{'Method':<28} {'C (fF)':>10} {'Δ vs Analytical':>16}\")\n", "print(\"-\" * 58)\n", "\n", "C_analytical_fF = float(C_estimate) * 1e15\n", "print(f\"{'Analytical':<28} {C_analytical_fF:>10.2f} {'(reference)':>16}\")\n", "\n", "for freq_ghz, c_val in C_hfss_values.items():\n", " c_fF = c_val * 1e15\n", " delta = (c_val - float(C_estimate)) / float(C_estimate) * 100\n", " label = f\"HFSS @ {freq_ghz} GHz\"\n", " print(f\"{label:<28} {c_fF:>10.2f} {delta:>+15.1f}%\")\n", "\n", "if C_q3d is not None:\n", " C_q3d_fF = C_q3d * 1e15\n", " delta_q3d = (C_q3d - float(C_estimate)) / float(C_estimate) * 100\n", " print(f\"{'Q3D Extractor':<28} {C_q3d_fF:>10.2f} {delta_q3d:>+15.1f}%\")\n", "\n", "print(\"=\" * 58)" ] }, { "cell_type": "markdown", "id": "41", "metadata": { "lines_to_next_cell": 0 }, "source": [ "## Summary\n", "\n", "This notebook demonstrated three approaches for characterizing an interdigital\n", "capacitor:\n", "\n", "1. **Analytical Estimate**: Using the conformal mapping model for interdigital\n", " capacitors to get a quick capacitance estimate without simulation\n", "\n", "2. **HFSS Driven Modal Simulation**:\n", " - Created the component geometry with QPDK and imported it into HFSS\n", " - Added lumped ports at CPW feed locations for S-parameter measurements\n", " - Ran a frequency sweep and extracted capacitance from Y-parameters\n", " ($C_{12} = -\\text{Im}(Y_{12}) / \\omega$)\n", "\n", "3. **Q3D Extractor Simulation**:\n", " - Imported the same geometry into Q3D Extractor\n", " - Assigned signal nets from gdsfactory port locations\n", " - Directly computed the capacitance matrix via quasi-static field solution\n", "\n", "**Key Takeaways:**\n", "- Q3D Extractor directly solves for capacitance, making it ideal for\n", " parasitic extraction at low frequencies\n", "- HFSS driven modal captures frequency-dependent effects (parasitic\n", " inductance, radiation) that Q3D's quasi-static approach does not\n", "- The analytical model provides a useful sanity check for both simulations\n", "- All three methods should agree well at low frequencies where the structure\n", " is electrically small\n" ] }, { "cell_type": "markdown", "id": "42", "metadata": {}, "source": [ "## References\n", "\n", "```{bibliography}\n", ":filter: docname in docnames\n", "```" ] } ], "metadata": { "jupytext": { "main_language": "python" }, "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" } }, "nbformat": 4, "nbformat_minor": 5 }