pyedb 0.50.0__py3-none-any.whl → 0.50.1__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 (62) hide show
  1. pyedb/__init__.py +1 -1
  2. pyedb/dotnet/database/cell/hierarchy/component.py +3 -3
  3. pyedb/dotnet/database/edb_data/padstacks_data.py +13 -0
  4. pyedb/grpc/database/components.py +494 -652
  5. pyedb/grpc/database/control_file.py +458 -149
  6. pyedb/grpc/database/definition/component_def.py +17 -14
  7. pyedb/grpc/database/definition/materials.py +27 -27
  8. pyedb/grpc/database/definition/package_def.py +8 -8
  9. pyedb/grpc/database/definition/padstack_def.py +31 -33
  10. pyedb/grpc/database/geometry/arc_data.py +5 -5
  11. pyedb/grpc/database/geometry/point_3d_data.py +3 -3
  12. pyedb/grpc/database/geometry/polygon_data.py +5 -5
  13. pyedb/grpc/database/hfss.py +397 -395
  14. pyedb/grpc/database/hierarchy/component.py +58 -57
  15. pyedb/grpc/database/hierarchy/pin_pair_model.py +6 -6
  16. pyedb/grpc/database/hierarchy/pingroup.py +13 -11
  17. pyedb/grpc/database/hierarchy/s_parameter_model.py +1 -1
  18. pyedb/grpc/database/hierarchy/spice_model.py +1 -1
  19. pyedb/grpc/database/layers/layer.py +2 -2
  20. pyedb/grpc/database/layers/stackup_layer.py +26 -23
  21. pyedb/grpc/database/layout/layout.py +12 -12
  22. pyedb/grpc/database/layout/voltage_regulator.py +8 -8
  23. pyedb/grpc/database/modeler.py +248 -245
  24. pyedb/grpc/database/net/differential_pair.py +4 -4
  25. pyedb/grpc/database/net/extended_net.py +7 -8
  26. pyedb/grpc/database/net/net.py +57 -46
  27. pyedb/grpc/database/nets.py +139 -122
  28. pyedb/grpc/database/padstacks.py +174 -190
  29. pyedb/grpc/database/ports/ports.py +23 -17
  30. pyedb/grpc/database/primitive/padstack_instance.py +45 -30
  31. pyedb/grpc/database/primitive/path.py +6 -6
  32. pyedb/grpc/database/primitive/polygon.py +9 -9
  33. pyedb/grpc/database/primitive/primitive.py +21 -21
  34. pyedb/grpc/database/primitive/rectangle.py +1 -1
  35. pyedb/grpc/database/simulation_setup/hfss_advanced_settings.py +1 -1
  36. pyedb/grpc/database/simulation_setup/hfss_general_settings.py +1 -1
  37. pyedb/grpc/database/simulation_setup/hfss_settings_options.py +1 -1
  38. pyedb/grpc/database/simulation_setup/hfss_simulation_settings.py +6 -6
  39. pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +2 -2
  40. pyedb/grpc/database/simulation_setup/raptor_x_simulation_settings.py +2 -2
  41. pyedb/grpc/database/simulation_setup/raptor_x_simulation_setup.py +1 -1
  42. pyedb/grpc/database/simulation_setup/siwave_simulation_setup.py +3 -3
  43. pyedb/grpc/database/siwave.py +166 -214
  44. pyedb/grpc/database/stackup.py +365 -292
  45. pyedb/grpc/database/terminal/bundle_terminal.py +12 -12
  46. pyedb/grpc/database/terminal/edge_terminal.py +6 -5
  47. pyedb/grpc/database/terminal/padstack_instance_terminal.py +13 -13
  48. pyedb/grpc/database/terminal/pingroup_terminal.py +12 -12
  49. pyedb/grpc/database/terminal/point_terminal.py +6 -6
  50. pyedb/grpc/database/terminal/terminal.py +26 -26
  51. pyedb/grpc/database/utility/heat_sink.py +5 -5
  52. pyedb/grpc/database/utility/hfss_extent_info.py +21 -21
  53. pyedb/grpc/database/utility/layout_statistics.py +13 -13
  54. pyedb/grpc/database/utility/rlc.py +3 -3
  55. pyedb/grpc/database/utility/sources.py +1 -1
  56. pyedb/grpc/database/utility/sweep_data_distribution.py +1 -1
  57. pyedb/grpc/edb.py +422 -672
  58. {pyedb-0.50.0.dist-info → pyedb-0.50.1.dist-info}/METADATA +1 -1
  59. {pyedb-0.50.0.dist-info → pyedb-0.50.1.dist-info}/RECORD +61 -62
  60. pyedb/grpc/database/utility/simulation_configuration.py +0 -3305
  61. {pyedb-0.50.0.dist-info → pyedb-0.50.1.dist-info}/LICENSE +0 -0
  62. {pyedb-0.50.0.dist-info → pyedb-0.50.1.dist-info}/WHEEL +0 -0
@@ -37,66 +37,136 @@ from pyedb.modeler.geometry_operators import GeometryOperators
37
37
 
38
38
 
39
39
  class Hfss(object):
40
- """Manages EDB method to configure Hfss setup accessible from `Edb.hfss` property."""
40
+ """Manages EDB methods for HFSS setup configuration.
41
+
42
+ Provides access to HFSS-specific operations including:
43
+ - Excitation and port creation
44
+ - Source and probe management
45
+ - Simulation setup configuration
46
+ - Boundary condition creation
47
+ - Layout manipulation for simulation
48
+
49
+ Accessed via `Edb.hfss` property.
50
+ """
41
51
 
42
52
  def __init__(self, p_edb):
43
53
  self._pedb = p_edb
44
54
 
45
55
  @property
46
56
  def hfss_extent_info(self) -> HfssExtentInfo:
47
- """HFSS extent information."""
57
+ """HFSS extent information.
58
+
59
+ Returns
60
+ -------
61
+ HfssExtentInfo
62
+ Object containing HFSS extent configuration data.
63
+ """
48
64
  return HfssExtentInfo(self._pedb)
49
65
 
50
66
  @property
51
67
  def _logger(self):
68
+ """Logger instance for message handling.
69
+
70
+ Returns
71
+ -------
72
+ logging.Logger
73
+ Current logger instance.
74
+ """
52
75
  return self._pedb.logger
53
76
 
54
77
  @property
55
78
  def _edb(self):
56
- """EDB object.
79
+ """EDB API object.
57
80
 
58
81
  Returns
59
82
  -------
60
83
  Ansys.Ansoft.Edb
