keysight.ads.subst
Substrate module.
Automate substrate creation and editing using the keysight.ads.subst package. This is typically
imported as:
from keysight.ads import subst
Classes
- class keysight.ads.subst.BoundingAreaLayerType
Specifies whether an object has a bounding area layer.
- INHERIT = <BoundingAreaLayerType.INHERIT: 1>
This object does inherits the bounding area layer (if defined) from the substrate.
- NONE = <BoundingAreaLayerType.NONE: 0>
This object does not have a bounding area layer.
- SPECIFIED = <BoundingAreaLayerType.SPECIFIED: 2>
This object does have a bounding area layer.
- class keysight.ads.subst.HorizontalItem
Base class for MaterialItem and InterfaceItem.
- property bounding_area_layer: int
Specifies the bounding area layer of this object if the type is specified.
- property bounding_area_layer_type: BoundingAreaLayerType
- property effective_bound_layer: int
- get_thickness_mks() float
- get_thickness_mks_expr() str
- property is_bound: bool
- property material_name: str
- property thickness: float | None
- property thickness_expr: str
- property thickness_is_number: bool
- class keysight.ads.subst.InterfaceItem
Represents an infinitely thin interface sandwiched between two materials.
- class Purpose
Specifies how this interface is used.
- COVER = <Purpose.COVER: 2>
- SLOT = <Purpose.SLOT: 1>
- STRIP = <Purpose.STRIP: 0>
- convert_to_cover() None
- property is_cover: bool
- property is_non_cover_placeholder: bool
Is this interface a placeholder for a cover?
- property is_termination: bool
Is this cover a 377 Ohm termination?
- remove_cover() None
- class keysight.ads.subst.LayerItem
Represents a layer of metal defined on an interface.
- property bottom_roughness: str
- property expand: bool
Does this expand the material above or below?
- property interface: InterfaceItem
- property interface_index: int
- interface_is_forbidden(interface: InterfaceItem) bool
Is this layer allowed not allowed on the interface?
- property is_above: bool
Is this layer item above the interface?
- property negative: bool
Is this a slot layer item?
- property pins_only: bool
- property sheet: bool
Is this a sheet that does not expand or intrude into the material above or below?
- property thermal_layer_name: str
- property top_roughness: str
- class keysight.ads.subst.MaterialItem
Represents a slab of material (typically a dielectric) separated from the next slab by an interface.
- property is_bottom_infinite_material: bool
Is this material the bottom material and is it covered?
- property is_infinite_material: bool
Is this material the bottom or top material and is it covered?
- property is_top_infinite_material: bool
Is this material the top material and is it covered?
- class keysight.ads.subst.Materials
- __init__() None
- property conductors: NamedMutableCollectionAbc[SubstrateConductor]
- property dielectrics: NamedMutableCollectionAbc[SubstrateDielectric]
- property roughness: NamedMutableCollectionAbc[Roughness]
- property semiconductors: NamedMutableCollectionAbc[SubstrateSemiconductor]
- property superconductors: NamedMutableCollectionAbc[SubstrateSuperconductor]
- class keysight.ads.subst.Roughness
- __init__(name: str) None
- property bbase: str
- property dpeaks: str
- property huray_a_flat: str
- property huray_n: str
- property huray_r: str
- property huray_ratio_of_a: str
- property is_encrypted: bool
- property is_foreign: bool
- property l2bbase: str
- property l2dpeaks: str
- property l2rough: str
- property l3bbase: str
- property l3dpeaks: str
- property l3rough: str
- property model_type: RoughnessModelType
- property name: str
- property rough: str
- class keysight.ads.subst.Substrate
The main class for substrate data.
- property all_layer_numbers: list[int]
- property all_material_names: list[str]
- property bottom_of_board_interface_index: int
- property bounding_area_layer: int
Specifies the bounding area layer of this substrate if the type is specified.
- property bounding_area_layer_type: BoundingAreaLayerType
- delete_layer_indexed(index: int) None
- delete_material_and_interface_indexed(material_index: int, interface_index: int) None
- delete_substrate_indexed(index: int) None
- delete_via_indexed(index: int) None
- find_layer_name_from_number(number: int) str
- find_layer_number_from_name(name: str) int
- get_interface(index: int) InterfaceItem
- get_interface_above(material: MaterialItem) InterfaceItem
- get_interface_below(material: MaterialItem) InterfaceItem
- get_interface_index(interface: InterfaceItem) int
- get_layers_on_interface(interface: InterfaceItem) list[LayerItem]
- get_layers_on_interface_matching_role(interface: InterfaceItem, role: ProcessRole) list[LayerItem]
- get_material(index: int) MaterialItem
- get_material_above(interface: InterfaceItem) MaterialItem
- get_material_below(interface: InterfaceItem) MaterialItem
- get_material_index(material: MaterialItem) int
- get_substrates_on_interface(interface: InterfaceItem) list[SubstrateItem]
- get_vias_intersecting_material(material: MaterialItem) list[ViaItem]
- property has_bottom_cover: bool
- property has_top_cover: bool
- insert_conductor_via(index_or_interface_1: int | InterfaceItem, index_or_interface_2: int | InterfaceItem) ViaItem
- insert_dielectric_via(index_or_interface_1: int | InterfaceItem, index_or_interface_2: int | InterfaceItem) ViaItem
- insert_layer(index_or_interface: int | InterfaceItem, process_role: ProcessRole, model_type: ModelType = ModelType.USE_DEFAULT) LayerItem
- insert_material_and_interface_above(material_index: int) None
- insert_material_and_interface_below(material_index: int) None
- insert_semiconductor_via(index_or_interface_1: int | InterfaceItem, index_or_interface_2: int | InterfaceItem) ViaItem
- insert_substrate(index_or_interface: int | InterfaceItem) SubstrateItem
- insert_through_silicon_via(index_or_interface_1: int | InterfaceItem, index_or_interface_2: int | InterfaceItem) ViaItem
- insert_via(index_or_interface_1: int | InterfaceItem, index_or_interface_2: int | InterfaceItem, process_role: ProcessRole, model_type: ModelType = ModelType.USE_DEFAULT) ViaItem
- interface_index_in_use(index: int) bool
- property interfaces: list[InterfaceItem]
- is_bottom_interface(interface: InterfaceItem) bool
- property is_modified: bool
- property is_read_only: bool
- is_top_interface(interface: InterfaceItem) bool
- property is_writable: bool
Is the library file for this substrate writable?
- property materials: list[MaterialItem]
- merge_vias_on_same_layer() None
- property name: str
Name of the substrate (must be unique in the library).
- property purposes_to_exclude: list[str] | None
Shapes using these purposes will be excluded by EM simulations.
- property purposes_to_include: list[str] | None
Shapes using only these purposes will be included by EM simulations.
- property roughness_models: list[str]
- save_substrate() None
- property substrates: list[SubstrateItem]
- property top_interface: InterfaceItem
- property top_interface_index: int
- property top_material: MaterialItem
- property top_material_index: int
- property top_of_board_interface_index: int
- class keysight.ads.subst.SubstrateConductor
- __init__(name: str) None
- property imag: str
- property mur_imag: str
- property mur_real: str
- property parameter_type: ConductorParamType
- property real: str
- property tc1: str
- property tc2: str
- property tnom: str
- class keysight.ads.subst.SubstrateDielectric
- __init__(name: str) None
- property er_imag: str
- property er_loss_tangent: str
- property er_real: str
- property high_freq: str
- property loss_type: DielectricLossType
- property low_freq: str
- property mur_imag: str
- property mur_real: str
- property value_freq: str
- class keysight.ads.subst.SubstrateItem
Represents a nested substrate defined on an interface.
- class AlignPosition
When aligning by layer, specifies what part of the layer on the nested substrate item aligns with the parent substrate interface.
- BOTTOM_OF_LAYER = <AlignPosition.BOTTOM_OF_LAYER: 1>
- TOP_OF_LAYER = <AlignPosition.TOP_OF_LAYER: 0>
- class AlignType
Specifies how the nested substrate item aligns with the interface on which it lives.
- BOTTOM = <AlignType.BOTTOM: 0>
The bottom interface of the nested substrate item aligns with the parent substrate interface.
- LAYER = <AlignType.LAYER: 2>
A layer on the nested substrate item aligns with the parent substrate interface.
- TOP = <AlignType.TOP: 1>
The top interface of the nested substrate item aligns with the parent substrate interface.
- property align_layer_name: str
Name of the layer to use for alignment if this item aligns by layer.
- property alignment_position: AlignPosition
Specifies whether this substrate item is above or below the layer when aligning by layer.
- property interface: InterfaceItem
- property interface_index: int
- property is_flipped: bool
- property is_nested_tech_enabled: bool
Can this substrate item use nested technology?
- property layer_map: str
- property layer_map_lib_name: str
- property library_name: str
Name of the nested technology library for this substrate item.
- property offset: float
- property precedence: int
Specifies the increase in precedence for the items on this substrate item.
- set_library_and_substrate_names(library_name: str, substrate_name: str) None
- property substrate_name: str
Name of the nested technology substrate for this substrate item.
- class keysight.ads.subst.SubstrateMaterial
Base class for materials.
- property is_encrypted: bool
- property is_foreign: bool
- property mean_free_electron_path: str
- property name: str
- property thermal_conductivity: str
- property thermal_conductivity_in_z: str
- property volumetric_heat_capacity: str
- class keysight.ads.subst.SubstrateSemiconductor
- __init__(name: str) None
- property doping: SemiconductorDoping
- property er_real: str
- property mur_imag: str
- property mur_real: str
- property resistivity: str
- class keysight.ads.subst.SubstrateSuperconductor
- __init__(name: str) None
- property critical_temp: str
- property london_depth_at_0_k: str
- property mur_imag: str
- property mur_real: str
- property parameter_type: ConductorParamType
- property real: str
- class keysight.ads.subst.VerticalItem
Base class for LayerItem, ViaItem and SubstrateItem.
- class ModelType
Specifies different ways that Vias can be modeled.
- CONDUCTOR_VIA_AS_THROUGH_SILICON_VIA = <ModelType.CONDUCTOR_VIA_AS_THROUGH_SILICON_VIA: 1>
- THICK_CONDUCTOR = <ModelType.THICK_CONDUCTOR: 2>
- USE_DEFAULT = <ModelType.USE_DEFAULT: 0>
- property angle_expr: str
- property angle_is_number: bool
- get_thickness_mks() float
- get_thickness_mks_expr() str
- property layer_number: int
- property material_name: str
- property precedence: int
- property process_role: ProcessRole
- property thickness: float | None
- property thickness_expr: str
- property thickness_is_number: bool
- property used_for_em_simulation: bool
- class keysight.ads.subst.ViaItem
Represents a via connecting two interfaces.
- class DepletionMode
Specifies how the depletion mode is modeled for through silicon vias.
- DEEP = <DepletionMode.DEEP: 3>
- HF = <DepletionMode.HF: 1>
- LF = <DepletionMode.LF: 2>
- NONE = <DepletionMode.NONE: 0>
- class PinSide
Specifies the pin side for thick conductors.
- BOTTOM = <PinSide.BOTTOM: 1>
- TOP = <PinSide.TOP: 0>
- property bias_voltage: float | None
Bias voltage if this is a through silicon via.
- property bias_voltage_expr: str | None
- property bias_voltage_is_number: bool
- property depletion_mode: DepletionMode | None
Depletion mode if this is a through silicon via.
- property fixed_charge: float | None
Fixed charge if this is a through silicon via.
- property fixed_charge_expr: str | None
- property fixed_charge_is_number: bool
- get_liner_thickness_mks() float
- get_liner_thickness_mks_expr() str
- get_plating_thickness_mks() float
- get_plating_thickness_mks_expr() str
- property is_conductor_via: bool
- property is_plating_enabled: bool
Is this a plated via?
- property is_thick_conductor: bool
- property is_through_silicon_via: bool
Is this a through silicon via?
- property liner_material_name: str | None
Name of the liner material if this is a plated via.
- property liner_thickness: float | None
- property liner_thickness_expr: str | None
- property liner_thickness_is_number: bool
Thickness of the liner if this is a through silicon via.
- property liner_thickness_unit: Unit | None
Unit for liner thickness if this is a through silicon via.
- property lower_interface: InterfaceItem
- property lower_interface_index: int
- property plating_dielectric_material_name: str | None
Name of the plating dielectric material if this is a plated via.
- property plating_thickness: float | None
Thickness of the plating if this is a plated via.
- property plating_thickness_expr: str | None
- property plating_thickness_is_number: bool
- property roughness: str
- swap_interfaces() None
- property upper_interface: InterfaceItem
- property upper_interface_index: int
Enumerated Types
- class keysight.ads.subst.ConductorParamType
- RESISTANCE = <ConductorParamType.RESISTANCE: 0>
- CONDUCTANCE = <ConductorParamType.CONDUCTANCE: 1>
- RESISTIVITY = <ConductorParamType.RESISTIVITY: 2>
- class keysight.ads.subst.DielectricLossType
- FREQUENCY_INDEPENDENT = <DielectricLossType.FREQUENCY_INDEPENDENT: 0>
- SVENSSON_DJORDJEVIC = <DielectricLossType.SVENSSON_DJORDJEVIC: 1>
- class keysight.ads.subst.Material
Specifies the type of material.
- CONDUCTOR = <Material.CONDUCTOR: 0>
- SEMICONDUCTOR = <Material.SEMICONDUCTOR: 1>
- SUPERCONDUCTOR = <Material.SUPERCONDUCTOR: 2>
- DIELECTRIC = <Material.DIELECTRIC: 3>
- class keysight.ads.subst.RoughnessModelType
- SMOOTH = <RoughnessModelType.SMOOTH: 0>
- HAMMERSTAD = <RoughnessModelType.HAMMERSTAD: 1>
- HEMISPHERICAL = <RoughnessModelType.HEMISPHERICAL: 2>
- HURAY = <RoughnessModelType.HURAY: 3>
Functions
- keysight.ads.subst.copy_predefined_materials() Materials
Return a copy of the predefined materials database.
- keysight.ads.subst.create_substrate_from_template(library: Library, subst_name: str, template_name: str | None = None) Substrate
- keysight.ads.subst.get_superconductor_names(library: Library, this_lib_only: bool = True) list[str]
- keysight.ads.subst.load_materials(filename: str) Materials
Return a copy of the materials database.