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

1"""AEDT simulation utilities using PyAEDT. 

2 

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. 

7 

8**HFSS workflow:** 

9 

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` 

14 

15**Q3D Extractor workflow:** 

16 

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` 

22 

23Note: 

24 This module requires the optional ``hfss`` dependency group. 

25 Install with: ``uv sync --extra hfss`` or ``pip install qpdk[hfss]`` 

26 

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) 

36 

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""" 

42 

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 

51 

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]