84
+ EDB API instance.
61
85
  """
62
86
  return self._pedb
63
87
 
64
88
  @property
65
89
  def _active_layout(self):
90
+ """Active layout object.
91
+
92
+ Returns
93
+ -------
94
+ Edb.Cell.Layout
95
+ Current active layout.
96
+ """
66
97
  return self._pedb.active_layout
67
98
 
68
99
  @property
69
100
  def _layout(self):
101
+ """Current layout object.
102
+
103
+ Returns
104
+ -------
105
+ Edb.Cell.Layout
106
+ Current layout.
107
+ """
70
108
  return self._pedb.layout
71
109
 
72
110
  @property
73
111
  def _cell(self):
112
+ """Current cell object.
113
+
114
+ Returns
115
+ -------
116
+ Edb.Cell
117
+ Current cell.
118
+ """
74
119
  return self._pedb.cell
75
120
 
76
121
  @property
77
122
  def _db(self):
123
+ """Active database object.
124
+
125
+ Returns
126
+ -------
127
+ Edb.Database
128
+ Active database.
129
+ """
78
130
  return self._pedb.active_db
79
131
 
80
132
  @property
81
133
  def excitations(self):
82
- """Get all excitations."""
134
+ """All excitation definitions in the layout.
135
+
136
+ Returns
137
+ -------
138
+ list
139
+ List of excitation objects.
140
+ """
83
141
  return self._pedb.excitations
84
142
 
85
143
  @property
86
144
  def sources(self):
87
- """Get all sources."""
145
+ """All source definitions in the layout.
146
+
147
+ Returns
148
+ -------
149
+ list
150
+ List of source objects.
151
+ """
88
152
  return self._pedb.sources
89
153
 
90
154
  @property
91
155
  def probes(self):
92
- """Get all probes."""
156
+ """All probe definitions in the layout.
157
+
158
+ Returns
159
+ -------
160
+ list
161
+ List of probe objects.
162
+ """
93
163
  return self._pedb.probes
94
164
 
95
165
  def _create_edge_terminal(self, prim_id, point_on_edge, terminal_name=None, is_ref=False):
96
- """Create an edge terminal.
166
+ """Create an edge terminal (deprecated).
97
167
 
98
- . deprecated:: pyedb 0.28.0
99
- Use :func:`_create_edge_terminal` is move to pyedb.grpc.database.excitations._create_edge_terminal instead.
168
+ .. deprecated:: 0.28.0
169
+ Use :func:`pyedb.grpc.core.excitations._create_edge_terminal` instead.
100
170
 
101
171
  Parameters
102
172
  ----------
@@ -104,17 +174,15 @@ class Hfss(object):
104
174
  Primitive ID.
105
175
  point_on_edge : list
106
176
  Coordinate of the point to define the edge terminal.
107
- The point must be on the target edge but not on the two
108
- ends of the edge.
109
177
  terminal_name : str, optional
110
- Name of the terminal. The default is ``None``, in which case the
111
- default name is assigned.
178
+ Name of the terminal.
112
179
  is_ref : bool, optional
113
- Whether it is a reference terminal. The default is ``False``.
180
+ Whether it is a reference terminal.
114
181
 
115
182
  Returns
116
183
  -------
117
184
  Edb.Cell.Terminal.EdgeTerminal
185
+ Created edge terminal.
118
186
  """
119
187
  warnings.warn(
120
188
  "`_create_edge_terminal` is deprecated and is now located here "
@@ -126,12 +194,12 @@ class Hfss(object):
126
194
  )
127
195
 
128
196
  def get_trace_width_for_traces_with_ports(self):
129
- """Retrieve the trace width for traces with ports.
197
+ """Retrieve trace widths for traces with ports.
130
198
 
131
199
  Returns
132
- -------<
200
+ -------
133
201
  dict
134
- Dictionary of trace width data.
202
+ Dictionary mapping net names to smallest trace widths.
135
203
  """
136
204
  nets = {}
137
205
  for net in self._pedb.excitations_nets:
@@ -139,27 +207,26 @@ class Hfss(object):
139
207
  return nets
140
208
 
141
209
  def create_circuit_port_on_pin(self, pos_pin, neg_pin, impedance=50, port_name=None):
142
- """Create Circuit Port on Pin.
210
+ """Create circuit port between two pins (deprecated).
143
211
 
144
- . deprecated:: pyedb 0.28.0
145
- Use :func:`pyedb.grpc.core.excitations.create_circuit_port_on_pin` instead.
212
+ .. deprecated:: 0.28.0
213
+ Use :func:`pyedb.grpc.core.excitations.create_circuit_port_on_pin` instead.
146
214
 
147
215
  Parameters
148
216
  ----------
149
- pos_pin : Object
150
- Edb Pin
151
- neg_pin : Object
152
- Edb Pin
153
- impedance : float
154
- Port Impedance
217
+ pos_pin : Edb.Cell.Primitive.PadstackInstance
218
+ Positive pin.
219
+ neg_pin : Edb.Cell.Primitive.PadstackInstance
220
+ Negative pin.
221
+ impedance : float, optional
222
+ Port impedance.
155
223
  port_name : str, optional
156
- Port Name
224
+ Port name.
157
225
 
158
226
  Returns
159
227
  -------
160
228
  str
161
- Port Name.
162
-
229
+ Port name.
163
230
  """
