.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples\01-HFSS3DLayout\Dcir_in_3DLayout.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end <sphx_glr_download_examples_01-HFSS3DLayout_Dcir_in_3DLayout.py>` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_01-HFSS3DLayout_Dcir_in_3DLayout.py: HFSS 3D Layout: SIwave DCIR analysis in HFSS 3D Layout ------------------------------------------------------ This example shows how you can use configure HFSS 3D Layout for SIwave DCIR analysis. .. GENERATED FROM PYTHON SOURCE LINES 7-12 .. code-block:: Python import os import tempfile import pyaedt .. GENERATED FROM PYTHON SOURCE LINES 13-16 Set AEDT version ~~~~~~~~~~~~~~~~ Set AEDT version. .. GENERATED FROM PYTHON SOURCE LINES 16-19 .. code-block:: Python aedt_version = "2024.1" .. GENERATED FROM PYTHON SOURCE LINES 20-23 Configure EDB for DCIR analysis ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Copy example into temporary folder .. GENERATED FROM PYTHON SOURCE LINES 23-28 .. code-block:: Python temp_dir = tempfile.gettempdir() dst_dir = os.path.join(temp_dir, pyaedt.generate_unique_name("pyaedt_dcir")) os.mkdir(dst_dir) local_path = pyaedt.downloads.download_aedb(dst_dir) .. GENERATED FROM PYTHON SOURCE LINES 29-30 Load example board into EDB .. GENERATED FROM PYTHON SOURCE LINES 30-33 .. code-block:: Python appedb = pyaedt.Edb(local_path, edbversion=aedt_version) .. GENERATED FROM PYTHON SOURCE LINES 34-35 Create pin group on VRM positive pins .. GENERATED FROM PYTHON SOURCE LINES 35-42 .. code-block:: Python gnd_name = "GND" appedb.siwave.create_pin_group_on_net( reference_designator="U3A1", net_name="BST_V3P3_S5", group_name="U3A1-BST_V3P3_S5") .. rst-class:: sphx-glr-script-out .. code-block:: none ('U3A1-BST_V3P3_S5', <pyedb.dotnet.edb_core.edb_data.sources.PinGroup object at 0x0000022638C953F0>) .. GENERATED FROM PYTHON SOURCE LINES 43-44 Create pin group on VRM negative pins .. GENERATED FROM PYTHON SOURCE LINES 44-50 .. code-block:: Python appedb.siwave.create_pin_group_on_net( reference_designator="U3A1", net_name="GND", group_name="U3A1-GND") .. rst-class:: sphx-glr-script-out .. code-block:: none ('U3A1-GND', <pyedb.dotnet.edb_core.edb_data.sources.PinGroup object at 0x0000022638C95C00>) .. GENERATED FROM PYTHON SOURCE LINES 51-52 Create voltage source between VRM positive and negative pin groups .. GENERATED FROM PYTHON SOURCE LINES 52-59 .. code-block:: Python appedb.siwave.create_voltage_source_on_pin_group( pos_pin_group_name="U3A1-BST_V3P3_S5", neg_pin_group_name="U3A1-GND", magnitude=3.3, name="U3A1-BST_V3P3_S5" ) .. rst-class:: sphx-glr-script-out .. code-block:: none True .. GENERATED FROM PYTHON SOURCE LINES 60-61 Create pin group on sink component positive pins .. GENERATED FROM PYTHON SOURCE LINES 61-67 .. code-block:: Python appedb.siwave.create_pin_group_on_net( reference_designator="U2A5", net_name="V3P3_S5", group_name="U2A5-V3P3_S5") .. rst-class:: sphx-glr-script-out .. code-block:: none ('U2A5-V3P3_S5', <pyedb.dotnet.edb_core.edb_data.sources.PinGroup object at 0x0000022638C940D0>) .. GENERATED FROM PYTHON SOURCE LINES 68-69 Create pin group on sink component negative pins .. GENERATED FROM PYTHON SOURCE LINES 69-84 .. code-block:: Python appedb.siwave.create_pin_group_on_net( reference_designator="U2A5", net_name="GND", group_name="U2A5-GND") # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Create place current source between sink component positive and negative pin groups appedb.siwave.create_current_source_on_pin_group( pos_pin_group_name="U2A5-V3P3_S5", neg_pin_group_name="U2A5-GND", magnitude=1, name="U2A5-V3P3_S5" ) .. rst-class:: sphx-glr-script-out .. code-block:: none True .. GENERATED FROM PYTHON SOURCE LINES 85-86 Add SIwave DCIR analysis .. GENERATED FROM PYTHON SOURCE LINES 86-89 .. code-block:: Python appedb.siwave.add_siwave_dc_analysis(name="my_setup") .. rst-class:: sphx-glr-script-out .. code-block:: none <pyedb.dotnet.edb_core.edb_data.siwave_simulation_setup_data.SiwaveDCSimulationSetup object at 0x0000022638C948E0> .. GENERATED FROM PYTHON SOURCE LINES 90-93 Save and close EDB ~~~~~~~~~~~~~~~~~~ Save and close EDB. .. GENERATED FROM PYTHON SOURCE LINES 93-97 .. code-block:: Python appedb.save_edb() appedb.close_edb() .. rst-class:: sphx-glr-script-out .. code-block:: none True .. GENERATED FROM PYTHON SOURCE LINES 98-101 Analysis DCIR in AEDT ~~~~~~~~~~~~~~~~~~~~~ Launch AEDT and import the configured EDB and analysis DCIR .. GENERATED FROM PYTHON SOURCE LINES 101-106 .. code-block:: Python desktop = pyaedt.Desktop(aedt_version, non_graphical=False, new_desktop_session=True) hfss3dl = pyaedt.Hfss3dLayout(local_path) hfss3dl.analyze() hfss3dl.save_project() .. rst-class:: sphx-glr-script-out .. code-block:: none True .. GENERATED FROM PYTHON SOURCE LINES 107-110 Get element data ~~~~~~~~~~~~~~~~~~~ Get current source .. GENERATED FROM PYTHON SOURCE LINES 110-121 .. code-block:: Python current_source = hfss3dl.get_dcir_element_data_current_source(setup="my_setup") print(current_source) # ~~~~~~~~~~~~~~~~~~~ # Get via information via = hfss3dl.get_dcir_element_data_via(setup="my_setup") print(via) .. rst-class:: sphx-glr-script-out .. code-block:: none Voltage U2A5-V3P3_S5 3.294553 X J1-6<BOTTOM,TOP> 0.003632 J1A6-3<BOTTOM,TOP> 0.034595 J1B2-2<BOTTOM,GND> 0.007493 J1B2-2<GND,TOP> 0.007493 J2A1-4<BOTTOM,TOP> 0.026975 ... ... via_4873<GND,TOP> 0.056947 via_4874<BOTTOM,GND> 0.086106 via_4874<GND,TOP> 0.086106 via_4875<BOTTOM,GND> 0.082550 via_4875<GND,TOP> 0.082550 [883 rows x 1 columns] .. GENERATED FROM PYTHON SOURCE LINES 122-125 Get voltage ~~~~~~~~~~~ Get voltage from dcir solution data .. GENERATED FROM PYTHON SOURCE LINES 125-128 .. code-block:: Python voltage = hfss3dl.get_dcir_solution_data(setup="my_setup", show="Sources", category="Voltage") print({expression: voltage.data_magnitude(expression) for expression in voltage.expressions}) .. rst-class:: sphx-glr-script-out .. code-block:: none {'SeriesRV(U3A1-BST_V3P3_S5)': [1.000632290113], 'V(U2A5-V3P3_S5)': [3294.553400696]} .. GENERATED FROM PYTHON SOURCE LINES 129-131 Close AEDT ~~~~~~~~~~ .. GENERATED FROM PYTHON SOURCE LINES 131-132 .. code-block:: Python desktop.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 27.214 seconds) .. _sphx_glr_download_examples_01-HFSS3DLayout_Dcir_in_3DLayout.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: Dcir_in_3DLayout.ipynb <Dcir_in_3DLayout.ipynb>` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: Dcir_in_3DLayout.py <Dcir_in_3DLayout.py>` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_