HfssSimulationSetup#

class pyedb.dotnet.database.utilities.hfss_simulation_setup.HfssSimulationSetup(pedb, edb_object=None, name: str = None)#

Bases: pyedb.dotnet.database.utilities.simulation_setup.SimulationSetup

Manages EDB methods for HFSS simulation setup.

Overview#

add_length_mesh_operation

Add a mesh operation to the setup.

add_skin_depth_mesh_operation

Add a mesh operation to the setup.

set_solution_single_frequency

Set single-frequency solution.

set_solution_multi_frequencies

Set multi-frequency solution.

set_solution_broadband

Set broadband solution.

auto_mesh_operation

Automatically create and apply a length-based mesh operation for all nets in the design.

solver_slider_type

Solver slider type.

is_auto_setup

Flag indicating if automatic setup is enabled.

hfss_solver_settings

Manages EDB methods for HFSS solver settings.

adaptive_settings

Adaptive Settings Class.

defeature_settings

Defeature settings Class.

via_settings

Via settings Class.

advanced_mesh_settings

Advanced mesh settings Class.

curve_approx_settings

Curve approximation settings Class.

dcr_settings

Dcr settings Class.

hfss_port_settings

HFSS port settings Class.

mesh_operations

Mesh operations settings Class.

Import detail#

from pyedb.dotnet.database.utilities.hfss_simulation_setup import HfssSimulationSetup

Property detail#

property HfssSimulationSetup.solver_slider_type#

Solver slider type. Options are: 1 - Fast. 2 - Medium. 3 - Accurate.

Returns:
int
property HfssSimulationSetup.is_auto_setup#

Flag indicating if automatic setup is enabled.

property HfssSimulationSetup.hfss_solver_settings#

Manages EDB methods for HFSS solver settings.

Returns:
pyedb.dotnet.database.edb_data.hfss_simulation_setup_data.HfssSolverSettings
property HfssSimulationSetup.adaptive_settings#

Adaptive Settings Class.

Returns:
pyedb.dotnet.database.edb_data.hfss_simulation_setup_data.AdaptiveSettings
property HfssSimulationSetup.defeature_settings#

Defeature settings Class.

Returns:
pyedb.dotnet.database.edb_data.hfss_simulation_setup_data.DefeatureSettings
property HfssSimulationSetup.via_settings#

Via settings Class.

Returns:
pyedb.dotnet.database.edb_data.hfss_simulation_setup_data.ViaSettings
property HfssSimulationSetup.advanced_mesh_settings#

Advanced mesh settings Class.

Returns:
pyedb.dotnet.database.edb_data.hfss_simulation_setup_data.AdvancedMeshSettings
property HfssSimulationSetup.curve_approx_settings#

Curve approximation settings Class.

Returns:
pyedb.dotnet.database.edb_data.hfss_simulation_setup_data.CurveApproxSettings
property HfssSimulationSetup.dcr_settings#

Dcr settings Class.

Returns:
pyedb.dotnet.database.edb_data.hfss_simulation_setup_data.DcrSettings
property HfssSimulationSetup.hfss_port_settings#

HFSS port settings Class.

Returns:
pyedb.dotnet.database.edb_data.hfss_simulation_setup_data.HfssPortSettings
property HfssSimulationSetup.mesh_operations#

Mesh operations settings Class.

Returns:
List of dotnet.database.edb_data.hfss_simulation_setup_data.MeshOperation

Method detail#

HfssSimulationSetup.add_length_mesh_operation(net_layer_list, name=None, max_elements=1000, max_length='1mm', restrict_elements=True, restrict_length=True, refine_inside=False, mesh_region=None)#

Add a mesh operation to the setup.

Parameters:
net_layer_listdict

Dictionary containing nets and layers on which enable Mesh operation. Example {"A0_N": ["TOP", "PWR"]}.

namestr, optional

Mesh operation name.

max_elementsint, optional

Maximum number of elements. Default is 1000.

max_lengthstr, optional

Maximum length of elements. Default is 1mm.

restrict_elementsbool, optional

Whether to restrict number of elements. Default is True.

restrict_lengthbool, optional

Whether to restrict length of elements. Default is True.

mesh_regionstr, optional

Mesh region name.

refine_insidebool, optional

