Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FEATURE: Restructure imports to remove circular imports #400

Merged
merged 6 commits into from
Jun 12, 2024
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions notebooks/assign_ds_model.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
" material = i.get_material()\n",
" \n",
" if 'DIELECTRIC_LAYER' in str(layer_type):\n",
" matmodel = material_def.MaterialDef.find_by_name(db,material)\n",
" matmodel = MaterialDef.find_by_name(db,material)\n",
" matmodel.dielectric_material_model= DjordjecvicSarkarModel.create()\n",
" print(f\"Assigned DS model to Layer '{name}'\")"
]
Expand All @@ -124,10 +124,17 @@
"source": [
"%run helpers/example_teardown.ipynb"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "cd20b8a1-1089-44fe-ac38-38df183eb981",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
},
"metadata": {},
"nbformat": 4,
"nbformat_minor": 5
}
}
262 changes: 250 additions & 12 deletions notebooks/helpers/example_setup.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,248 @@
"import os, sys, pathlib, ipynbname, glob, shutil\n",
"import ansys.edb\n",
"\n",
"from ansys.edb.core.database import *\n",
"from ansys.edb.core.definition import *\n",
"from ansys.edb.core.geometry import *\n",
"from ansys.edb.core.hierarchy import *\n",
"from ansys.edb.core.layer import *\n",
"from ansys.edb.core.layout import *\n",
"from ansys.edb.core.layout_instance import *\n",
"from ansys.edb.core.net import *\n",
"from ansys.edb.core.primitive import *\n",
"from ansys.edb.core.simulation_setup import *\n",
"from ansys.edb.core.terminal import *\n",
"from ansys.edb.core.utility import *\n",
"from ansys.edb.core.database import Database\n",
"\n",
"\"\"\"Import definition classes.\"\"\"\n",
"\n",
"from ansys.edb.core.definition.bondwire_def import (\n",
" ApdBondwireDef,\n",
" BondwireDef,\n",
" BondwireDefType,\n",
" Jedec4BondwireDef,\n",
" Jedec5BondwireDef,\n",
")\n",
"from ansys.edb.core.definition.component_def import ComponentDef\n",
"from ansys.edb.core.definition.component_model import (\n",
" ComponentModel,\n",
" DynamicLinkComponentModel,\n",
" NPortComponentModel,\n",
")\n",
"from ansys.edb.core.definition.component_pin import ComponentPin\n",
"from ansys.edb.core.definition.component_property import ComponentProperty\n",
"from ansys.edb.core.definition.dataset_def import DatasetDef\n",
"from ansys.edb.core.definition.debye_model import DebyeModel\n",
"from ansys.edb.core.definition.die_property import DieOrientation, DieProperty, DieType\n",
"from ansys.edb.core.definition.dielectric_material_model import (\n",
" DielectricMaterialModel,\n",
" DielectricMaterialModelType,\n",
")\n",
"from ansys.edb.core.definition.djordjecvic_sarkar_model import DjordjecvicSarkarModel\n",
"from ansys.edb.core.definition.ic_component_property import ICComponentProperty\n",
"from ansys.edb.core.definition.io_component_property import IOComponentProperty\n",
"from ansys.edb.core.definition.material_def import MaterialDef, MaterialProperty, ThermalModifier\n",
"from ansys.edb.core.definition.material_property_thermal_modifier import (\n",
" MaterialPropertyThermalModifier,\n",
")\n",
"from ansys.edb.core.definition.multipole_debye_model import MultipoleDebyeModel\n",
"from ansys.edb.core.definition.package_def import PackageDef\n",
"from ansys.edb.core.definition.padstack_def import PadstackDef\n",
"from ansys.edb.core.definition.padstack_def_data import (\n",
" PadGeometryType,\n",
" PadstackDefData,\n",
" PadstackHoleRange,\n",
" PadType,\n",
" SolderballPlacement,\n",
" SolderballShape,\n",
")\n",
"from ansys.edb.core.definition.port_property import PortProperty\n",
"from ansys.edb.core.definition.rlc_component_property import RLCComponentProperty\n",
"from ansys.edb.core.definition.solder_ball_property import SolderBallProperty\n",
"from ansys.edb.core.edb_defs import DefinitionObjType\n",
"\n",
"\"\"\"Import geometry classes.\"\"\"\n",
"\n",
"from ansys.edb.core.geometry.arc_data import ArcData\n",
"from ansys.edb.core.geometry.point3d_data import Point3DData\n",
"from ansys.edb.core.geometry.point_data import PointData\n",
"from ansys.edb.core.geometry.polygon_data import ExtentType, PolygonData, PolygonSenseType\n",
"from ansys.edb.core.geometry.r_tree import RTree\n",
"from ansys.edb.core.geometry.triangle3d_data import Triangle3DData\n",
"\n",
"\"\"\"Import hierarchy classes.\"\"\"\n",
"\n",
"from ansys.edb.core.hierarchy.cell_instance import CellInstance\n",
"from ansys.edb.core.hierarchy.component_group import ComponentGroup, ComponentType\n",
"from ansys.edb.core.hierarchy.group import Group\n",
"from ansys.edb.core.hierarchy.inst_array import InstArray\n",
"from ansys.edb.core.hierarchy.model import Model\n",
"from ansys.edb.core.hierarchy.netlist_model import NetlistModel\n",
"from ansys.edb.core.hierarchy.pin_group import PinGroup\n",
"from ansys.edb.core.hierarchy.pin_pair_model import PinPairModel\n",
"from ansys.edb.core.hierarchy.sparameter_model import SParameterModel\n",
"from ansys.edb.core.hierarchy.spice_model import SPICEModel\n",
"from ansys.edb.core.hierarchy.structure3d import MeshClosure, Structure3D\n",
"from ansys.edb.core.hierarchy.via_group import ViaGroup\n",
"\n",
"\"\"\"Import layer classes.\"\"\"\n",
"\n",
"from ansys.edb.core.layer.layer import (\n",
" DrawOverride,\n",
" Layer,\n",
" LayerType,\n",
" LayerVisibility,\n",
" TopBottomAssociation,\n",
")\n",
"from ansys.edb.core.layer.layer_collection import (\n",
" DielectricMergingMethod,\n",
" LayerCollection,\n",
" LayerCollectionMode,\n",
" LayerTypeSet,\n",
")\n",
"from ansys.edb.core.layer.stackup_layer import DCThicknessType, RoughnessRegion, StackupLayer\n",
"from ansys.edb.core.layer.via_layer import ViaLayer\n",
"\n",
"\"\"\"Import layout classes.\"\"\"\n",
"\n",
"from ansys.edb.core.layout.cell import Cell, CellType, DesignMode\n",
"from ansys.edb.core.layout.layout import Layout\n",
"from ansys.edb.core.layout.mcad_model import McadModel\n",
"from ansys.edb.core.layout.voltage_regulator import PowerModule, VoltageRegulator\n",
"\n",
"\"\"\"Import layout instance classes.\"\"\"\n",
"\n",
"from ansys.edb.core.layout_instance.layout_instance import LayoutInstance\n",
"from ansys.edb.core.layout_instance.layout_instance_context import LayoutInstanceContext\n",
"from ansys.edb.core.layout_instance.layout_obj_instance import LayoutObjInstance\n",
"from ansys.edb.core.layout_instance.layout_obj_instance_2d_geometry import (\n",
" LayoutObjInstance2DGeometry,\n",
")\n",
"from ansys.edb.core.layout_instance.layout_obj_instance_3d_geometry import (\n",
" LayoutObjInstance3DGeometry,\n",
")\n",
"from ansys.edb.core.layout_instance.layout_obj_instance_geometry import LayoutObjInstanceGeometry\n",
"\n",
"\"\"\"Import net classes.\"\"\"\n",
"\n",
"from ansys.edb.core.net.differential_pair import DifferentialPair\n",
"from ansys.edb.core.net.extended_net import ExtendedNet\n",
"from ansys.edb.core.net.net import Net\n",
"from ansys.edb.core.net.net_class import NetClass\n",
"\n",
"\"\"\"Import primitive classes.\"\"\"\n",
"\n",
"from ansys.edb.core.primitive.primitive import (\n",
" BackDrillType,\n",
" BoardBendDef,\n",
" Bondwire,\n",
" BondwireCrossSectionType,\n",
" BondwireType,\n",
" Circle,\n",
" PadstackInstance,\n",
" Path,\n",
" PathCornerType,\n",
" PathEndCapType,\n",
" Polygon,\n",
" Primitive,\n",
" PrimitiveType,\n",
" Rectangle,\n",
" RectangleRepresentationType,\n",
" Text,\n",
")\n",
"\n",
"\"\"\"Import simulation setup classes.\"\"\"\n",
"\n",
"from ansys.edb.core.simulation_setup.adaptive_solutions import (\n",
" AdaptiveFrequency,\n",
" BroadbandAdaptiveSolution,\n",
" MatrixConvergenceData,\n",
" MatrixConvergenceDataEntry,\n",
" MultiFrequencyAdaptiveSolution,\n",
" SingleFrequencyAdaptiveSolution,\n",
")\n",
"from ansys.edb.core.simulation_setup.hfss_simulation_settings import (\n",
" AdaptType,\n",
" BasisFunctionOrder,\n",
" HFSSAdvancedMeshingSettings,\n",
" HFSSAdvancedSettings,\n",
" HFSSDCRSettings,\n",
" HFSSGeneralSettings,\n",
" HFSSSettingsOptions,\n",
" HFSSSimulationSettings,\n",
" HFSSSolverSettings,\n",
" SolverType,\n",
")\n",
"from ansys.edb.core.simulation_setup.hfss_simulation_setup import HfssSimulationSetup\n",
"from ansys.edb.core.simulation_setup.mesh_operation import (\n",
" LengthMeshOperation,\n",
" MeshOperation,\n",
" SkinDepthMeshOperation,\n",
")\n",
"from ansys.edb.core.simulation_setup.raptor_x_simulation_settings import (\n",
" RaptorXAdvancedSettings,\n",
" RaptorXGeneralSettings,\n",
" RaptorXSimulationSettings,\n",
")\n",
"from ansys.edb.core.simulation_setup.raptor_x_simulation_setup import RaptorXSimulationSetup\n",
"from ansys.edb.core.simulation_setup.simulation_settings import (\n",
" AdvancedMeshingSettings,\n",
" AdvancedSettings,\n",
" SettingsOptions,\n",
" SimulationSettings,\n",
" SolverSettings,\n",
" ViaStyle,\n",
")\n",
"from ansys.edb.core.simulation_setup.simulation_setup import (\n",
" FreqSweepType,\n",
" HFSSRegionComputeResource,\n",
" InterpolatingSweepData,\n",
" SimulationSetup,\n",
" SimulationSetupType,\n",
" SweepData,\n",
")\n",
"from ansys.edb.core.simulation_setup.siwave_dcir_simulation_settings import (\n",
" SIWaveDCIRSimulationSettings,\n",
")\n",
"from ansys.edb.core.simulation_setup.siwave_dcir_simulation_setup import SIWaveDCIRSimulationSetup\n",
"from ansys.edb.core.simulation_setup.siwave_simulation_settings import (\n",
" SIWaveAdvancedSettings,\n",
" SIWaveDCAdvancedSettings,\n",
" SIWaveDCSettings,\n",
" SIWaveGeneralSettings,\n",
" SIWaveSimulationSettings,\n",
" SIWaveSParameterSettings,\n",
" SParamDCBehavior,\n",
" SParamExtrapolation,\n",
" SParamInterpolation,\n",
")\n",
"from ansys.edb.core.simulation_setup.siwave_simulation_setup import SIWaveSimulationSetup\n",
"\n",
"\"\"\"Import terminal classes.\"\"\"\n",
"\n",
"from ansys.edb.core.terminal.terminals import (\n",
" BoundaryType,\n",
" BundleTerminal,\n",
" Edge,\n",
" EdgeTerminal,\n",
" EdgeType,\n",
" HfssPIType,\n",
" PadEdge,\n",
" PadstackInstanceTerminal,\n",
" PinGroupTerminal,\n",
" PointTerminal,\n",
" PrimitiveEdge,\n",
" SourceTermToGroundType,\n",
" Terminal,\n",
" TerminalInstance,\n",
" TerminalInstanceTerminal,\n",
" TerminalType,\n",
")\n",
"\n",
"\"\"\"Import utility classes.\"\"\"\n",
"\n",
"from ansys.edb.core.utility.heat_sink import HeatSink\n",
"from ansys.edb.core.utility.hfss_extent_info import HfssExtentInfo\n",
"from ansys.edb.core.utility.material_property_thermal_modifier_params import (\n",
" AdvancedQuadraticParams,\n",
" BasicQuadraticParams,\n",
")\n",
"from ansys.edb.core.utility.port_post_processing_prop import PortPostProcessingProp\n",
"from ansys.edb.core.utility.rlc import PinPair, PinPairRlc, Rlc\n",
"from ansys.edb.core.utility.temperature_settings import TemperatureSettings\n",
"from ansys.edb.core.utility.transform3d import Transform3D\n",
"from ansys.edb.core.utility.transform import Transform\n",
"from ansys.edb.core.utility.value import Value\n",
"\n",
"from ansys.edb.core.session import launch_session"
]
},
Expand Down Expand Up @@ -104,6 +334,14 @@
" gnd_net = Net.create(layout, 'GND')\n",
" print('clean design created with default db, cell, layout, gnd_net variables.')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c7cef147-521a-4d05-be8f-46e00f326420",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {},
Expand Down
18 changes: 13 additions & 5 deletions notebooks/stackup_export.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@
" full_material = i.get_fill_material()\n",
" \n",
" if 'SIGNAL_LAYER' in str(layer_type):\n",
" matmodel = material_def.MaterialDef.find_by_name(db,i.get_material())\n",
" Sigma = matmodel.get_property(material_def.MaterialProperty.CONDUCTIVITY).value\n",
" matmodel = MaterialDef.find_by_name(db,i.get_material())\n",
" Sigma = matmodel.get_property(MaterialProperty.CONDUCTIVITY).value\n",
" x = (name,\n",
" layer_type,\n",
" material,\n",
Expand All @@ -108,9 +108,9 @@
" lower_elevation,\n",
" full_material) \n",
" elif 'DIELECTRIC_LAYER' in str(layer_type):\n",
" matmodel = material_def.MaterialDef.find_by_name(db,i.get_material())\n",
" Td = matmodel.get_property(material_def.MaterialProperty.DIELECTRIC_LOSS_TANGENT).value\n",
" Er = matmodel.get_property(material_def.MaterialProperty.PERMITTIVITY).value\n",
" matmodel = MaterialDef.find_by_name(db,i.get_material())\n",
" Td = matmodel.get_property(MaterialProperty.DIELECTRIC_LOSS_TANGENT).value\n",
" Er = matmodel.get_property(MaterialProperty.PERMITTIVITY).value\n",
" x = (name,\n",
" layer_type,\n",
" material,\n",
Expand Down Expand Up @@ -188,6 +188,14 @@
"source": [
"%run helpers/example_teardown.ipynb"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "89775208-3cd1-49ca-ac16-fbeb54e57fec",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {},
Expand Down
14 changes: 7 additions & 7 deletions src/ansys/edb/core/database.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@
import ansys.api.edb.v1.edb_defs_pb2 as edb_defs_pb2
import google.protobuf.wrappers_pb2 as proto_wrappers

from ansys.edb.core.definition import (
from ansys.edb.core.definition.bondwire_def import (
ApdBondwireDef,
BondwireDefType,
ComponentDef,
DatasetDef,
Jedec4BondwireDef,
Jedec5BondwireDef,
MaterialDef,
PackageDef,
PadstackDef,
)
from ansys.edb.core.definition.component_def import ComponentDef
from ansys.edb.core.definition.dataset_def import DatasetDef
from ansys.edb.core.definition.material_def import MaterialDef
from ansys.edb.core.definition.package_def import PackageDef
from ansys.edb.core.definition.padstack_def import PadstackDef
from ansys.edb.core.edb_defs import DefinitionObjType
from ansys.edb.core.inner import ObjBase, variable_server
from ansys.edb.core.inner.messages import (
Expand All @@ -29,7 +29,7 @@
str_message,
)
from ansys.edb.core.inner.utils import map_list
from ansys.edb.core.layout import Cell
from ansys.edb.core.layout.cell import Cell
from ansys.edb.core.session import DatabaseServiceStub, StubAccessor, StubType


Expand Down
Loading
Loading