164
231
  warnings.warn(
165
232
  "`create_circuit_port_on_pin` is deprecated and is now located here "
@@ -169,36 +236,28 @@ class Hfss(object):
169
236
  return self._pedb.excitations.create_circuit_port_on_pin(pos_pin, neg_pin, impedance, port_name)
170
237
 
171
238
  def create_voltage_source_on_pin(self, pos_pin, neg_pin, voltage_value=3.3, phase_value=0, source_name=""):
172
- """Create a voltage source.
239
+ """Create voltage source between two pins (deprecated).
173
240
 
174
- . deprecated:: pyedb 0.28.0
175
- Use :func:`pyedb.grpc.core.excitations.create_voltage_source_on_pin` instead.
241
+ .. deprecated:: 0.28.0
242
+ Use :func:`pyedb.grpc.core.excitations.create_voltage_source_on_pin` instead.
176
243
 
177
244
  Parameters
178
245
  ----------
179
- pos_pin : Object
180
- Positive Pin.
181
- neg_pin : Object
182
- Negative Pin.
246
+ pos_pin : Edb.Cell.Primitive.PadstackInstance
247
+ Positive pin.
248
+ neg_pin : Edb.Cell.Primitive.PadstackInstance
249
+ Negative pin.
183
250
  voltage_value : float, optional
184
- Value for the voltage. The default is ``3.3``.
185
- phase_value : optional
186
- Value for the phase. The default is ``0``.
251
+ Voltage value.
252
+ phase_value : float, optional
253
+ Phase value.
187
254
  source_name : str, optional
188
- Name of the source. The default is ``""``.
255
+ Source name.
189
256
 
190
257
  Returns
191
258
  -------
192
259
  str
193
- Source Name.
194
-
195
- Examples
196
- --------
197
-
198
- >>> from pyedb import Edb
199
- >>> edbapp = Edb("myaedbfolder", "project name", "release version")
200
- >>> pins =edbapp.components.get_pin_from_component("U2A5")
201
- >>> edbapp.hfss.create_voltage_source_on_pin(pins[0], pins[1],50,"source_name")
260
+ Source name.
202
261
  """
203
262
  warnings.warn(
204
263
  "`create_voltage_source_on_pin` is deprecated and is now located here "
@@ -210,36 +269,28 @@ class Hfss(object):
210
269
  )
211
270
 
212
271
  def create_current_source_on_pin(self, pos_pin, neg_pin, current_value=0.1, phase_value=0, source_name=""):
213
- """Create a current source.
272
+ """Create current source between two pins (deprecated).
214
273
 
215
- . deprecated:: pyedb 0.28.0
216
- Use :func:`pyedb.grpc.core.excitations.create_current_source_on_pin` instead.
274
+ .. deprecated:: 0.28.0
275
+ Use :func:`pyedb.grpc.core.excitations.create_current_source_on_pin` instead.
217
276
 
218
277
  Parameters
219
278
  ----------
220
- pos_pin : Object
221
- Positive Pin.
222
- neg_pin : Object
223
- Negative Pin.
279
+ pos_pin : Edb.Cell.Primitive.PadstackInstance
280
+ Positive pin.
281
+ neg_pin : Edb.Cell.Primitive.PadstackInstance
282
+ Negative pin.
224
283
  current_value : float, optional
225
- Value for the current. The default is ``0.1``.
226
- phase_value : optional
227
- Value for the phase. The default is ``0``.
284
+ Current value.
285
+ phase_value : float, optional
286
+ Phase value.
228
287
  source_name : str, optional
229
- Name of the source. The default is ``""``.
288
+ Source name.
230
289
 
231
290
  Returns
232
291
  -------
233
292
  str
234
- Source Name.
235
-
236
- Examples
237
- --------
238
-
239
- >>> from pyedb import Edb
240
- >>> edbapp = Edb("myaedbfolder", "project name", "release version")
241
- >>> pins =edbapp.components.get_pin_from_component("U2A5")
242
- >>> edbapp.hfss.create_current_source_on_pin(pins[0], pins[1],50,"source_name")
293
+ Source name.
243
294
  """
244
295
  warnings.warn(
245
296
  "`create_current_source_on_pin` is deprecated and is now located here "
@@ -251,34 +302,26 @@ class Hfss(object):
251
302
  )
252
303
 
253
304
  def create_resistor_on_pin(self, pos_pin, neg_pin, rvalue=1, resistor_name=""):
254
- """Create a Resistor boundary between two given pins.
305
+ """Create resistor between two pins (deprecated).
255
306
 
256
- . deprecated:: pyedb 0.28.0
257
- Use :func:`pyedb.grpc.core.excitations.create_resistor_on_pin` instead.
307
+ .. deprecated:: 0.28.0
308
+ Use :func:`pyedb.grpc.core.excitations.create_resistor_on_pin` instead.
258
309
 
259
310
  Parameters
260
311
  ----------
261
- pos_pin : Object
262
- Positive Pin.
263
- neg_pin : Object
264
- Negative Pin.
312
+ pos_pin : Edb.Cell.Primitive.PadstackInstance
313
+ Positive pin.
314
+ neg_pin : Edb.Cell.Primitive.PadstackInstance
315
+ Negative pin.
265
316
  rvalue : float, optional
266
- Resistance value. The default is ``1``.
317
+ Resistance value.
267
318
  resistor_name : str, optional
268
- Name of the resistor. The default is ``""``.
319
+ Resistor name.
269
320
 
270
321
  Returns
271
322
  -------
272
323
  str
273
- Name of the Resistor.
274
-
275
- Examples
276
- --------
277
-
278
- >>> from pyedb import Edb
279
- >>> edbapp = Edb("myaedbfolder", "project name", "release version")
280
- >>> pins =edbapp.components.get_pin_from_component("U2A5")
281
- >>> edbapp.hfss.create_resistor_on_pin(pins[0], pins[1],50,"res_name")
324
+ Resistor name.
282
325
  """
283
326
  warnings.warn(
284
327
  "`create_resistor_on_pin` is deprecated and is now located here "
@@ -296,35 +339,31 @@ class Hfss(object):
296
339
  impedance_value=50,
297
340
  port_name="",
298
341
  ):
299
- """Create a circuit port on a NET.
300
-
301
- . deprecated:: pyedb 0.28.0
302
- Use :func:`pyedb.grpc.core.excitations.create_circuit_port_on_net` instead.
342
+ """Create circuit port on net (deprecated).
303
343
 
304
- It groups all pins belonging to the specified net and then applies the port on PinGroups.
344
+ .. deprecated:: 0.28.0
345
+ Use :func:`pyedb.grpc.core.excitations.create_circuit_port_on_net` instead.
305
346
 
306
347
  Parameters
307
348
  ----------
308
349
  positive_component_name : str
309
- Name of the positive component.
350
+ Positive component name.
310
351
  positive_net_name : str
311
- Name of the positive net.
352
+ Positive net name.
312
353
  negative_component_name : str, optional
313
- Name of the negative component. The default is ``None``, in which case the name of
314
- the positive net is assigned.
354
+ Negative component name.
315
355
  negative_net_name : str, optional
316
- Name of the negative net name. The default is ``"GND"``.
356
+ Negative net name.
317
357
  impedance_value : float, optional
318
- Port impedance value. The default is ``50``.
358
+ Port impedance.
319
359
  port_name : str, optional
320
- Name of the port. The default is ``""``.
360
+ Port name.
321
361
 
322
362
  Returns
323
363
  -------
324
364
  str
325
- The name of the port.
365
+ Port name.
326
366
  """
327
-
328
367
  warnings.warn(
329
368
  "`create_circuit_port_on_net` is deprecated and is now located here "
330
369
  "`pyedb.grpc.core.excitations.create_circuit_port_on_net` instead.",
@@ -349,35 +388,33 @@ class Hfss(object):
349
388
  phase_value=0,
350
389
  source_name="",
351
390
  ):
352
- """Create a voltage source.
391
+ """Create voltage source on net (deprecated).
353
392
 
354
- . deprecated:: pyedb 0.28.0
355
- Use :func:`pyedb.grpc.core.excitations.create_voltage_source_on_net` instead.
393
+ .. deprecated:: 0.28.0
394
+ Use :func:`pyedb.grpc.core.excitations.create_voltage_source_on_net` instead.
356
395
 
357
396
  Parameters
358
397
  ----------
359
398
  positive_component_name : str
360
- Name of the positive component.
399
+ Positive component name.
361
400
  positive_net_name : str
362
- Name of the positive net.
401
+ Positive net name.
363
402
  negative_component_name : str, optional
364
- Name of the negative component. The default is ``None``, in which case the name of
365
- the positive net is assigned.
403
+ Negative component name.
366
404
  negative_net_name : str, optional
367
- Name of the negative net. The default is ``"GND"``.
405
+ Negative net name.
368
406
  voltage_value : float, optional
369
- Value for the voltage. The default is ``3.3``.
370
- phase_value : optional
371
- Value for the phase. The default is ``0``.
407
+ Voltage value.
408
+ phase_value : float, optional
409
+ Phase value.
372
410
  source_name : str, optional
373
- Name of the source. The default is ``""``.
411
+ Source name.
374
412
 
375
413
  Returns
376
414
  -------
377
415
  str
378
- Source Name.
416
+ Source name.
379
417
  """
380
-
381
418
  warnings.warn(
382
419
  "`create_voltage_source_on_net` is deprecated and is now located here "
383
420
  "`pyedb.grpc.core.excitations.create_voltage_source_on_net` instead.",
@@ -403,35 +440,33 @@ class Hfss(object):
403
440
  phase_value=0,
404
441
  source_name="",
405
442
  ):
406
- """Create a current source.
443
+ """Create current source on net (deprecated).
407
444
 
408
- . deprecated:: pyedb 0.28.0
409
- Use :func:`pyedb.grpc.core.excitations.create_current_source_on_net` instead.
445
+ .. deprecated:: 0.28.0
446
+ Use :func:`pyedb.grpc.core.excitations.create_current_source_on_net` instead.
410
447
 
411
448
  Parameters
412
449
  ----------
413
450
  positive_component_name : str
414
- Name of the positive component.
451
+ Positive component name.
415
452
  positive_net_name : str
416
- Name of the positive net.
453
+ Positive net name.
417
454
  negative_component_name : str, optional
418
- Name of the negative component. The default is ``None``, in which case the name of
419
- the positive net is assigned.
455
+ Negative component name.
420
456
  negative_net_name : str, optional
421
- Name of the negative net. The default is ``"GND"``.
457
+ Negative net name.
422
458
  current_value : float, optional
423
- Value for the current. The default is ``0.1``.
424
- phase_value : optional
425
- Value for the phase. The default is ``0``.
459
+ Current value.
460
+ phase_value : float, optional
461
+ Phase value.
426
462
  source_name : str, optional
427
- Name of the source. The default is ``""``.
463
+ Source name.
428
464
 
429
465
  Returns
430
466
  -------
431
467
  str
432
- Source Name.
468
+ Source name.
433
469
  """
434
-
435
470
  warnings.warn(
436
471
  "`create_current_source_on_net` is deprecated and is now located here "
437
472
  "`pyedb.grpc.core.excitations.create_current_source_on_net` instead.",
@@ -448,25 +483,24 @@ class Hfss(object):
448
483
  )
449
484
 
450
485
  def create_coax_port_on_component(self, ref_des_list, net_list, delete_existing_terminal=False):
451
- """Create a coaxial port on a component or component list on a net or net list.
452
- The name of the new coaxial port is automatically assigned.
486
+ """Create coaxial port on component (deprecated).
453
487
 
454
- . deprecated:: pyedb 0.28.0
455
- Use :func:`pyedb.grpc.core.excitations.create_coax_port_on_component` instead.
488
+ .. deprecated:: 0.28.0
489
+ Use :func:`pyedb.grpc.core.excitations.create_coax_port_on_component` instead.
456
490
 
457
491
  Parameters
458
492
  ----------
459
493
  ref_des_list : list, str
460
- List of one or more reference designators.
461
-
494
+ Reference designator(s).
462
495
  net_list : list, str
463
- List of one or more nets.
496
+ Net name(s).
497
+ delete_existing_terminal : bool, optional
498
+ Delete existing terminals.
464
499
 
465
500
  Returns
466
501
  -------
467
502
  bool
468
- ``True`` when successful, ``False`` when failed.
469
-
503
+ True if successful, False otherwise.
470
504
  """
471
505
  warnings.warn(
472
506
  "`create_coax_port_on_component` is deprecated and is now located here "
@@ -488,39 +522,34 @@ class Hfss(object):
488
522
  vertical_extent_factor=3,
489
523
  pec_launch_width="0.01mm",
490
524
  ):
491
- """Create a differential wave port.
525
+ """Create differential wave port (deprecated).
492
526
 
493
- . deprecated:: pyedb 0.28.0
494
- Use :func:`pyedb.grpc.core.excitations.create_differential_wave_port` instead.
527
+ .. deprecated:: 0.28.0
528
+ Use :func:`pyedb.grpc.core.excitations.create_differential_wave_port` instead.
495
529
 
496
530
  Parameters
497
531
  ----------
498
532
  positive_primitive_id : int, EDBPrimitives
499
- Primitive ID of the positive terminal.
533
+ Positive primitive ID.
500
534
  positive_points_on_edge : list
501
- Coordinate of the point to define the edge terminal.
502
- The point must be close to the target edge but not on the two
503
- ends of the edge.
535
+ Point coordinates on positive edge.
504
536
  negative_primitive_id : int, EDBPrimitives
505
- Primitive ID of the negative terminal.
537
+ Negative primitive ID.
506
538
  negative_points_on_edge : list
507
- Coordinate of the point to define the edge terminal.
508
- The point must be close to the target edge but not on the two
509
- ends of the edge.
539
+ Point coordinates on negative edge.
510
540
  port_name : str, optional
511
- Name of the port. The default is ``None``.
541
+ Port name.
512
542
  horizontal_extent_factor : int, float, optional
513
- Horizontal extent factor. The default value is ``5``.
543
+ Horizontal extent factor.
514
544
  vertical_extent_factor : int, float, optional
515
- Vertical extent factor. The default value is ``3``.
545
+ Vertical extent factor.
516
546
  pec_launch_width : str, optional
517
- Launch Width of PEC. The default value is ``"0.01mm"``.
547
+ PEC launch width.
518
548
 
519
549
  Returns
520
550
  -------
521
551
  tuple
522
- The tuple contains: (port_name, pyedb.dotnet.database.edb_data.sources.ExcitationDifferential).
523
-
552
+ (Port name, ExcitationDifferential) tuple.
524
553
  """
525
554
  warnings.warn(
526
555
  "`create_differential_wave_port` is deprecated and is now located here "
@@ -547,32 +576,30 @@ class Hfss(object):
547
576
  vertical_extent_factor=3,
548
577
  pec_launch_width="0.01mm",
549
578
  ):
550
- """Create a bundle wave port.
579
+ """Create bundle wave port (deprecated).
551
580
 
552
- . deprecated:: pyedb 0.28.0
553
- Use :func:`pyedb.grpc.core.excitations.create_bundle_wave_port` instead.
581
+ .. deprecated:: 0.28.0
582
+ Use :func:`pyedb.grpc.core.excitations.create_bundle_wave_port` instead.
554
583
 
555
584
  Parameters
556
585
  ----------
557
586
  primitives_id : list
558
- Primitive ID of the positive terminal.
587
+ Primitive IDs.
559
588
  points_on_edge : list
560
- Coordinate of the point to define the edge terminal.
561
- The point must be close to the target edge but not on the two
562
- ends of the edge.
589
+ Point coordinates on edges.
563
590
  port_name : str, optional
564
- Name of the port. The default is ``None``.
591
+ Port name.
565
592
  horizontal_extent_factor : int, float, optional
566
- Horizontal extent factor. The default value is ``5``.
593
+ Horizontal extent factor.
567
594
  vertical_extent_factor : int, float, optional
568
- Vertical extent factor. The default value is ``3``.
595
+ Vertical extent factor.
569
596
  pec_launch_width : str, optional
570
- Launch Width of PEC. The default value is ``"0.01mm"``.
597
+ PEC launch width.
571
598
 
572
599
  Returns
573
600
  -------
574
601
  tuple
575
- The tuple contains: (port_name, pyedb.egacy.database.edb_data.sources.ExcitationDifferential).
602
+ (Port name, ExcitationDifferential) tuple.
576
603
  """
577
604
  warnings.warn(
578
605
  "`create_bundle_wave_port` is deprecated and is now located here "
@@ -584,23 +611,22 @@ class Hfss(object):
584
611
  )
585
612
 
586
613
  def create_hfss_ports_on_padstack(self, pinpos, portname=None):
587
- """Create an HFSS port on a padstack.
614
+ """Create HFSS port on padstack (deprecated).
588
615
 
589
- . deprecated:: pyedb 0.28.0
590
- Use :func:`pyedb.grpc.core.excitations.create_hfss_ports_on_padstack` instead.
616
+ .. deprecated:: 0.28.0
617
+ Use :func:`pyedb.grpc.core.excitations.create_hfss_ports_on_padstack` instead.
591
618
 
592
619
  Parameters
593
620
  ----------
594
621
  pinpos :
595
- Position of the pin.
596
-
622
+ Pin position.
597
623
  portname : str, optional
598
- Name of the port. The default is ``None``.
624
+ Port name.
599
625
 
600
626
  Returns
601
627
  -------
602
628
  bool
603
- ``True`` when successful, ``False`` when failed.
629
+ True if successful, False otherwise.
604
630
  """
605
631
  warnings.warn(
606
632
  "`create_hfss_ports_on_padstack` is deprecated and is now located here "
@@ -620,45 +646,35 @@ class Hfss(object):
620
646
  port_impedance=50.0,
621
647
  force_circuit_port=False,
622
648
  ):
623
- """Create lumped port between two edges from two different polygons. Can also create a vertical port when
624
- the reference layer name is only provided. When a port is created between two edge from two polygons which don't
625
- belong to the same layer, a circuit port will be automatically created instead of lumped. To enforce the circuit
626
- port instead of lumped,use the boolean force_circuit_port.
627
-
628
- . deprecated:: pyedb 0.28.0
629
- Use :func:`pyedb.grpc.core.excitations.create_edge_port_on_polygon` instead.
649
+ """Create edge port on polygon (deprecated).
630
650
 
651
+ .. deprecated:: 0.28.0
652
+ Use :func:`pyedb.grpc.core.excitations.create_edge_port_on_polygon` instead.
631
653
 
632
654
  Parameters
633
655
  ----------
634
- polygon : The EDB polygon object used to assign the port.
635
- Edb.Cell.Primitive.Polygon object.
636
-
637
- reference_polygon : The EDB polygon object used to define the port reference.
638
- Edb.Cell.Primitive.Polygon object.
639
-
640
- terminal_point : The coordinate of the point to define the edge terminal of the port. This point must be
641
- located on the edge of the polygon where the port has to be placed. For instance taking the middle point
642
- of an edge is a good practice but any point of the edge should be valid. Taking a corner might cause unwanted
643
- port location.
644
- list[float, float] with values provided in meter.
645
-
646
- reference_point : same as terminal_point but used for defining the reference location on the edge.
647
- list[float, float] with values provided in meter.
648
-
649
- reference_layer : Name used to define port reference for vertical ports.
650
- str the layer name.
651
-
652
- port_name : Name of the port.
653
- str.
654
-
655
- port_impedance : port impedance value. Default value is 50 Ohms.
656
- float, impedance value.
656
+ polygon : Edb.Cell.Primitive.Polygon, optional
657
+ Port polygon.
658
+ reference_polygon : Edb.Cell.Primitive.Polygon, optional
659
+ Reference polygon.
660
+ terminal_point : list, optional
661
+ Terminal point coordinates.
662
+ reference_point : list, optional
663
+ Reference point coordinates.
664
+ reference_layer : str, optional
665
+ Reference layer name.
666
+ port_name : str, optional
667
+ Port name.
668
+ port_impedance : float, optional
669
+ Port impedance.
670
+ force_circuit_port : bool, optional
671
+ Force circuit port creation.
657
672
 
658
- force_circuit_port ; used to force circuit port creation instead of lumped. Works for vertical and coplanar
659
- ports.
673
+ Returns
674
+ -------
675
+ bool
676
+ True if successful, False otherwise.
660
677
  """
661
-
662
678
  warnings.warn(
663
679
  "`create_edge_port_on_polygon` is deprecated and is now located here "
664
680
  "`pyedb.grpc.core.excitations.create_edge_port_on_polygon` instead.",
@@ -685,39 +701,36 @@ class Hfss(object):
685
701
  vertical_extent_factor=3,
686
702
  pec_launch_width="0.01mm",
687
703
  ):
688
- """Create a wave port.
704
+ """Create wave port (deprecated).
689
705
 
690
- . deprecated:: pyedb 0.28.0
691
- Use :func:`pyedb.grpc.core.excitations.create_wave_port` instead.
706
+ .. deprecated:: 0.28.0
707
+ Use :func:`pyedb.grpc.core.excitations.create_wave_port` instead.
692
708
 
693
709
  Parameters
694
710
  ----------
695
711
  prim_id : int, Primitive
696
712
  Primitive ID.
697
713
  point_on_edge : list
698
- Coordinate of the point to define the edge terminal.
699
- The point must be on the target edge but not on the two
700
- ends of the edge.
714
+ Point coordinates on edge.
701
715
  port_name : str, optional
702
- Name of the port. The default is ``None``.
716
+ Port name.
703
717
  impedance : int, float, optional
704
- Impedance of the port. The default value is ``50``.
718
+ Port impedance.
705
719
  horizontal_extent_factor : int, float, optional
706
- Horizontal extent factor. The default value is ``5``.
720
+ Horizontal extent factor.
707
721
  vertical_extent_factor : int, float, optional
708
- Vertical extent factor. The default value is ``3``.
722
+ Vertical extent factor.
709
723
  pec_launch_width : str, optional
710
- Launch Width of PEC. The default value is ``"0.01mm"``.
724
+ PEC launch width.
711
725
 
712
726
  Returns
713
727
  -------
714
728
  tuple
715
- The tuple contains: (Port name, pyedb.dotnet.database.edb_data.sources.Excitation).
716
-
729
+ (Port name, Excitation) tuple.
717
730
  """
718
731
  warnings.warn(
719
- "`create_source_on_component` is deprecated and is now located here "
720
- "`pyedb.grpc.core.excitations.create_source_on_component` instead.",
732
+ "`create_wave_port` is deprecated and is now located here "
733
+ "`pyedb.grpc.core.excitations.create_wave_port` instead.",
721
734
  DeprecationWarning,
722
735
  )
723
736
  return self._pedb.source_excitation.create_wave_port(
@@ -742,35 +755,31 @@ class Hfss(object):
742
755
  vertical_extent_factor=3,
743
756
  pec_launch_width="0.01mm",
744
757
  ):
745
- """Create a vertical edge port.
758
+ """Create vertical edge port (deprecated).
746
759
 
747
- . deprecated:: pyedb 0.28.0
748
- Use :func:`pyedb.grpc.core.excitations.create_edge_port_vertical` instead.
760
+ .. deprecated:: 0.28.0
761
+ Use :func:`pyedb.grpc.core.excitations.create_edge_port_vertical` instead.
749
762
 
750
763
  Parameters
751
764
  ----------
752
765
  prim_id : int
753
766
  Primitive ID.
754
767
  point_on_edge : list
755
- Coordinate of the point to define the edge terminal.
756
- The point must be on the target edge but not on the two
757
- ends of the edge.
768
+ Point coordinates on edge.
758
769
  port_name : str, optional
759
- Name of the port. The default is ``None``.
770
+ Port name.
760
771
  impedance : int, float, optional
761
- Impedance of the port. The default value is ``50``.
772
+ Port impedance.
762
773
  reference_layer : str, optional
763
- Reference layer of the port. The default is ``None``.
774
+ Reference layer name.
764
775
  hfss_type : str, optional
765
- Type of the port. The default value is ``"Gap"``. Options are ``"Gap"``, ``"Wave"``.
776
+ Port type ("Gap" or "Wave").
766
777
  horizontal_extent_factor : int, float, optional
767
- Horizontal extent factor. The default value is ``5``.
778
+ Horizontal extent factor.
768
779
  vertical_extent_factor : int, float, optional
769
- Vertical extent factor. The default value is ``3``.
770
- radial_extent_factor : int, float, optional
771
- Radial extent factor. The default value is ``0``.
780
+ Vertical extent factor.
772
781
  pec_launch_width : str, optional
773
- Launch Width of PEC. The default value is ``"0.01mm"``.
782
+ PEC launch width.
774
783
 
775
784
  Returns
776
785
  -------
@@ -804,36 +813,32 @@ class Hfss(object):
804
813
  impedance=50,
805
814
  layer_alignment="Upper",
806
815
  ):
