.. 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:: default import pyaedt import os .. GENERATED FROM PYTHON SOURCE LINES 16-20 Set non-graphical mode ~~~~~~~~~~~~~~~~~~~~~~ Set non-graphical mode. You can set ``non_graphical`` either to ``True`` or ``False``. .. GENERATED FROM PYTHON SOURCE LINES 20-23 .. code-block:: default non_graphical = True .. GENERATED FROM PYTHON SOURCE LINES 24-27 Launch AEDT ~~~~~~~~~~~ Launch AEDT 2023 R2 in graphical mode. .. GENERATED FROM PYTHON SOURCE LINES 27-30 .. code-block:: default h3d = pyaedt.Hfss3dLayout(specified_version="2023.2", new_desktop_session=True, non_graphical=non_graphical) .. rst-class:: sphx-glr-script-out .. code-block:: none Initializing new desktop! .. GENERATED FROM PYTHON SOURCE LINES 31-34 Set up variables ~~~~~~~~~~~~~~~~ Set up all parametric variables to use in the layout. .. GENERATED FROM PYTHON SOURCE LINES 34-41 .. code-block:: default h3d["viatotrace"] = "5mm" h3d["viatovia"] = "10mm" h3d["w1"] = "1mm" h3d["sp"] = "0.5mm" h3d["len"] = "50mm" .. GENERATED FROM PYTHON SOURCE LINES 42-45 Add stackup layers ~~~~~~~~~~~~~~~~~~ Add stackup layers. .. GENERATED FROM PYTHON SOURCE LINES 45-50 .. code-block:: default h3d.modeler.layers.add_layer(layername="GND", layertype="signal", thickness="0", isnegative=True) h3d.modeler.layers.add_layer(layername="diel", layertype="dielectric", thickness="0.2mm", material="FR4_epoxy") h3d.modeler.layers.add_layer(layername="TOP", layertype="signal", thickness="0.035mm", elevation="0.2mm") .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 51-54 Create signal net and ground planes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Create a signal net and ground planes. .. GENERATED FROM PYTHON SOURCE LINES 54-59 .. code-block:: default h3d.modeler.create_line(layername="TOP", center_line_list=[[0, 0], ["len", 0]], lw="w1", netname="microstrip", name="microstrip") h3d.modeler.create_rectangle(layername="TOP", origin=[0, "-w1/2-sp"], dimensions=["len", "-w1/2-sp-20mm"]) h3d.modeler.create_rectangle(layername="TOP", origin=[0, "w1/2+sp"], dimensions=["len", "w1/2+sp+20mm"]) .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 60-63 Create vias ~~~~~~~~~~~ Create vias with parametric positions. .. GENERATED FROM PYTHON SOURCE LINES 63-71 .. code-block:: default 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 72-75 Create circuit ports ~~~~~~~~~~~~~~~~~~~~ Create circuit ports. .. GENERATED FROM PYTHON SOURCE LINES 75-79 .. code-block:: default 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 80-83 Create setup and sweep ~~~~~~~~~~~~~~~~~~~~~~ Create a setup and a sweep. .. GENERATED FROM PYTHON SOURCE LINES 83-99 .. code-block:: default setup = h3d.create_setup() h3d.create_linear_count_sweep( setupname=setup.name, unit="GHz", freqstart=3, freqstop=7, num_of_freq_points=1001, sweepname="sweep1", sweep_type="Interpolating", interpolation_tol_percent=1, interpolation_max_solutions=255, save_fields=False, use_q3d_for_dc=False, ) .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 100-103 Solve and plot results ~~~~~~~~~~~~~~~~~~~~~~ Solve and plot the results. .. GENERATED FROM PYTHON SOURCE LINES 103-108 .. code-block:: default 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 109-112 Create report outside AEDT ~~~~~~~~~~~~~~~~~~~~~~~~~~ Create a report using Matplotlib. .. GENERATED FROM PYTHON SOURCE LINES 112-118 .. code-block:: default traces = h3d.get_traces_for_plot(first_element_filter="Port1", category="S") solutions = h3d.post.get_solution_data(expressions=traces) solutions.plot(math_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
.. GENERATED FROM PYTHON SOURCE LINES 119-124 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 124-126 .. code-block:: default 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 18.022 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-python :download:`Download Python source code: HFSS3DLayout_Via.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: HFSS3DLayout_Via.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_