Skip to content

Commit f3a8dc5

Browse files
authored
FIX: Added missing sim setup APIs (#378)
1 parent de54af5 commit f3a8dc5

File tree

9 files changed

+339
-37
lines changed

9 files changed

+339
-37
lines changed

doc/source/api/simulation_setup.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Classes
1010
:toctree: _autosummary
1111

1212
HFSSSimulationSettings
13+
HfssSimulationSetup
1314
HFSSGeneralSettings
1415
HFSSSettingsOptions
1516
HFSSSolverSettings
@@ -32,6 +33,9 @@ Classes
3233
SolverSettings
3334
SimulationSetup
3435
SweepData
36+
FreqSweepType
37+
HFSSRegionComputeResource
38+
InterpolatingSweepData
3539
RaptorXSimulationSettings
3640
RaptorXGeneralSettings
3741
RaptorXAdvancedSettings

doc/source/conf.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,3 +118,6 @@
118118

119119
# The master toctree document.
120120
master_doc = "index"
121+
122+
# Ignore the following links during link checking
123+
linkcheck_ignore = ["https://www.ansys.com/products/electronics"]

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ classifiers = [
2626

2727
# FIXME: add ansys-api-edb version
2828
dependencies = [
29-
"ansys-api-edb",
29+
"ansys-api-edb==1.0.1",
3030
"protobuf>=3.19.3,<4",
3131
"grpcio>=1.44.0"
3232
]

src/ansys/edb/core/inner/messages.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@
7171
AdaptiveMultiFrequencyDataMessage,
7272
BroadbandFrequencyAdaptiveSolutionMessage,
7373
MatrixConvergenceDataMessage,
74-
MatrixConvergenceEntryMessage,
7574
MultiFrequencyAdaptiveSolutionMessage,
7675
SingleFrequencyAdaptiveSolutionMessage,
7776
)
@@ -120,6 +119,7 @@
120119
from ansys.api.edb.v1.port_post_processing_prop_pb2 import PortPostProcessingPropMessage
121120
from ansys.api.edb.v1.refs_pb2 import LayerRefMessage, LayerRefPropertyMessage, NetRefMessage
122121
from ansys.api.edb.v1.rlc_pb2 import RlcMessage
122+
from ansys.api.edb.v1.simulation_setup_pb2 import MatrixConvergenceEntryMessage
123123
from ansys.api.edb.v1.sparameter_model_pb2 import SParameterModelMessage
124124
from ansys.api.edb.v1.spice_model_pb2 import SpiceModelMessage, SpiceModelNewTerminalPinMessage
125125
from ansys.api.edb.v1.structure3d_pb2 import ClosureMessage, SetClosureMessage
@@ -1300,10 +1300,10 @@ def cpos_3d_double_message(pos, value):
13001300
return CPos3DDoubleMessage(pos=cpos_3d_message(pos), value=value)
13011301

13021302

1303-
def mx_convergence_data_msg(mx_data):
1304-
"""Convert to a ``MatrixConvergenceDataMessage`` object."""
1303+
def mx_convergence_entry_msg_list(mx_convergence_entry_list):
1304+
"""Convert to a list ``of MatrixConvergenceEntryMessage`` objects."""
13051305
mx_entry_msgs = []
1306-
for mx_entry in mx_data.entry_list:
1306+
for mx_entry in mx_convergence_entry_list:
13071307
mx_entry_msgs.append(
13081308
MatrixConvergenceEntryMessage(
13091309
port_1=mx_entry.port_1_name,
@@ -1312,13 +1312,17 @@ def mx_convergence_data_msg(mx_data):
13121312
phase_limit=mx_entry.phase_limit,
13131313
)
13141314
)
1315+
return mx_entry_msgs
1316+
13151317

1318+
def mx_convergence_data_msg(mx_data):
1319+
"""Convert to MatrixConvergenceDataMessage."""
13161320
return MatrixConvergenceDataMessage(
13171321
all_are_constant=mx_data.all_constant,
13181322
all_diag_are_constant=mx_data.all_diag_constant,
13191323
all_off_diag_are_constant=mx_data.all_off_diag_constant,
13201324
mag_min_threashold=mx_data.mag_min_threshold,
1321-
entries=mx_entry_msgs,
1325+
entries=mx_convergence_entry_msg_list(mx_data.entry_list),
13221326
)
13231327

13241328

src/ansys/edb/core/simulation_setup/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@
4141
ViaStyle,
4242
)
4343
from ansys.edb.core.simulation_setup.simulation_setup import (
44+
FreqSweepType,
45+
HFSSRegionComputeResource,
46+
InterpolatingSweepData,
4447
SimulationSetup,
4548
SimulationSetupType,
4649
SweepData,

src/ansys/edb/core/simulation_setup/hfss_simulation_settings.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,15 @@ def relative_residual(self):
282282
def relative_residual(self, relative_residual):
283283
self.__stub.SetRelativeResidual(messages.double_property_message(self, relative_residual))
284284

285+
@property
286+
def use_shell_elements(self):
287+
""":class:`bool`: Flag indicating whether to use shell elements."""
288+
return self.__stub.GetUseShellElements(self.msg).value
289+
290+
@use_shell_elements.setter
291+
def use_shell_elements(self, use_shell_elements):
292+
self.__stub.SetUseShellElements(messages.bool_property_message(self, use_shell_elements))
293+
285294
@property
286295
def enhanced_low_frequency_accuracy(self):
287296
""":obj:`bool`: Flag indicating if enhanced low-frequency accuracy is enabled during simulation."""

src/ansys/edb/core/simulation_setup/simulation_settings.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,15 @@ def lamda_target(self):
7979
def lamda_target(self, lamda_target):
8080
self.__stub.SetLamdaTarget(messages.double_property_message(self, lamda_target))
8181

82+
@property
83+
def mesh_size_factor(self):
84+
""":obj:`float`: Mesh size factor used for lambda refinement."""
85+
return self.__stub.GetMeshSizefactor(self.msg).value
86+
87+
@mesh_size_factor.setter
88+
def mesh_size_factor(self, mesh_size_factor):
89+
self.__stub.SetMeshSizefactor(messages.double_property_message(self, mesh_size_factor))
90+
8291
@property
8392
def use_default_lamda_value(self):
8493
""":obj:`bool`: Flag indicating if the default lambda target value is used."""
@@ -134,6 +143,15 @@ def remove_floating_geometry(self, remove_floating_geometry):
134143
messages.bool_property_message(self, remove_floating_geometry)
135144
)
136145

146+
@property
147+
def healing_option(self):
148+
""":obj:`int`: Enable/disable healing of mis-aligned points and edges."""
149+
return self.__stub.GetHealingOption(self.msg).value
150+
151+
@healing_option.setter
152+
def healing_option(self, healing_option):
153+
self.__stub.SetHealingOption(messages.int_property_message(self, healing_option))
154+
137155
@property
138156
def defeature_absolute_length(self):
139157
""":obj:`str`: Absolute length used as tolerance when defeaturing polygons."""

0 commit comments

Comments
 (0)