807
- """Create a horizontal edge port.
816
+ """Create horizontal edge port (deprecated).
808
817
 
809
- . deprecated:: pyedb 0.28.0
810
- Use :func:`pyedb.grpc.core.excitations.create_edge_port_horizontal` instead.
818
+ .. deprecated:: 0.28.0
819
+ Use :func:`pyedb.grpc.core.excitations.create_edge_port_horizontal` instead.
811
820
 
812
821
  Parameters
813
822
  ----------
814
823
  prim_id : int
815
824
  Primitive ID.
816
825
  point_on_edge : list
817
- Coordinate of the point to define the edge terminal.
818
- The point must be on the target edge but not on the two
819
- ends of the edge.
826
+ Point coordinates on edge.
820
827
  ref_prim_id : int, optional
821
- Reference primitive ID. The default is ``None``.
828
+ Reference primitive ID.
822
829
  point_on_ref_edge : list, optional
823
- Coordinate of the point to define the reference edge
824
- terminal. The point must be on the target edge but not
825
- on the two ends of the edge. The default is ``None``.
830
+ Point coordinates on reference edge.
826
831
  port_name : str, optional
827
- Name of the port. The default is ``None``.
832
+ Port name.
828
833
  impedance : int, float, optional
829
- Impedance of the port. The default value is ``50``.
834
+ Port impedance.
830
835
  layer_alignment : str, optional
