Coverage for qpdk / simulation / __init__.py: 100%
4 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-14 10:27 +0000
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-14 10:27 +0000
1"""AEDT simulation utilities using PyAEDT.
3This module provides class-based interfaces for setting up HFSS simulations
4(eigenmode and driven modal) and Q3D Extractor parasitic extractions
5from gdsfactory components. It uses the PyAEDT library to interface
6with Ansys HFSS and Q3D Extractor.
8**HFSS workflow:**
101. Prepare a component with :func:`prepare_component_for_aedt`
112. Export to GDS and import into HFSS with :meth:`qpdk.simulation.hfss.HFSS.import_component`
123. Configure simulation setup (e.g. Eigenmode or Driven) manually via PyAEDT
134. Extract results with :meth:`qpdk.simulation.hfss.HFSS.get_eigenmode_results` or :meth:`qpdk.simulation.hfss.HFSS.get_sparameter_results`
15**Q3D Extractor workflow:**
171. Prepare a component with :func:`prepare_component_for_aedt`
182. Export to GDS and import into Q3D with :meth:`qpdk.simulation.q3d.Q3D.import_component`
193. Assign signal nets with :meth:`qpdk.simulation.q3d.Q3D.assign_nets_from_ports`
204. Configure Q3D setup and analyze
215. Extract capacitance matrix with :meth:`qpdk.simulation.q3d.Q3D.get_capacitance_matrix`
23Note:
24 This module requires the optional ``hfss`` dependency group.
25 Install with: ``uv sync --extra hfss`` or ``pip install qpdk[hfss]``
27Example:
28 >>> from ansys.aedt.core import Hfss
29 >>> from qpdk.simulation import HFSS, prepare_component_for_aedt
30 >>> from qpdk.cells import resonator
31 >>> comp = resonator(length=4000, meanders=4)
32 >>> prepared_comp = prepare_component_for_aedt(comp)
33 >>> hfss_app = Hfss(project="resonator_sim", solution_type="Eigenmode")
34 >>> hfss_sim = HFSS(hfss_app)
35 >>> hfss_sim.import_component(prepared_comp)
37References:
38 - PyAEDT documentation: https://aedt.docs.pyansys.com/
39 - HFSS import_gds_3d: https://aedt.docs.pyansys.com/version/stable/API/_autosummary/ansys.aedt.core.hfss.Hfss.import_gds_3d.html
40 - Q3D Extractor: https://aedt.docs.pyansys.com/version/stable/API/_autosummary/ansys.aedt.core.q3d.Q3d.html
41"""
43from qpdk.simulation.aedt_base import (
44 AEDTBase,
45 add_materials_to_aedt,
46 layer_stack_to_gds_mapping,
47 prepare_component_for_aedt,
48)
49from qpdk.simulation.hfss import HFSS, lumped_port_rectangle_from_cpw
50from qpdk.simulation.q3d import Q2D, Q3D
52__all__ = [
53 "HFSS",
54 "Q2D",
55 "Q3D",
56 "AEDTBase",
57 "add_materials_to_aedt",
58 "layer_stack_to_gds_mapping",
59 "lumped_port_rectangle_from_cpw",
60 "prepare_component_for_aedt",
61]