CfgHFSSSetup#
- class pyedb.configuration.cfg_setup.CfgHFSSSetup(/, **data: Any)#
Bases:
CfgSetupACRepresent one HFSS setup entry with adaptive and sweep settings.
Overview#
Configure single-frequency adaptive meshing. |
|
Configure broadband adaptive meshing. |
|
Append one adaptive point to multi-frequency adaptive meshing. |
|
Configure the automatic mesh-seeding operation. |
|
Append a length-based mesh operation to this HFSS setup. |
|
Add a frequency sweep to this HFSS setup. |
Import detail#
from pyedb.configuration.cfg_setup import CfgHFSSSetup
Attribute detail#
- CfgHFSSSetup.adapt_type: Literal['broadband', 'single', 'multi_frequencies'] = None#
- CfgHFSSSetup.single_frequency_adaptive_solution: CfgHFSSSetup.CfgSingleFrequencyAdaptiveSolution | None = None#
- CfgHFSSSetup.broadband_adaptive_solution: CfgHFSSSetup.CfgBroadbandAdaptiveSolution | None = None#
- CfgHFSSSetup.multi_frequency_adaptive_solution: CfgHFSSSetup.CfgMultiFrequencyAdaptiveSolution | None = None#
- CfgHFSSSetup.auto_mesh_operation: CfgHFSSSetup.CfgAutoMeshOperation | None = None#
- CfgHFSSSetup.mesh_operations: list[CfgHFSSSetup.CfgLengthMeshOperation] | None = None#
Method detail#
- CfgHFSSSetup.set_single_frequency_adaptive(freq: float | str = '5GHz', max_passes: int = 20, max_delta: float | str = 0.02)#
Configure single-frequency adaptive meshing.
Sets
adapt_typeto"single"and replaces the current single-frequency solution settings.- Parameters:
- Returns:
CfgHFSSSetupself — enables method chaining.
Examples
>>> hfss.set_single_frequency_adaptive("10GHz", max_passes=15, max_delta=0.01)
- CfgHFSSSetup.set_broadband_adaptive(low_freq: float | str = '1GHz', high_freq: float | str = '10GHz', max_passes: int = 20, max_delta: float | str = 0.02)#
Configure broadband adaptive meshing.
Sets
adapt_typeto"broadband"and replaces the current broadband solution settings.- Parameters:
- low_freq
strorfloat,optional Lower adaptive frequency, e.g.
"1GHz". Default is"1GHz".- high_freq
strorfloat,optional Upper adaptive frequency, e.g.
"10GHz". Default is"10GHz".- max_passes
int,optional Maximum number of adaptive passes. Default is
20.- max_delta
strorfloat,optional Convergence criterion (maximum delta-S). Default is
0.02.
- low_freq
- Returns:
CfgHFSSSetupself — enables method chaining.
Examples
>>> hfss.set_broadband_adaptive("1GHz", "20GHz", max_passes=25, max_delta=0.01)
- CfgHFSSSetup.add_multi_frequency_adaptive(freq: float | str, max_passes: int = 20, max_delta: float | str = 0.02)#
Append one adaptive point to multi-frequency adaptive meshing.
Calling this method sets
adapt_typeto"multi_frequencies". Call it multiple times to add several adaptive frequency points.- Parameters:
- Returns:
CfgHFSSSetupself — enables method chaining.
Examples
>>> hfss.add_multi_frequency_adaptive("5GHz") >>> hfss.add_multi_frequency_adaptive("10GHz", max_passes=30)
- CfgHFSSSetup.set_auto_mesh_operation(enabled: bool = True, trace_ratio_seeding: float = 3.0, signal_via_side_number: int = 12)#
Configure the automatic mesh-seeding operation.
- Parameters:
- Returns:
CfgHFSSSetupself — enables method chaining.
Examples
>>> hfss.set_auto_mesh_operation(enabled=True, trace_ratio_seeding=4.0)
- CfgHFSSSetup.add_length_mesh_operation(mesh_op: CfgLengthMeshOperation | str = None, nets_layers_list: dict[str, list] = None, max_length: float | str | None = '1mm', max_elements: int | str | None = 1000, restrict_length: bool | None = True, refine_inside: bool | None = False, name: str = None)#
Append a length-based mesh operation to this HFSS setup.
Accepts a pre-built
CfgLengthMeshOperationpayload or individual keyword arguments to build one inline.- Parameters:
- mesh_op
CfgLengthMeshOperationorstr,optional Pre-built mesh-operation object or a name string (legacy positional use). When None, a new operation is constructed from the remaining parameters.
- nets_layers_list
dict[str,list],optional Mapping from net name to a list of layer names on which to apply the operation, e.g.
{"SIG": ["top", "bot"]}.- max_length
strorfloat,optional Maximum element edge length. Supports unit strings such as
"0.5mm". Default is"1mm".- max_elements
intorstr,optional Maximum number of mesh elements in the seeded region. Default is
1000.- restrict_lengthbool,
optional Whether to enforce the max_length constraint. Default is
True.- refine_insidebool,
optional Whether to refine inside vias. Default is
False.- name
str,optional Operation name. Required when building inline.
- mesh_op
- Returns:
CfgHFSSSetupself — enables method chaining.
Examples
>>> hfss.add_length_mesh_operation( ... name="mesh_sig", ... nets_layers_list={"SIG": ["top"]}, ... max_length="0.5mm", ... )
- CfgHFSSSetup.add_frequency_sweep(name: CfgSetupAC | str, sweep_type: str = 'interpolation', start=None, stop=None, step_or_count=None, distribution: str = 'linear_count', **kwargs)#
Add a frequency sweep to this HFSS setup.
- Parameters:
- name
CfgFrequencySweeporstr Either a pre-built
CfgFrequencySweepobject (round-trip use) or a name string for a new sweep.- sweep_type
str,optional Sweep interpolation type.
"interpolation"(default) or"discrete".- start
strorfloat,optional Inline range start frequency, e.g.
"1GHz". When supplied, stop and step_or_count are also required.- stop
strorfloat,optional Inline range stop frequency.
- step_or_count
str,float,orint,optional Point count (
"linear_count","log_count") or step size ("linear_scale","log_scale").- distribution
str,optional Frequency distribution for the inline range. Default is
"linear_count".- **kwargs
Extra keyword arguments forwarded to
CfgFrequencySweep(e.g.enforce_passivity,adv_dc_extrapolation, …).
- name
- Returns:
CfgFrequencySweepThe newly created (or passed-through) sweep object.
Examples
Inline — single call describes a complete sweep:
>>> hfss.add_frequency_sweep( ... "sweep1", ... start="1GHz", ... stop="20GHz", ... step_or_count=100, ... distribution="linear_count", ... enforce_passivity=True, ... )
Chained — add multiple ranges to one sweep:
>>> sw = hfss.add_frequency_sweep("sweep2", sweep_type="interpolation") >>> sw.add_linear_count_frequencies("1GHz", "10GHz", 100) >>> sw.add_single_frequency("0Hz")
Classes#
Base Pydantic model used by typed configuration payload classes. |
|
Base Pydantic model used by typed configuration payload classes. |
|
Base Pydantic model used by typed configuration payload classes. |
|
Base Pydantic model used by typed configuration payload classes. |
|
Mesh operation export/import payload. |