831
- Layer alignment. The default value is ``Upper``. Options are ``"Upper"``, ``"Lower"``.
836
+ Layer alignment ("Upper" or "Lower").
832
837
 
833
838
  Returns
834
839
  -------
835
840
  str
836
- Name of the port.
841
+ Port name.
837
842
  """
838
843
  warnings.warn(
839
844
  "`create_edge_port_horizontal` is deprecated and is now located here "
@@ -845,36 +850,28 @@ class Hfss(object):
845
850
  )
846
851
 
847
852
  def create_lumped_port_on_net(self, nets, reference_layer, return_points_only, digit_resolution, at_bounding_box):
848
- """Create an edge port on nets. This command looks for traces and polygons on the
849
- nets and tries to assign vertical lumped port.
853
+ """Create lumped port on net (deprecated).
850
854
 
851
- . deprecated:: pyedb 0.28.0
852
- Use :func:`pyedb.grpc.core.excitations.create_lumped_port_on_net` instead.
855
+ .. deprecated:: 0.28.0
856
+ Use :func:`pyedb.grpc.core.excitations.create_lumped_port_on_net` instead.
853
857
 
854
858
  Parameters
855
859
  ----------
856
- nets : list, optional
857
- List of nets, str or Edb net.
858
-
859
- reference_layer : str, Edb layer.
860
- Name or Edb layer object.
861
-
862
- return_points_only : bool, optional
863
- Use this boolean when you want to return only the points from the edges and not creating ports. Default
864
- value is ``False``.
865
-
866
- digit_resolution : int, optional
867
- The number of digits carried for the edge location accuracy. The default value is ``6``.
868
-
860
+ nets : list
861
+ Net names or objects.
862
+ reference_layer : str, Edb.Layer
863
+ Reference layer name or object.
864
+ return_points_only : bool
865
+ Return points only without creating ports.
866
+ digit_resolution : int
867
+ Coordinate digit resolution.
869
868
  at_bounding_box : bool
870
- When ``True`` will keep the edges from traces at the layout bounding box location. This is recommended when
871
- a cutout has been performed before and lumped ports have to be created on ending traces. Default value is
872
- ``True``.
869
+ Use layout bounding box.
873
870
 
874
871
  Returns
875
872
  -------
876
873
  bool
877
- ``True`` when successful, ``False`` when failed.
874
+ True if successful, False otherwise.
878
875
  """
