.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples\01-HFSS3DLayout\HFSS3DLayout_Via.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_01-HFSS3DLayout_HFSS3DLayout_Via.py: HFSS 3D Layout: parametric via analysis --------------------------------------- This example shows how you can use HFSS 3D Layout to create and solve a parametric via analysis. .. GENERATED FROM PYTHON SOURCE LINES 9-12 Perform required imports ~~~~~~~~~~~~~~~~~~~~~~~~ Perform required imports. .. GENERATED FROM PYTHON SOURCE LINES 12-15 .. code-block:: Python import pyaedt import os .. GENERATED FROM PYTHON SOURCE LINES 16-19 Set AEDT version ~~~~~~~~~~~~~~~~ Set AEDT version. .. GENERATED FROM PYTHON SOURCE LINES 19-22 .. code-block:: Python aedt_version = "2024.1" .. GENERATED FROM PYTHON SOURCE LINES 23-27 Set non-graphical mode ~~~~~~~~~~~~~~~~~~~~~~ Set non-graphical mode. You can set ``non_graphical`` either to ``True`` or ``False``. .. GENERATED FROM PYTHON SOURCE LINES 27-30 .. code-block:: Python non_graphical = True .. GENERATED FROM PYTHON SOURCE LINES 31-34 Launch AEDT ~~~~~~~~~~~ Launch AEDT 2023 R2 in graphical mode. .. GENERATED FROM PYTHON SOURCE LINES 34-37 .. code-block:: Python h3d = pyaedt.Hfss3dLayout(specified_version=aedt_version, new_desktop_session=True, non_graphical=non_graphical) .. GENERATED FROM PYTHON SOURCE LINES 38-41 Set up variables ~~~~~~~~~~~~~~~~ Set up all parametric variables to use in the layout. .. GENERATED FROM PYTHON SOURCE LINES 41-48 .. code-block:: Python h3d["viatotrace"] = "5mm" h3d["viatovia"] = "10mm" h3d["w1"] = "1mm" h3d["sp"] = "0.5mm" h3d["len"] = "50mm" .. GENERATED FROM PYTHON SOURCE LINES 49-52 Add stackup layers ~~~~~~~~~~~~~~~~~~ Add stackup layers. .. GENERATED FROM PYTHON SOURCE LINES 52-58 .. code-block:: Python h3d.modeler.layers.add_layer(layer="GND", layer_type="signal", thickness="0", isnegative=True) h3d.modeler.layers.add_layer(layer="diel", layer_type="dielectric", thickness="0.2mm", material="FR4_epoxy") h3d.modeler.layers.add_layer(layer="TOP", layer_type="signal", thickness="0.035mm", elevation="0.2mm") .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 59-62 Create signal net and ground planes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Create a signal net and ground planes. .. GENERATED FROM PYTHON SOURCE LINES 62-71 .. code-block:: Python h3d.modeler.create_line(layer="TOP", center_line_coordinates=[[0, 0], ["len", 0]], lw="w1", name="microstrip", net="microstrip") h3d.modeler.create_rectangle(layer="TOP", origin=[0, "-w1/2-sp"], sizes=["len", "-w1/2-sp-20mm"]) h3d.modeler.create_rectangle(layer="TOP", origin=[0, "w1/2+sp"], sizes=["len", "w1/2+sp+20mm"]) .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 72-75 Create vias ~~~~~~~~~~~ Create vias with parametric positions. .. GENERATED FROM PYTHON SOURCE LINES 75-83 .. code-block:: Python h3d.modeler.create_via(x="viatovia", y="-viatotrace", name="via1") h3d.modeler.create_via(x="viatovia", y="viatotrace", name="via2") h3d.modeler.create_via(x="2*viatovia", y="-viatotrace") h3d.modeler.create_via(x="2*viatovia", y="viatotrace") h3d.modeler.create_via(x="3*viatovia", y="-viatotrace") h3d.modeler.create_via(x="3*viatovia", y="viatotrace") .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 84-87 Create circuit ports ~~~~~~~~~~~~~~~~~~~~ Create circuit ports. .. GENERATED FROM PYTHON SOURCE LINES 87-91 .. code-block:: Python h3d.create_edge_port("microstrip", 0) h3d.create_edge_port("microstrip", 2) .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 92-95 Create setup and sweep ~~~~~~~~~~~~~~~~~~~~~~ Create a setup and a sweep. .. GENERATED FROM PYTHON SOURCE LINES 95-101 .. code-block:: Python setup = h3d.create_setup() h3d.create_linear_count_sweep(setup=setup.name, unit="GHz", start_frequency=3, stop_frequency=7, num_of_freq_points=1001, save_fields=False, sweep_type="Interpolating", interpolation_tol_percent=1, interpolation_max_solutions=255, use_q3d_for_dc=False) .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 102-105 Solve and plot results ~~~~~~~~~~~~~~~~~~~~~~ Solve and plot the results. .. GENERATED FROM PYTHON SOURCE LINES 105-110 .. code-block:: Python h3d.analyze() traces = h3d.get_traces_for_plot(first_element_filter="Port1") h3d.post.create_report(traces, variations=h3d.available_variations.nominal_w_values_dict) .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 111-114 Create report outside AEDT ~~~~~~~~~~~~~~~~~~~~~~~~~~ Create a report using Matplotlib. .. GENERATED FROM PYTHON SOURCE LINES 114-120 .. code-block:: Python traces = h3d.get_traces_for_plot(first_element_filter="Port1", category="S") solutions = h3d.post.get_solution_data(expressions=traces) solutions.plot(formula="db20") .. image-sg:: /examples/01-HFSS3DLayout/images/sphx_glr_HFSS3DLayout_Via_001.png :alt: Simulation Results Plot :srcset: /examples/01-HFSS3DLayout/images/sphx_glr_HFSS3DLayout_Via_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.
.. GENERATED FROM PYTHON SOURCE LINES 121-126 Close AEDT ~~~~~~~~~~ After the simulation completes, you can close AEDT or release it using the :func:`pyaedt.Desktop.release_desktop` method. All methods provide for saving the project before closing. .. GENERATED FROM PYTHON SOURCE LINES 126-128 .. code-block:: Python h3d.release_desktop() .. rst-class:: sphx-glr-script-out .. code-block:: none True .. rst-class:: sphx-glr-timing **Total running time of the script:** (2 minutes 36.854 seconds) .. _sphx_glr_download_examples_01-HFSS3DLayout_HFSS3DLayout_Via.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: HFSS3DLayout_Via.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: HFSS3DLayout_Via.py ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_