Whether to refine inside or not. Default is False.

Returns:
dotnet.database.edb_data.hfss_simulation_setup_data.LengthMeshOperation
HfssSimulationSetup.add_skin_depth_mesh_operation(net_layer_list, name=None, max_elements=1000, skin_depth='1um', restrict_elements=True, surface_triangle_length='1mm', number_of_layers=2, refine_inside=False, mesh_region=None)#

Add a mesh operation to the setup.

Parameters:
net_layer_listdict

Dictionary containing nets and layers on which enable Mesh operation. Example {"A0_N": ["TOP", "PWR"]}.

namestr, optional

Mesh operation name.

max_elementsint, optional

Maximum number of elements. Default is 1000.

skin_depthstr, optional

Skin Depth. Default is 1um.

restrict_elementsbool, optional

Whether to restrict number of elements. Default is True.

surface_triangle_lengthbool, optional

Surface Triangle length. Default is 1mm.

number_of_layersint, str, optional

Number of layers. Default is 2.

mesh_regionstr, optional

Mesh region name.

refine_insidebool, optional

Whether to refine inside or not. Default is False.

Returns:
dotnet.database.edb_data.hfss_simulation_setup_data.LengthMeshOperation
HfssSimulationSetup.set_solution_single_frequency(frequency='5Ghz', max_num_passes=10, max_delta_s=0.02)#

Set single-frequency solution.

Parameters:
frequencystr, float, optional

Adaptive frequency. The default is 5GHz.

max_num_passesint, optional

Maximum number of passes. The default is 10.

max_delta_sfloat, optional

Maximum delta S. The default is 0.02.

Returns:
bool
HfssSimulationSetup.set_solution_multi_frequencies(frequencies=('5Ghz', '10Ghz'), max_num_passes=10, max_delta_s='0.02')#

Set multi-frequency solution.

Parameters:
frequencieslist, tuple, optional

List or tuple of adaptive frequencies. The default is 5GHz.

max_num_passesint, optional

Maximum number of passes. Default is 10.

max_delta_sfloat, optional

Maximum delta S. The default is 0.02.

Returns:
bool
HfssSimulationSetup.set_solution_broadband(low_frequency='5Ghz', high_frequency='10Ghz', max_num_passes=10, max_delta_s='0.02')#

Set broadband solution.

Parameters:
low_frequencystr, float, optional

Low frequency. The default is 5GHz.

high_frequencystr, float, optional

High frequency. The default is 10GHz.

max_num_passesint, optional

Maximum number of passes. The default is 10.

max_delta_sfloat, optional

Maximum Delta S. Default is 0.02.

Returns:
bool
HfssSimulationSetup.auto_mesh_operation(trace_ratio_seeding: float = 3, signal_via_side_number: int = 12, power_ground_via_side_number: int = 6) bool#

Automatically create and apply a length-based mesh operation for all nets in the design.

The method inspects every signal net, determines the smallest trace width, and seeds a LengthMeshOperation whose maximum element length is smallest_width * trace_ratio_seeding. Signal vias (padstack instances) are configured with the requested number of polygon sides, while power/ground vias are updated through the global num_via_sides advanced setting.

Parameters:
trace_ratio_seedingfloat, optional

Ratio used to compute the maximum allowed element length from the smallest trace width found in the design. The resulting length is min_width * trace_ratio_seeding. Defaults to 3.

signal_via_side_numberint, optional

Number of sides (i.e. faceting resolution) assigned to signal padstack instances that belong to the nets being meshed. Defaults to 12.

power_ground_via_side_numberint, optional

Number of sides assigned to power/ground vias via the global advanced.num_via_sides setting. Defaults to 6.

Returns:
bool
Raises:
ValueError

If the design contains no terminals, making mesh seeding impossible.

Notes

  • Only primitives of type "path" are considered when determining the smallest trace width.

  • Every (net, layer, sheet) tuple required by the mesher is automatically populated; sheet are explicitly marked as False.

  • Existing contents of mesh_operations are replaced by the single new operation.

Examples

>>> setup = edbapp.setups["my_setup"]
>>> setup.auto_mesh_operation(trace_ratio_seeding=4, signal_vias_side_number=16)
>>> setup.mesh_operations[0].max_length
'2.5um'