879
876
  warnings.warn(
880
877
  "`create_lumped_port_on_net` is deprecated and is now located here "
@@ -886,31 +883,28 @@ class Hfss(object):
886
883
  )
887
884
 
888
885
  def create_vertical_circuit_port_on_clipped_traces(self, nets=None, reference_net=None, user_defined_extent=None):
889
- """Create an edge port on clipped signal traces.
886
+ """Create vertical circuit port on clipped traces (deprecated).
890
887
 
891
- . deprecated:: pyedb 0.28.0
892
- Use :func:`pyedb.grpc.core.excitations.create_vertical_circuit_port_on_clipped_traces` instead.
888
+ .. deprecated:: 0.28.0
889
+ Use :func:`pyedb.grpc.core.excitations.create_vertical_circuit_port_on_clipped_traces` instead.
893
890
 
894
891
  Parameters
895
892
  ----------
896
893
  nets : list, optional
897
- String of one net or EDB net or a list of multiple nets or EDB nets.
898
-
899
- reference_net : str, Edb net.
900
- Name or EDB reference net.
901
-
902
- user_defined_extent : [x, y], EDB PolygonData
903
- Use this point list or PolygonData object to check if ports are at this polygon border.
894
+ Net names or objects.
895
+ reference_net : str, Edb.Net, optional
896
+ Reference net name or object.
897
+ user_defined_extent : list, PolygonData, optional
898
+ User-defined extent polygon.
904
899
 
905
900
  Returns
906
901
  -------
907
- [[str]]
908
- Nested list of str, with net name as first value, X value for point at border, Y value for point at border,
909
- and terminal name.
902
+ list
903
+ List of port data [net_name, x, y, terminal_name].
910
904
  """
911
905
  warnings.warn(
912
- "`create_source_on_component` is deprecated and is now located here "
913
- "`pyedb.grpc.core.excitations.create_source_on_component` instead.",
906
+ "`create_vertical_circuit_port_on_clipped_traces` is deprecated and is now located here "
907
+ "`pyedb.grpc.core.excitations.create_vertical_circuit_port_on_clipped_traces` instead.",
914
908
  DeprecationWarning,
915
909
  )
916
910
  return self._pedb.source_excitation.create_vertical_circuit_port_on_clipped_traces(
@@ -918,20 +912,19 @@ class Hfss(object):
918
912
  )
919
913
 
920
914
  def get_layout_bounding_box(self, layout=None, digit_resolution=6):
921
- """Evaluate the layout bounding box.
915
+ """Calculate layout bounding box.
922
916
 
923
917
  Parameters
924
918
  ----------
925
- layout :
926
- Edb layout.
927
-
919
+ layout : Edb.Cell.Layout, optional
920
+ Layout object (uses active layout if None).
928
921
  digit_resolution : int, optional
929
- Digit Resolution. The default value is ``6``.
922
+ Coordinate rounding precision.
930
923
 
931
924
  Returns
932
925
  -------
933
926
  list
934
- [lower left corner X, lower left corner, upper right corner X, upper right corner Y].
927
+ [min_x, min_y, max_x, max_y] coordinates.
935
928
  """
936
929
  if not layout:
937
930
  layout = self._active_layout
@@ -950,21 +943,22 @@ class Hfss(object):
950
943
  return layout_bbox
951
944
 
