CfgSetups#

class pyedb.configuration.cfg_setup.CfgSetups(/, **data: Any)#

Bases: pyedb.configuration.cfg_common.CfgBaseModel

Collect all configured HFSS and SIwave setup entries.

Overview#

create

Reconstruct a CfgSetups instance from setup dictionaries.

add_hfss_setup

Create and register an HFSS setup.

add_siwave_ac_setup

Create and register a SIwave AC setup.

add_siwave_dc_setup

Create and register a SIwave DC setup.

get

Return an existing registered setup by name.

Import detail#

from pyedb.configuration.cfg_setup import CfgSetups

Attribute detail#

CfgSetups.setups: List[CfgHFSSSetup | CfgSIwaveACSetup | CfgSIwaveDCSetup] = None#

Method detail#

classmethod CfgSetups.create(setups: List[dict])#

Reconstruct a CfgSetups instance from setup dictionaries.

CfgSetups.add_hfss_setup(config: CfgHFSSSetup = None, **kwargs)#

Create and register an HFSS setup.

Parameters:
configCfgHFSSSetup, optional

Pre-built setup object, or None to construct a new setup from kwargs.

**kwargs

Keyword arguments forwarded to CfgHFSSSetup when config is None. Common parameters:

  • name (str, required) — setup name.

  • adapt_type (str)"single" | "broadband" | "multi_frequencies". Default is "single".

Returns:
CfgHFSSSetup

The newly created (or registered) setup object.

Examples

>>> hfss = cfg.setups.add_hfss_setup(name="hfss_1", adapt_type="broadband")
>>> hfss.set_broadband_adaptive("1GHz", "20GHz")
CfgSetups.add_siwave_ac_setup(config: CfgSIwaveACSetup = None, name: str = None, si_slider_position: int = 1, pi_slider_position: int = 1, use_si_settings: bool = True, **kwargs)#

Create and register a SIwave AC setup.

Parameters:
configCfgSIwaveACSetup, optional

Pre-built setup object, or None to construct from the remaining parameters.

namestr, optional

Setup name.

si_slider_positionint, optional

SI accuracy slider. 0 = Speed, 1 = Balanced (default), 2 = Accuracy.

pi_slider_positionint, optional

PI accuracy slider. Same values as si_slider_position.

use_si_settingsbool, optional

True (default) activates the SI slider rather than the PI slider.

**kwargs

Additional keyword arguments forwarded to CfgSIwaveACSetup.

Returns:
CfgSIwaveACSetup

The newly created (or registered) setup object.

Examples

>>> siw = cfg.setups.add_siwave_ac_setup(name="siw_ac", si_slider_position=2)
>>> siw.add_frequency_sweep("sw1", start="1kHz", stop="1GHz", step_or_count=100)
CfgSetups.add_siwave_dc_setup(config: CfgSIwaveDCSetup = None, name: str = None, dc_slider_position: int = 1, export_dc_thermal_data: bool = False, **kwargs)#

Create and register a SIwave DC setup.

Parameters:
configCfgSIwaveDCSetup, optional

Pre-built setup object, or None to construct from the remaining parameters.

namestr, optional

Setup name.

dc_slider_positionint, optional

DC accuracy slider. 0 = Speed, 1 = Balanced (default), 2 = Accuracy.

export_dc_thermal_databool, optional

Export IR-drop thermal data after solving. Default is False.

**kwargs

Additional keyword arguments forwarded to CfgSIwaveDCSetup.

Returns:
CfgSIwaveDCSetup

The newly created (or registered) setup object.

Examples

>>> cfg.setups.add_siwave_dc_setup(name="siw_dc", dc_slider_position=1, export_dc_thermal_data=True)
CfgSetups.get(name: str)#

Return an existing registered setup by name.

Looks through the current setups list and returns the first entry whose name attribute matches name. This is useful when you want to modify a setup that was registered earlier (e.g. by a template function) without having to keep a reference to the object.

Parameters:
namestr

Setup name, e.g. "hfss_bb" or "siw_ac".

Returns:
CfgHFSSSetup | CfgSIwaveACSetup | CfgSIwaveDCSetup

The matching setup builder object.

Raises:
KeyError

If no registered setup with name exists.

Examples

>>> cfg = edb.configuration.create_config_builder()
>>> cfg.setups.add_hfss_setup("hfss_bb", adapt_type="broadband")
>>> # ... later, retrieve and modify:
>>> setup = cfg.setups.get("hfss_bb")
>>> setup.add_frequency_sweep("sweep2", start="1GHz", stop="20GHz", step_or_count=100)