Skip to content

Commit a1ae88a

Browse files
FIX: Add solve_inside property in MeshOperation (#381)
1 parent f3a8dc5 commit a1ae88a

File tree

4 files changed

+24
-3
lines changed

4 files changed

+24
-3
lines changed

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==1.0.1",
29+
"ansys-api-edb==1.0.2",
3030
"protobuf>=3.19.3,<4",
3131
"grpcio>=1.44.0"
3232
]

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -958,6 +958,7 @@ def mesh_operation_message(mesh_op):
958958
refine_inside=mesh_op.refine_inside,
959959
mesh_region=mesh_op.mesh_region,
960960
net_layer_info=[_mesh_op_net_layer_message(*nl) for nl in mesh_op.net_layer_info],
961+
solve_inside=mesh_op.solve_inside,
961962
)
962963
if isinstance(mesh_op, LengthMeshOperation):
963964
mesh_op_msg.length_mesh_op.CopyFrom(_length_mesh_operation_message(mesh_op))

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,7 @@ def _to_mesh_op(message):
473473
mesh_op.enabled = message.enabled
474474
mesh_op.mesh_region = message.mesh_region
475475
mesh_op.refine_inside = message.refine_inside
476+
mesh_op.solve_inside = message.solve_inside
476477
for nli in message.net_layer_info:
477478
mesh_op.net_layer_info.append((nli.net, nli.layer, nli.is_sheet))
478479
return mesh_op

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

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ class MeshOperation:
1717
Whether to refine inside.
1818
mesh_region : str, default: ""
1919
Mesh region.
20+
solve_inside : bool, default: False
21+
Whether to solve inside.
2022
"""
2123

2224
def __init__(
@@ -26,13 +28,15 @@ def __init__(
2628
enabled=True,
2729
refine_inside=False,
2830
mesh_region="",
31+
solve_inside=False,
2932
):
3033
"""Create a mesh operation."""
3134
self._name = name
3235
self._net_layer_info = [] if net_layer_info is None else net_layer_info
3336
self._enabled = enabled
3437
self._refine_inside = refine_inside
3538
self._mesh_region = mesh_region
39+
self._solve_inside = solve_inside
3640

3741
@property
3842
def name(self):
@@ -83,6 +87,15 @@ def mesh_region(self):
8387
def mesh_region(self, mesh_region):
8488
self._mesh_region = mesh_region
8589

90+
@property
91+
def solve_inside(self):
92+
""":obj:`bool`: Flag indicating if solve inside is enabled."""
93+
return self._solve_inside
94+
95+
@solve_inside.setter
96+
def solve_inside(self, solve_inside):
97+
self._solve_inside = solve_inside
98+
8699

87100
class SkinDepthMeshOperation(MeshOperation):
88101
"""Represents a skin depth mesh operation.
@@ -100,6 +113,8 @@ class SkinDepthMeshOperation(MeshOperation):
100113
Whether to refine inside.
101114
mesh_region : str, default: ""
102115
Mesh region.
116+
solve_inside : bool, default: False
117+
Whether to solve inside.
103118
skin_depth : str, default: "1um"
104119
Skin depth.`.
105120
surface_triangle_length : str, default: "1mm"
@@ -119,14 +134,15 @@ def __init__(
119134
enabled=True,
120135
refine_inside=False,
121136
mesh_region="",
137+
solve_inside=False,
122138
skin_depth="1um",
123139
surface_triangle_length="1mm",
124140
num_layers="2",
125141
max_elements="1000",
126142
restrict_max_elements=False,
127143
):
128144
"""Create a skin depth mesh operation."""
129-
super().__init__(name, net_layer_info, enabled, refine_inside, mesh_region)
145+
super().__init__(name, net_layer_info, enabled, refine_inside, mesh_region, solve_inside)
130146
self._skin_depth = skin_depth
131147
self._surface_triangle_length = surface_triangle_length
132148
self._num_layers = num_layers
@@ -195,6 +211,8 @@ class LengthMeshOperation(MeshOperation):
195211
Whether to refine inside.
196212
mesh_region : str, default: ""
197213
Mesh region.
214+
solve_inside : bool, default: False
215+
Whether to solve inside.
198216
max_length : str, default: "1mm"
199217
maximum length of the mesh elements.
200218
restrict_max_length : str, default: True
@@ -212,13 +230,14 @@ def __init__(
212230
enabled=True,
213231
refine_inside=False,
214232
mesh_region="",
233+
solve_inside=False,
215234
max_length="1mm",
216235
restrict_max_length=True,
217236
max_elements="1000",
218237
restrict_max_elements=False,
219238
):
220239
"""Initialize an instance of a skin depth mesh operation."""
221-
super().__init__(name, net_layer_info, enabled, refine_inside, mesh_region)
240+
super().__init__(name, net_layer_info, enabled, refine_inside, mesh_region, solve_inside)
222241
self._max_length = max_length
223242
self._restrict_max_length = restrict_max_length
224243
self._max_elements = max_elements

0 commit comments

Comments
 (0)