952
945
  def configure_hfss_extents(self, simulation_setup=None):
953
- """Configure the HFSS extent box.
946
+ """Configure HFSS extent box (deprecated).
954
947
 
955
- . deprecated:: pyedb 0.28.0
956
- Use :func:`self._pedb.utility.simulation_configuration.ProcessSimulationConfiguration.configure_hfss_extents`
957
- instead.
948
+ .. deprecated:: 0.28.0
949
+ Use :func:
950
+ `pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.configure_hfss_extents`
951
+ instead.
958
952
 
959
953
  Parameters
960
954
  ----------
961
- simulation_setup :
962
- Edb_DATA.SimulationConfiguration object
955
+ simulation_setup : HfssSimulationSetup, optional
956
+ Simulation setup object.
963
957
 
964
958
  Returns
965
959
  -------
966
960
  bool
967
- True when succeeded, False when failed.
961
+ True if successful, False otherwise.
968
962
  """
969
963
  warnings.warn(
970
964
  "`configure_hfss_extents` is deprecated and is now located here "
@@ -977,24 +971,22 @@ class Hfss(object):
977
971
  )
978
972
 
979
973
  def configure_hfss_analysis_setup(self, simulation_setup=None):
980
- """
981
- Configure HFSS analysis setup.
982
-
983
- . deprecated:: pyedb 0.28.0
984
- Use :func:
985
- `pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.configure_hfss_analysis_setup`
986
- instead.
974
+ """Configure HFSS analysis setup (deprecated).
987
975
 
976
+ .. deprecated:: 0.28.0
977
+ Use :func:
978
+ `pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.configure_hfss_analysis_setup`
979
+ instead.
988
980
 
989
981
  Parameters
990
982
  ----------
991
- simulation_setup :
992
- Edb_DATA.SimulationConfiguration object
983
+ simulation_setup : HfssSimulationSetup, optional
984
+ Simulation setup object.
993
985
 
994
986
  Returns
995
987
  -------
996
988
  bool
997
- True when succeeded, False when failed.
989
+ True if successful, False otherwise.
998
990
  """
999
991
  warnings.warn(
1000
992
  "`configure_hfss_analysis_setup` is deprecated and is now located here "
@@ -1007,6 +999,19 @@ class Hfss(object):
1007
999
  )
1008
1000
 
1009
1001
  def _setup_decade_count_sweep(self, sweep, start_freq="1", stop_freq="1MHz", decade_count="10"):
1002
+ """Configure decade count sweep (internal).
1003
+
1004
+ Parameters
1005
+ ----------
1006
+ sweep : SweepData
1007
+ Sweep data object.
1008
+ start_freq : str, float, optional
1009
+ Start frequency.
1010
+ stop_freq : str, float, optional
1011
+ Stop frequency.
1012
+ decade_count : str, float, optional
1013
+ Points per decade.
1014
+ """
1010
1015
  start_f = GeometryOperators.parse_dim_arg(start_freq)
1011
1016
  if start_f == 0.0:
1012
1017
  start_f = 10
@@ -1022,30 +1027,20 @@ class Hfss(object):
1022
1027
  sweep.Frequencies.Add(str(freq))
1023
1028
 
1024
1029
  def trim_component_reference_size(self, simulation_setup=None, trim_to_terminals=False):
1025
- """Trim the common component reference to the minimally acceptable size.
1030
+ """Trim component reference size (deprecated).
1026
1031
 
1027
- . deprecated:: pyedb 0.28.0
1028
- Use :func:
1029
- `pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.trim_component_reference_size`
1030
- instead.
1032
+ .. deprecated:: 0.28.0
1033
+ Use :func:
1034
+ `pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.trim_component_reference_size`
1035
+ instead.
1031
1036
 
1032
1037
  Parameters
1033
1038
  ----------
1034
- simulation_setup :
1035
- Edb_DATA.SimulationConfiguration object
1036
-
1037
- trim_to_terminals :
1038
- bool.
1039
- True, reduce the reference to a box covering only the active terminals (i.e. those with
1040
- ports).
1041
- False, reduce the reference to the minimal size needed to cover all pins
1042
-
1043
- Returns
1044
- -------
1045
- bool
1046
- True when succeeded, False when failed.
1039
+ simulation_setup : HfssSimulationSetup, optional
1040
+ Simulation setup object.
1041
+ trim_to_terminals : bool, optional
1042
+ Trim to active terminals only.
1047
1043
  """
1048
-
1049
1044
  warnings.warn(
1050
1045
  "`trim_component_reference_size` is deprecated and is now located here "
1051
1046
  "`pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration."
@@ -1057,22 +1052,17 @@ class Hfss(object):
1057
1052
  )
1058
1053
 
1059
1054
  def set_coax_port_attributes(self, simulation_setup=None):
1060
- """Set coaxial port attribute with forcing default impedance to 50 Ohms and adjusting the coaxial extent radius.
1055
+ """Set coaxial port attributes (deprecated).
1061
1056
 
1062
- . deprecated:: pyedb 0.28.0
1063
- Use :func:
1064
- `pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.set_coax_port_attributes`
1065
- instead.
1057
+ .. deprecated:: 0.28.0
1058
+ Use :func:
1059
+ `pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.set_coax_port_attributes`
1060
+ instead.
1066
1061
 
1067
1062
  Parameters
1068
1063
  ----------
1069
- simulation_setup :
1070
- Edb_DATA.SimulationConfiguration object.
1071
-
1072
- Returns
1073
- -------
1074
- bool
1075
- True when succeeded, False when failed.
1064
+ simulation_setup : HfssSimulationSetup, optional
1065
+ Simulation setup object.
1076
1066
  """
1077
1067
  warnings.warn(
1078
1068
  "`set_coax_port_attributes` is deprecated and is now located here "
@@ -1085,6 +1075,22 @@ class Hfss(object):
1085
1075
  )
1086
1076
 
1087
1077
  def _get_terminals_bbox(self, comp, l_inst, terminals_only):
1078
+ """Get component terminals bounding box (internal).
1079
+
1080
+ Parameters
1081
+ ----------
1082
+ comp : Component
1083
+ Component object.
1084
+ l_inst : LayoutObjInstance
1085
+ Layout object instance.
1086
+ terminals_only : bool
1087
+ Consider only terminals.
1088
+
1089
+ Returns
1090
+ -------
1091
+ PolygonData
1092
+ Bounding box polygon.
1093
+ """
1088
1094
  terms_loi = []
1089
1095
  if terminals_only:
1090
1096
  term_list = []
@@ -1108,28 +1114,23 @@ class Hfss(object):
1108
1114
 
1109
1115
  terms_bbox = []
1110
1116
  for loi in terms_loi:
1111
- # Need to account for the coax port dimension
1112
1117
  bb = loi.GetBBox()
1113
1118
  ll = [bb[0].x.value, bb[0].y.value]
1114
1119
  ur = [bb[1].x.value, bb[1].y.value]
1115
- # dim = 0.26 * max(abs(UR[0]-LL[0]), abs(UR[1]-LL[1])) # 0.25 corresponds to the default 0.5
1116
- # Radial Extent Factor, so set slightly larger to avoid validation errors
1117
- dim = 0.30 * max(abs(ur[0] - ll[0]), abs(ur[1] - ll[1])) # 0.25 corresponds to the default 0.5
1120
+ dim = 0.30 * max(abs(ur[0] - ll[0]), abs(ur[1] - ll[1]))
1118
1121
  terms_bbox.append(GrpcPolygonData([ll[0] - dim, ll[1] - dim, ur[0] + dim, ur[1] + dim]))
