pyedb 0.37.0__py3-none-any.whl → 0.39.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyedb might be problematic. Click here for more details.

Files changed (208) hide show
  1. pyedb/__init__.py +1 -1
  2. pyedb/common/nets.py +53 -139
  3. pyedb/configuration/cfg_common.py +1 -1
  4. pyedb/configuration/cfg_components.py +229 -201
  5. pyedb/configuration/cfg_data.py +3 -1
  6. pyedb/configuration/cfg_general.py +4 -2
  7. pyedb/configuration/cfg_modeler.py +7 -7
  8. pyedb/configuration/cfg_package_definition.py +1 -1
  9. pyedb/configuration/cfg_padstacks.py +346 -290
  10. pyedb/configuration/cfg_ports_sources.py +243 -65
  11. pyedb/configuration/configuration.py +23 -3
  12. pyedb/dotnet/{application → database}/Variables.py +21 -21
  13. pyedb/dotnet/{edb_core → database}/cell/connectable.py +5 -5
  14. pyedb/dotnet/{edb_core → database}/cell/hierarchy/component.py +11 -11
  15. pyedb/dotnet/{edb_core → database}/cell/hierarchy/hierarchy_obj.py +1 -1
  16. pyedb/dotnet/{edb_core → database}/cell/hierarchy/model.py +1 -1
  17. pyedb/dotnet/{edb_core → database}/cell/layout.py +19 -19
  18. pyedb/dotnet/{edb_core → database}/cell/layout_obj.py +3 -3
  19. pyedb/dotnet/{edb_core → database}/cell/primitive/bondwire.py +1 -1
  20. pyedb/dotnet/{edb_core → database}/cell/primitive/path.py +4 -4
  21. pyedb/dotnet/{edb_core → database}/cell/primitive/primitive.py +14 -14
  22. pyedb/dotnet/{edb_core → database}/cell/terminal/bundle_terminal.py +2 -2
  23. pyedb/dotnet/{edb_core → database}/cell/terminal/edge_terminal.py +4 -4
  24. pyedb/dotnet/{edb_core → database}/cell/terminal/padstack_instance_terminal.py +2 -2
  25. pyedb/dotnet/{edb_core → database}/cell/terminal/pingroup_terminal.py +2 -2
  26. pyedb/dotnet/{edb_core → database}/cell/terminal/point_terminal.py +2 -2
  27. pyedb/dotnet/{edb_core → database}/cell/terminal/terminal.py +11 -11
  28. pyedb/dotnet/{edb_core → database}/cell/voltage_regulator.py +2 -2
  29. pyedb/dotnet/{edb_core → database}/components.py +101 -124
  30. pyedb/dotnet/{edb_core → database}/definition/component_def.py +5 -5
  31. pyedb/dotnet/{edb_core → database}/definition/component_model.py +1 -1
  32. pyedb/dotnet/{edb_core → database}/definition/definition_obj.py +1 -1
  33. pyedb/dotnet/{edb_core → database}/definition/definitions.py +2 -2
  34. pyedb/dotnet/{edb_core → database}/definition/package_def.py +4 -4
  35. pyedb/dotnet/{edb_core → database}/dotnet/database.py +8 -8
  36. pyedb/dotnet/{edb_core → database}/dotnet/primitive.py +9 -9
  37. pyedb/dotnet/{edb_core → database}/edb_data/control_file.py +12 -12
  38. pyedb/dotnet/{edb_core → database}/edb_data/hfss_extent_info.py +7 -7
  39. pyedb/dotnet/{edb_core → database}/edb_data/nets_data.py +10 -13
  40. pyedb/dotnet/{edb_core → database}/edb_data/padstacks_data.py +60 -73
  41. pyedb/dotnet/{edb_core → database}/edb_data/ports.py +4 -4
  42. pyedb/dotnet/{edb_core → database}/edb_data/primitives_data.py +5 -5
  43. pyedb/dotnet/{edb_core → database}/edb_data/raptor_x_simulation_setup_data.py +4 -4
  44. pyedb/dotnet/{edb_core → database}/edb_data/simulation_configuration.py +10 -10
  45. pyedb/dotnet/{edb_core → database}/edb_data/sources.py +4 -4
  46. pyedb/dotnet/{edb_core → database}/edb_data/variables.py +1 -1
  47. pyedb/dotnet/{edb_core → database}/geometry/polygon_data.py +4 -4
  48. pyedb/dotnet/{edb_core → database}/hfss.py +8 -8
  49. pyedb/dotnet/{edb_core → database}/layout_obj_instance.py +1 -1
  50. pyedb/dotnet/{edb_core → database}/layout_validation.py +2 -2
  51. pyedb/dotnet/{edb_core → database}/materials.py +23 -8
  52. pyedb/dotnet/{edb_core → database}/modeler.py +27 -27
  53. pyedb/dotnet/{edb_core → database}/net_class.py +8 -8
  54. pyedb/dotnet/{edb_core → database}/nets.py +12 -12
  55. pyedb/dotnet/{edb_core → database}/padstack.py +17 -16
  56. pyedb/dotnet/{edb_core → database}/sim_setup_data/data/mesh_operation.py +1 -1
  57. pyedb/dotnet/{edb_core → database}/sim_setup_data/data/settings.py +18 -3
  58. pyedb/dotnet/{edb_core → database}/sim_setup_data/data/sim_setup_info.py +2 -2
  59. pyedb/dotnet/{edb_core → database}/sim_setup_data/data/simulation_settings.py +1 -1
  60. pyedb/dotnet/{edb_core → database}/sim_setup_data/data/siw_dc_ir_settings.py +1 -1
  61. pyedb/dotnet/{edb_core → database}/sim_setup_data/data/sweep_data.py +4 -4
  62. pyedb/dotnet/{edb_core → database}/siwave.py +10 -10
  63. pyedb/dotnet/{edb_core → database}/stackup.py +12 -12
  64. pyedb/dotnet/{edb_core → database}/utilities/hfss_simulation_setup.py +15 -15
  65. pyedb/dotnet/{edb_core → database}/utilities/obj_base.py +1 -1
  66. pyedb/dotnet/{edb_core → database}/utilities/simulation_setup.py +4 -3
  67. pyedb/dotnet/{edb_core → database}/utilities/siwave_simulation_setup.py +6 -6
  68. pyedb/dotnet/edb.py +118 -113
  69. pyedb/extensions/pre_layout_design_toolkit/via_design.py +1151 -0
  70. pyedb/generic/design_types.py +26 -19
  71. pyedb/generic/general_methods.py +1 -1
  72. pyedb/generic/plot.py +0 -2
  73. pyedb/grpc/database/__init__.py +1 -0
  74. pyedb/grpc/database/components.py +2354 -0
  75. pyedb/grpc/database/control_file.py +1277 -0
  76. pyedb/grpc/database/definition/component_def.py +218 -0
  77. pyedb/grpc/database/definition/component_model.py +39 -0
  78. pyedb/grpc/database/definition/component_pin.py +32 -0
  79. pyedb/grpc/database/definition/materials.py +1207 -0
  80. pyedb/grpc/database/definition/n_port_component_model.py +34 -0
  81. pyedb/grpc/database/definition/package_def.py +227 -0
  82. pyedb/grpc/database/definition/padstack_def.py +842 -0
  83. pyedb/grpc/database/definitions.py +70 -0
  84. pyedb/grpc/database/general.py +43 -0
  85. pyedb/grpc/database/geometry/__init__.py +0 -0
  86. pyedb/grpc/database/geometry/arc_data.py +93 -0
  87. pyedb/grpc/database/geometry/point_3d_data.py +79 -0
  88. pyedb/grpc/database/geometry/point_data.py +30 -0
  89. pyedb/grpc/database/geometry/polygon_data.py +133 -0
  90. pyedb/grpc/database/hfss.py +1279 -0
  91. pyedb/grpc/database/hierarchy/__init__.py +0 -0
  92. pyedb/grpc/database/hierarchy/component.py +1301 -0
  93. pyedb/grpc/database/hierarchy/model.py +31 -0
  94. pyedb/grpc/database/hierarchy/netlist_model.py +30 -0
  95. pyedb/grpc/database/hierarchy/pin_pair_model.py +128 -0
  96. pyedb/grpc/database/hierarchy/pingroup.py +245 -0
  97. pyedb/grpc/database/hierarchy/s_parameter_model.py +33 -0
  98. pyedb/grpc/database/hierarchy/spice_model.py +48 -0
  99. pyedb/grpc/database/layers/__init__.py +0 -0
  100. pyedb/grpc/database/layers/layer.py +57 -0
  101. pyedb/grpc/database/layers/stackup_layer.py +410 -0
  102. pyedb/grpc/database/layout/__init__.py +0 -0
  103. pyedb/grpc/database/layout/cell.py +30 -0
  104. pyedb/grpc/database/layout/layout.py +196 -0
  105. pyedb/grpc/database/layout/voltage_regulator.py +149 -0
  106. pyedb/grpc/database/layout_validation.py +319 -0
  107. pyedb/grpc/database/modeler.py +1468 -0
  108. pyedb/grpc/database/net/__init__.py +0 -0
  109. pyedb/grpc/database/net/differential_pair.py +138 -0
  110. pyedb/grpc/database/net/extended_net.py +340 -0
  111. pyedb/grpc/database/net/net.py +198 -0
  112. pyedb/grpc/database/net/net_class.py +93 -0
  113. pyedb/grpc/database/nets.py +633 -0
  114. pyedb/grpc/database/padstacks.py +1500 -0
  115. pyedb/grpc/database/ports/__init__.py +0 -0
  116. pyedb/grpc/database/ports/ports.py +396 -0
  117. pyedb/grpc/database/primitive/__init__.py +3 -0
  118. pyedb/grpc/database/primitive/bondwire.py +181 -0
  119. pyedb/grpc/database/primitive/circle.py +75 -0
  120. pyedb/grpc/database/primitive/padstack_instance.py +1116 -0
  121. pyedb/grpc/database/primitive/path.py +346 -0
  122. pyedb/grpc/database/primitive/polygon.py +276 -0
  123. pyedb/grpc/database/primitive/primitive.py +739 -0
  124. pyedb/grpc/database/primitive/rectangle.py +146 -0
  125. pyedb/grpc/database/simulation_setup/__init__.py +0 -0
  126. pyedb/grpc/database/simulation_setup/adaptive_frequency.py +33 -0
  127. pyedb/grpc/database/simulation_setup/hfss_advanced_meshing_settings.py +32 -0
  128. pyedb/grpc/database/simulation_setup/hfss_advanced_settings.py +59 -0
  129. pyedb/grpc/database/simulation_setup/hfss_dcr_settings.py +35 -0
  130. pyedb/grpc/database/simulation_setup/hfss_general_settings.py +61 -0
  131. pyedb/grpc/database/simulation_setup/hfss_settings_options.py +78 -0
  132. pyedb/grpc/database/simulation_setup/hfss_simulation_settings.py +118 -0
  133. pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +355 -0
  134. pyedb/grpc/database/simulation_setup/hfss_solver_settings.py +34 -0
  135. pyedb/grpc/database/simulation_setup/mesh_operation.py +34 -0
  136. pyedb/grpc/database/simulation_setup/raptor_x_advanced_settings.py +34 -0
  137. pyedb/grpc/database/simulation_setup/raptor_x_general_settings.py +33 -0
  138. pyedb/grpc/database/simulation_setup/raptor_x_simulation_settings.py +64 -0
  139. pyedb/grpc/database/simulation_setup/raptor_x_simulation_setup.py +125 -0
  140. pyedb/grpc/database/simulation_setup/siwave_dcir_simulation_setup.py +34 -0
  141. pyedb/grpc/database/simulation_setup/siwave_simulation_setup.py +119 -0
  142. pyedb/grpc/database/simulation_setup/sweep_data.py +32 -0
  143. pyedb/grpc/database/siwave.py +1023 -0
  144. pyedb/grpc/database/source_excitations.py +2572 -0
  145. pyedb/grpc/database/stackup.py +2574 -0
  146. pyedb/grpc/database/terminal/__init__.py +0 -0
  147. pyedb/grpc/database/terminal/bundle_terminal.py +218 -0
  148. pyedb/grpc/database/terminal/edge_terminal.py +51 -0
  149. pyedb/grpc/database/terminal/padstack_instance_terminal.py +171 -0
  150. pyedb/grpc/database/terminal/pingroup_terminal.py +162 -0
  151. pyedb/grpc/database/terminal/point_terminal.py +99 -0
  152. pyedb/grpc/database/terminal/terminal.py +470 -0
  153. pyedb/grpc/database/utility/__init__.py +3 -0
  154. pyedb/grpc/database/utility/constants.py +25 -0
  155. pyedb/grpc/database/utility/heat_sink.py +124 -0
  156. pyedb/grpc/database/utility/hfss_extent_info.py +448 -0
  157. pyedb/grpc/database/utility/layout_statistics.py +277 -0
  158. pyedb/grpc/database/utility/rlc.py +80 -0
  159. pyedb/grpc/database/utility/simulation_configuration.py +3305 -0
  160. pyedb/grpc/database/utility/sources.py +388 -0
  161. pyedb/grpc/database/utility/sweep_data_distribution.py +83 -0
  162. pyedb/grpc/database/utility/xml_control_file.py +1277 -0
  163. pyedb/grpc/edb.py +4151 -0
  164. pyedb/grpc/edb_init.py +481 -0
  165. pyedb/grpc/rpc_session.py +177 -0
  166. pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +3 -2
  167. pyedb/ipc2581/ecad/cad_data/feature.py +4 -3
  168. pyedb/ipc2581/ecad/cad_data/layer_feature.py +32 -20
  169. pyedb/ipc2581/ecad/cad_data/outline.py +3 -2
  170. pyedb/ipc2581/ecad/cad_data/package.py +4 -3
  171. pyedb/ipc2581/ecad/cad_data/path.py +82 -31
  172. pyedb/ipc2581/ecad/cad_data/polygon.py +122 -60
  173. pyedb/ipc2581/ecad/cad_data/profile.py +13 -12
  174. pyedb/ipc2581/ecad/cad_data/step.py +52 -20
  175. pyedb/ipc2581/ipc2581.py +47 -49
  176. pyedb/modeler/geometry_operators.py +1 -1
  177. {pyedb-0.37.0.dist-info → pyedb-0.39.0.dist-info}/METADATA +9 -6
  178. pyedb-0.39.0.dist-info/RECORD +288 -0
  179. pyedb-0.37.0.dist-info/RECORD +0 -194
  180. /pyedb/dotnet/{edb_core → database}/__init__.py +0 -0
  181. /pyedb/dotnet/{application → database/cell}/__init__.py +0 -0
  182. /pyedb/dotnet/{edb_core/cell → database/cell/hierarchy}/__init__.py +0 -0
  183. /pyedb/dotnet/{edb_core → database}/cell/hierarchy/netlist_model.py +0 -0
  184. /pyedb/dotnet/{edb_core → database}/cell/hierarchy/pin_pair_model.py +0 -0
  185. /pyedb/dotnet/{edb_core → database}/cell/hierarchy/s_parameter_model.py +0 -0
  186. /pyedb/dotnet/{edb_core → database}/cell/hierarchy/spice_model.py +0 -0
  187. /pyedb/dotnet/{edb_core → database}/cell/primitive/__init__.py +0 -0
  188. /pyedb/dotnet/{edb_core/cell/hierarchy → database/cell/terminal}/__init__.py +0 -0
  189. /pyedb/dotnet/{edb_core/cell/terminal → database/definition}/__init__.py +0 -0
  190. /pyedb/dotnet/{edb_core/definition → database/dotnet}/__init__.py +0 -0
  191. /pyedb/dotnet/{edb_core/dotnet → database/edb_data}/__init__.py +0 -0
  192. /pyedb/dotnet/{edb_core → database}/edb_data/design_options.py +0 -0
  193. /pyedb/dotnet/{edb_core → database}/edb_data/edbvalue.py +0 -0
  194. /pyedb/dotnet/{edb_core → database}/edb_data/layer_data.py +0 -0
  195. /pyedb/dotnet/{edb_core → database}/edb_data/utilities.py +0 -0
  196. /pyedb/dotnet/{edb_core → database}/general.py +0 -0
  197. /pyedb/dotnet/{edb_core/edb_data → database/geometry}/__init__.py +0 -0
  198. /pyedb/dotnet/{edb_core → database}/geometry/point_data.py +0 -0
  199. /pyedb/dotnet/{edb_core → database}/sim_setup_data/__init__.py +0 -0
  200. /pyedb/dotnet/{edb_core → database}/sim_setup_data/data/__init__.py +0 -0
  201. /pyedb/dotnet/{edb_core → database}/sim_setup_data/data/adaptive_frequency_data.py +0 -0
  202. /pyedb/dotnet/{edb_core/geometry → database/sim_setup_data/io}/__init__.py +0 -0
  203. /pyedb/dotnet/{edb_core → database}/sim_setup_data/io/siwave.py +0 -0
  204. /pyedb/dotnet/{edb_core → database}/utilities/__init__.py +0 -0
  205. /pyedb/dotnet/{edb_core → database}/utilities/heatsink.py +0 -0
  206. /pyedb/{dotnet/edb_core/sim_setup_data/io → grpc/database/definition}/__init__.py +0 -0
  207. {pyedb-0.37.0.dist-info → pyedb-0.39.0.dist-info}/LICENSE +0 -0
  208. {pyedb-0.37.0.dist-info → pyedb-0.39.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,146 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+
24
+ from ansys.edb.core.primitive.primitive import (
25
+ RectangleRepresentationType as GrpcRectangleRepresentationType,
26
+ )
27
+ from ansys.edb.core.primitive.primitive import Rectangle as GrpcRectangle
28
+ from ansys.edb.core.utility.value import Value as GrpcValue
29
+
30
+ from pyedb.grpc.database.primitive.primitive import Primitive
31
+
32
+
33
+ class Rectangle(GrpcRectangle, Primitive):
34
+ """Class representing a rectangle object."""
35
+
36
+ def __init__(self, pedb, edb_object):
37
+ Primitive.__init__(self, pedb, edb_object)
38
+ GrpcRectangle.__init__(self, edb_object.msg)
39
+ self._pedb = pedb
40
+ self._mapping_representation_type = {
41
+ "center_width_height": GrpcRectangleRepresentationType.CENTER_WIDTH_HEIGHT,
42
+ "lower_left_upper_right": GrpcRectangleRepresentationType.LOWER_LEFT_UPPER_RIGHT,
43
+ }
44
+
45
+ @property
46
+ def polygon_data(self):
47
+ """PolygonData.
48
+
49
+ Returns
50
+ -------
51
+ :class:`PolygonData <ansys.edb.core.geometry.polygon_data.PolygonData>`
52
+
53
+ """
54
+ return self.cast().polygon_data
55
+
56
+ @property
57
+ def representation_type(self):
58
+ """Representation type.
59
+
60
+ Returns
61
+ -------
62
+ str.
63
+ ``"center_width_height"`` or ``"lower_left_upper_right"``.
64
+ """
65
+ return super().representation_type.name.lower()
66
+
67
+ @representation_type.setter
68
+ def representation_type(self, value):
69
+ if not value in self._mapping_representation_type:
70
+ super().representation_type = GrpcRectangleRepresentationType.INVALID_RECT_TYPE
71
+ else:
72
+ super().representation_type = self._mapping_representation_type[value]
73
+
74
+ def get_parameters(self):
75
+ """Get coordinates parameters.
76
+
77
+ Returns
78
+ -------
79
+ tuple[
80
+ str,
81
+ float,
82
+ float,
83
+ float,
84
+ float,
85
+ float,
86
+ float`
87
+ ]
88
+
89
+ Returns a tuple of the following format:
90
+
91
+ **(representation_type, parameter1, parameter2, parameter3, parameter4, corner_radius, rotation)**
92
+
93
+ **representation_type** : Type that defines given parameters meaning.
94
+
95
+ **parameter1** : X value of lower left point or center point.
96
+
97
+ **parameter2** : Y value of lower left point or center point.
98
+
99
+ **parameter3** : X value of upper right point or width.
100
+
101
+ **parameter4** : Y value of upper right point or height.
102
+
103
+ **corner_radius** : Corner radius.
104
+
105
+ **rotation** : Rotation.
106
+ """
107
+ parameters = super().get_parameters()
108
+ representation_type = parameters[0].name.lower()
109
+ parameter1 = parameters[1].value
110
+ parameter2 = parameters[2].value
111
+ parameter3 = parameters[3].value
112
+ parameter4 = parameters[4].value
113
+ corner_radius = parameters[5].value
114
+ rotation = parameters[6].value
115
+ return representation_type, parameter1, parameter2, parameter3, parameter4, corner_radius, rotation
116
+
117
+ def set_parameters(self, rep_type, param1, param2, param3, param4, corner_rad, rotation):
118
+ """Set coordinates parameters.
119
+
120
+ Parameters
121
+ ----------
122
+ rep_type : :class:`RectangleRepresentationType`
123
+ Type that defines given parameters meaning.
124
+ param1 : :class:`Value <ansys.edb.utility.Value>`
125
+ X value of lower left point or center point.
126
+ param2 : :class:`Value <ansys.edb.utility.Value>`
127
+ Y value of lower left point or center point.
128
+ param3 : :class:`Value <ansys.edb.utility.Value>`
129
+ X value of upper right point or width.
130
+ param4 : :class:`Value <ansys.edb.utility.Value>`
131
+ Y value of upper right point or height.
132
+ corner_rad : :class:`Value <ansys.edb.utility.Value>`
133
+ Corner radius.
134
+ rotation : :class:`Value <ansys.edb.utility.Value>`
135
+ Rotation.
136
+ """
137
+
138
+ return super().set_parameters(
139
+ self.representation_type[rep_type],
140
+ GrpcValue(param1),
141
+ GrpcValue(param2),
142
+ GrpcValue(param3),
143
+ GrpcValue(param4),
144
+ GrpcValue(corner_rad),
145
+ GrpcValue(rotation),
146
+ )
File without changes
@@ -0,0 +1,33 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+
24
+ from ansys.edb.core.simulation_setup.adaptive_solutions import (
25
+ AdaptiveFrequency as GrpcAdaptiveFrequency,
26
+ )
27
+
28
+
29
+ class AdaptiveFrequency(GrpcAdaptiveFrequency):
30
+ """EDB-core Adaptive Frequency class."""
31
+
32
+ def __init__(self, adaptive_frequency):
33
+ super().__init__(adaptive_frequency)
@@ -0,0 +1,32 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+ from ansys.edb.core.simulation_setup.hfss_simulation_settings import (
24
+ HFSSAdvancedMeshingSettings as GrpcHFSSAdvancedMeshingSettings,
25
+ )
26
+
27
+
28
+ class HFSSAdvancedMeshingSettings(GrpcHFSSAdvancedMeshingSettings):
29
+ def __init__(self, pedb, edb_object):
30
+ """EDB-core HFSS advanced meshing settings class."""
31
+ super().__init__(edb_object)
32
+ self._pedb = pedb
@@ -0,0 +1,59 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+
24
+ from ansys.edb.core.simulation_setup.hfss_simulation_settings import (
25
+ HFSSAdvancedSettings as GrpcHFSSAdvancedSettings,
26
+ )
27
+ from ansys.edb.core.simulation_setup.simulation_settings import ViaStyle as GrpcViaStyle
28
+
29
+
30
+ class HFSSAdvancedSettings(GrpcHFSSAdvancedSettings):
31
+ def __init__(self, pedb, edb_object):
32
+ super().__init__(edb_object)
33
+ self._pedb = pedb
34
+
35
+ @property
36
+ def via_model_type(self):
37
+ """Via model.
38
+
39
+ Returns
40
+ -------
41
+ str
42
+ Model type name.
43
+
44
+ """
45
+ return self.via_model_type.name
46
+
47
+ @via_model_type.setter
48
+ def via_model_type(self, value):
49
+ if isinstance(value, str):
50
+ if value.upper() == "WIREBOND":
51
+ self.via_model_type = GrpcViaStyle.WIREBOND
52
+ elif value.lower() == "RIBBON":
53
+ self.via_model_type = GrpcViaStyle.RIBBON
54
+ elif value.lower() == "MESH":
55
+ self.via_model_type = GrpcViaStyle.MESH
56
+ elif value.lower() == "FIELD":
57
+ self.via_model_type = GrpcViaStyle.FIELD
58
+ elif value.lower() == "NUM_VIA_STYLE":
59
+ self.via_model_type = GrpcViaStyle.NUM_VIA_STYLE
@@ -0,0 +1,35 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+
24
+ from ansys.edb.core.simulation_setup.hfss_simulation_settings import (
25
+ HFSSDCRSettings as GrpcHFSSDCRSettings,
26
+ )
27
+
28
+
29
+ class HFSSDCRSettings(GrpcHFSSDCRSettings):
30
+ """PyEDB-core HFSS DC settings class."""
31
+
32
+ def __init__(self, pedb, edb_object):
33
+ super().__init__(edb_object)
34
+ self._edb_object = edb_object
35
+ self._pedb = pedb
@@ -0,0 +1,61 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+
24
+ from ansys.edb.core.simulation_setup.hfss_simulation_settings import (
25
+ AdaptType as GrpcAdaptType,
26
+ )
27
+ from ansys.edb.core.simulation_setup.hfss_simulation_settings import (
28
+ HFSSGeneralSettings as GrpcHFSSGeneralSettings,
29
+ )
30
+
31
+
32
+ class HFSSGeneralSettings(GrpcHFSSGeneralSettings):
33
+ """PyEDB-core HFSS general settings class."""
34
+
35
+ def __init__(self, pedb, edb_object):
36
+ super().__init__(edb_object)
37
+ self._pedb = pedb
38
+
39
+ @property
40
+ def adaptive_solution_type(self):
41
+ """Adaptive solution type.
42
+
43
+ Returns
44
+ -------
45
+ str
46
+ Adaptive solution type name.
47
+
48
+ """
49
+ return self.adaptive_solution_type.name
50
+
51
+ @adaptive_solution_type.setter
52
+ def adaptive_solution_type(self, value):
53
+ if isinstance(value, str):
54
+ if value.lower() == "singlw":
55
+ self.adaptive_solution_type = GrpcAdaptType.SINGLE
56
+ elif value.lower() == "multi_frequencies":
57
+ self.adaptive_solution_type = GrpcAdaptType.MULTI_FREQUENCIES
58
+ elif value.lower() == "broad_band":
59
+ self.adaptive_solution_type = GrpcAdaptType.BROADBAND
60
+ elif value.lower() == "num_adapt_type":
61
+ self.adaptive_solution_type = GrpcAdaptType.NUM_ADAPT_TYPE
@@ -0,0 +1,78 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+
24
+ from ansys.edb.core.simulation_setup.hfss_simulation_settings import (
25
+ BasisFunctionOrder as GrpcBasisFunctionOrder,
26
+ )
27
+ from ansys.edb.core.simulation_setup.hfss_simulation_settings import (
28
+ HFSSSettingsOptions as GrpcHFSSSettingsOptions,
29
+ )
30
+ from ansys.edb.core.simulation_setup.hfss_simulation_settings import (
31
+ SolverType as GrpcSolverType,
32
+ )
33
+
34
+
35
+ class HFSSSettingsOptions(GrpcHFSSSettingsOptions):
36
+ """PyEDB-core HFSS settings options class."""
37
+
38
+ def __init__(self, _pedb, edb_object):
39
+ super().__init__(edb_object)
40
+ self._pedb = _pedb
41
+
42
+ @property
43
+ def order_basis(self):
44
+ """Order basis name.
45
+
46
+ Returns
47
+ -------
48
+ str
49
+ Order basis name.
50
+
51
+ """
52
+ return self.order_basis.name
53
+
54
+ @order_basis.setter
55
+ def order_basis(self, value):
56
+ if value == "ZERO_ORDER":
57
+ self.order_basis = GrpcBasisFunctionOrder.ZERO_ORDER
58
+ elif value == "FIRST_ORDER":
59
+ self.order_basis = GrpcBasisFunctionOrder.FIRST_ORDER
60
+ elif value == "SECOND_ORDER":
61
+ self.order_basis = GrpcBasisFunctionOrder.SECOND_ORDER
62
+ elif value == "MIXED_ORDER":
63
+ self.order_basis = GrpcBasisFunctionOrder.MIXED_ORDER
64
+
65
+ @property
66
+ def solver_type(self):
67
+ return self.solver_type.name()
68
+
69
+ @solver_type.setter
70
+ def solver_type(self, value):
71
+ if value == "AUTO_SOLVER":
72
+ self.solver_type = GrpcSolverType.AUTO_SOLVER
73
+ elif value == "DIRECT_SOLVER":
74
+ self.solver_type = GrpcSolverType.DIRECT_SOLVER
75
+ elif value == "ITERATIVE_SOLVER":
76
+ self.solver_type = GrpcSolverType.ITERATIVE_SOLVER
77
+ elif value == "NUM_SOLVER_TYPES":
78
+ self.solver_type = GrpcSolverType.NUM_SOLVER_TYPES
@@ -0,0 +1,118 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+
24
+ from ansys.edb.core.simulation_setup.hfss_simulation_settings import (
25
+ HFSSSimulationSettings as GrpcHFSSSimulationSettings,
26
+ )
27
+
28
+ from pyedb.grpc.database.simulation_setup.hfss_advanced_meshing_settings import (
29
+ HFSSAdvancedMeshingSettings,
30
+ )
31
+ from pyedb.grpc.database.simulation_setup.hfss_advanced_settings import (
32
+ HFSSAdvancedSettings,
33
+ )
34
+ from pyedb.grpc.database.simulation_setup.hfss_dcr_settings import HFSSDCRSettings
35
+ from pyedb.grpc.database.simulation_setup.hfss_general_settings import (
36
+ HFSSGeneralSettings,
37
+ )
38
+ from pyedb.grpc.database.simulation_setup.hfss_settings_options import (
39
+ HFSSSettingsOptions,
40
+ )
41
+ from pyedb.grpc.database.simulation_setup.hfss_solver_settings import HFSSSolverSettings
42
+
43
+
44
+ class HFSSSimulationSettings(GrpcHFSSSimulationSettings):
45
+ """PyEDB-core HFSS simulation settings class."""
46
+
47
+ def __init__(self, pedb, edb_object):
48
+ super().__init__(edb_object)
49
+ self._edb_object = edb_object
50
+ self._pedb = pedb
51
+
52
+ @property
53
+ def advanced(self):
54
+ """HFSS Advanced settings class.
55
+
56
+
57
+ Returns
58
+ -------
59
+ :class:`HFSSAdvancedSettings <pyedb.grpc.database.simulation_setup.hfss_advanced_settings.HFSSAdvancedSettings>`
60
+
61
+ """
62
+ return HFSSAdvancedSettings(self._pedb, self.advanced)
63
+
64
+ @property
65
+ def advanced_meshing(self):
66
+ """Advanced meshing class.
67
+
68
+ Returns
69
+ -------
70
+ :class:`HFSSAdvancedMeshingSettings <pyedb.grpc.database.simulation_setup.
71
+ hfss_advanced_meshing_settings.HFSSAdvancedMeshingSettings>`
72
+
73
+ """
74
+ return HFSSAdvancedMeshingSettings(self._pedb, self.advanced_meshing)
75
+
76
+ @property
77
+ def dcr(self):
78
+ """Dcr.
79
+
80
+ Returns
81
+ -------
82
+ :class:`HFSSDCRSettings <pyedb.grpc.database.simulation_setup.hfss_dcr_settings.HFSSDCRSettings>`
83
+
84
+ """
85
+ return HFSSDCRSettings(self._pedb, self.dcr)
86
+
87
+ @property
88
+ def general(self):
89
+ """General settings class.
90
+
91
+ Returns
92
+ -------
93
+ :class:`HFSSGeneralSettings <pyedb.grpc.database.simulation_setup.hfss_general_settings.HFSSGeneralSettings>`
94
+
95
+ """
96
+ return HFSSGeneralSettings(self._pedb, self.general)
97
+
98
+ @property
99
+ def options(self):
100
+ """HFSS option class.
101
+
102
+ Returns
103
+ -------
104
+ :class:`HFSSSettingsOptions <pyedb.grpc.database.simulation_setup.hfss_settings_options.HFSSSettingsOptions>`
105
+
106
+ """
107
+ return HFSSSettingsOptions(self._pedb, self.options)
108
+
109
+ @property
110
+ def solver(self):
111
+ """HFSS solver settings class.
112
+
113
+ Returns
114
+ -------
115
+ :class:`HFSSSolverSettings <pyedb.grpc.database.simulation_setup.hfss_solver_settings.HFSSSolverSettings>`
116
+
117
+ """
118
+ return HFSSSolverSettings(self._pedb, self.solver)