1119
1122
  return GrpcPolygonData.bbox_of_polygons(terms_bbox)
1120
1123
 
1121
1124
  def get_ports_number(self):
1122
- """Return the total number of excitation ports in a layout.
1125
+ """Get number of excitation ports.
1123
1126
 
1124
- Parameters
1125
- ----------
1126
- None
1127
+ .. deprecated:: 0.28.0
1128
+ Use :func:`pyedb.grpc.core.excitation.get_ports_number` instead.
1127
1129
 
1128
1130
  Returns
1129
1131
  -------
1130
1132
  int
1131
- Number of ports.
1132
-
1133
+ Number of ports.
1133
1134
  """
1134
1135
  warnings.warn(
1135
1136
  "`get_ports_number` is deprecated and is now located here "
@@ -1139,22 +1140,22 @@ class Hfss(object):
1139
1140
  self._pedb.excitations.get_ports_number()
1140
1141
 
1141
1142
  def layout_defeaturing(self, simulation_setup=None):
1142
- """Defeature the layout by reducing the number of points for polygons based on surface deviation criteria.
1143
+ """Defeature layout polygons (deprecated).
1143
1144
 
1144
- . deprecated:: pyedb 0.28.0
1145
- Use :func:
1146
- `pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.layout_defeaturing`
1147
- instead.
1145
+ .. deprecated:: 0.28.0
1146
+ Use :func:
1147
+ `pyedb.grpc.core.utility.simulation_configuration.ProcessSimulationConfiguration.layout_defeaturing`
1148
+ instead.
1148
1149
 
1149
1150
  Parameters
1150
1151
  ----------
1151
- simulation_setup : Edb_DATA.SimulationConfiguration object
1152
+ simulation_setup : HfssSimulationSetup, optional
1153
+ Simulation setup object.
1152
1154
 
1153
1155
  Returns
1154
1156
  -------
1155
1157
  bool
1156
- ``True`` when successful, ``False`` when failed.
1157
-
1158
+ True if successful, False otherwise.
1158
1159
  """
1159
1160
  warnings.warn(
1160
1161
  "`layout_defeaturing` is deprecated and is now located here "
@@ -1165,34 +1166,32 @@ class Hfss(object):
1165
1166
  self._pedb.utility.simulation_configuration.ProcessSimulationConfiguration.layout_defeaturing(simulation_setup)
1166
1167
 
1167
1168
  def create_rlc_boundary_on_pins(self, positive_pin=None, negative_pin=None, rvalue=0.0, lvalue=0.0, cvalue=0.0):
1168
- """Create hfss rlc boundary on pins.
1169
+ """Create RLC boundary on pins (deprecated).
1169
1170
 
1170
- . deprecated:: pyedb 0.28.0
1171
- Use :func:`pyedb.grpc.core.excitations.create_rlc_boundary_on_pins` instead.
1171
+ .. deprecated:: 0.28.0
1172
+ Use :func:`pyedb.grpc.core.excitations.create_rlc_boundary_on_pins` instead.
1172
1173
 
1173
1174
  Parameters
1174
1175
  ----------
1175
- positive_pin : Positive pin.
1176
- Edb.Cell.Primitive.PadstackInstance
1177
-
1178
- negative_pin : Negative pin.
1179
- Edb.Cell.Primitive.PadstackInstance
1180
-
1181
- rvalue : Resistance value
1182
-
1183
- lvalue : Inductance value
1184
-
1185
- cvalue . Capacitance value.
1176
+ positive_pin : Edb.Cell.Primitive.PadstackInstance, optional
1177
+ Positive pin.
1178
+ negative_pin : Edb.Cell.Primitive.PadstackInstance, optional
1179
+ Negative pin.
1180
+ rvalue : float, optional
1181
+ Resistance value.
1182
+ lvalue : float, optional
1183
+ Inductance value.
1184
+ cvalue : float, optional
1185
+ Capacitance value.
1186
1186
 
1187
1187
  Returns
1188
1188
  -------
1189
1189
  bool
1190
- ``True`` when successful, ``False`` when failed.
1191
-
1190
+ True if successful, False otherwise.
1192
1191
  """
1193
1192
  warnings.warn(
1194
1193
  "`create_rlc_boundary_on_pins` is deprecated and is now located here "
1195
- "`pyedb.grpc.core.create_rlc_boundary_on_pins.get_ports_number` instead.",
1194
+ "`pyedb.grpc.core.excitations.create_rlc_boundary_on_pins` instead.",
1196
1195
  DeprecationWarning,
1197
1196
  )
1198
1197
  return self._pedb.source_excitation.create_rlc_boundary_on_pins(
@@ -1208,34 +1207,37 @@ class Hfss(object):
1208
1207
  step_freq=1e6,
1209
1208
  discrete_sweep=False,
1210
1209
  ) -> HfssSimulationSetup:
1211
- """Add a HFSS analysis to EDB.
1210
+ """Add HFSS analysis setup.
1212
1211
 
1213
1212
  Parameters
1214
1213
  ----------
1215
1214
  name : str, optional
1216
- Setup name.
1217
- Sweep type. `"interpolating"` or `"discrete"`.
1215
+ Setup name (auto-generated if None).
1218
1216
  distribution : str, optional
1219
- Type of the sweep. The default is `"linear"`. Options are:
1220
- - `"linear"`
1221
- - `"linear_count"`
1222
- - `"decade_count"`
1223
- - `"octave_count"`
1224
- - `"exponential"`
1225
- start_freq : str, float, optional
1226
- Starting frequency. The default is ``0``.
1227
- stop_freq : str, float, optional
1228
- Stopping frequency. The default is ``20e9``.
1229
- step_freq : str, float, int, optional
1230
- Frequency step. The default is ``1e6``. or used for `"decade_count"`, "linear_count"`, "octave_count"`
1231
- distribution. Must be integer in that case.
1217
+ Sweep distribution type ("linear", "linear_count", "decade_count", "octave_count", "exponential").
1218
+ start_freq : float, str, optional
1219
+ Starting frequency (Hz).
1220
+ stop_freq : float, str, optional
1221
+ Stopping frequency (Hz).
1222
+ step_freq : float, str, int, optional
1223
+ Frequency step (Hz) or count depending on distribution.
1232
1224
  discrete_sweep : bool, optional
1233
- Whether the sweep is discrete. The default is ``False``.
1225
+ Use discrete sweep.
1234
1226
 
1235
1227
  Returns
1236
1228
  -------
1237
- :class:`HfssSimulationSetup`
1238
- Setup object class.
1229
+ HfssSimulationSetup
1230
+ Created setup object.
1231
+
1232
+ Examples
1233
+ --------
1234
+ >>> hfss_setup = edb.hfss.add_setup(
1235
+ ... name="MySetup",
1236
+ ... distribution="linear_count",
1237
+ ... start_freq=1e9,
1238
+ ... stop_freq=10e9,
1239
+ ... step_freq=100,
1240
+ ... )
1239
1241
  """
1240
1242
  from ansys.edb.core.simulation_setup.hfss_simulation_setup import (
1241
1243
  HfssSimulationSetup as GrpcHfssSimulationSetup,